- 取得連結
- X
- 以電子郵件傳送
- 其他應用程式
精選文章
- 取得連結
- X
- 以電子郵件傳送
- 其他應用程式
MyParrot records each side of a Mac call into its own audio channel, so nothing has to guess who said what, and no bot joins the meeting. Free, MIT licensed, signed and notarized: https://github.com/tingyulu/MyParrot
Recording meetings had me stuck for a long time.
Most days I'm on Zoom or Google Meet, coaching people on their careers, interviewing candidates, and sitting in product meetings as the consultant in the room. After a call I often want the transcript: to check a detail, or to pull together the advice I owe the other person. It's a simple need, and every tool I tried had one thing I couldn't live with.
Two approaches, two costs I didn't want to pay
Meeting recorders mostly work one of two ways.
The first sends a bot into your meeting. It records and transcribes for you, which is convenient. For my work it has one fatal flaw: the client opens the call and finds a stranger in the participant list called "Something Notetaker." That costs trust before anyone has said a word. They're about to talk to me about their career, sometimes about their most private worries, and an unknown recorder is sitting in the room. Some meetings don't let bots in at all.
The second skips the bot and records the whole call as one track. Once everyone's voice is mixed together, "who said this?" is left to the software to guess. When it guesses wrong, a whole paragraph lands on the wrong person. Reading the transcript afterward, I first had to work out which lines were mine and which were theirs.
One costs trust, the other costs accuracy, and I didn't want either.
If a bot is out, how about physics?
After a while, something clicked.
The other person's voice comes out of my Mac as system audio. My voice goes in through the microphone. Those two signals are separate to begin with.
So why wait for them to be mixed into one track, then spend effort guessing who's talking? Record each into its own channel instead: them on the left, me on the right. The two sides stay apart from the moment they're captured, with no bot in the call and no model trying to tell voices apart. The "who said this?" problem gets sidestepped by a physical fact.
Once I saw that, I handed the idea to Claude Code. Half a day later I had a working prototype, and I called it MyParrot.

The main window, with the transcript labeled by channel: Them and You. Every meeting in these screenshots is a fictional demo voiced by macOS text-to-speech, not a real client call.
What it does today
MyParrot is at v0.3.1 now.
- The other side is captured with Core Audio's Process Tap, available since macOS 14.4. There's no driver, kernel extension, or virtual audio device to install, and it never asks for Screen Recording permission.
- Your side comes from the microphone. MyParrot watches for mic and audio-route changes and rebuilds the capture on its own, so if you swap mics mid-call, the file stays continuous.
- A live transcript appears while you record. You choose the engine: Apple's SpeechAnalyzer on macOS 26, or a fully local Whisper engine (whisper.cpp on Metal, large-v3 family). When you stop, it re-transcribes at higher precision.
- Exports include a plain .txt and a timestamped .srt where every line starts with who said it.
- Recording and transcription stay on your Mac. The app only goes online for an optional update check against GitHub Releases, which you can switch off, and for Whisper model downloads you start yourself.
Whisper was the upgrade I cared about most. I switch between Mandarin and English constantly, and Apple's built-in recognizer often stumbles on that. Whisper does noticeably better, and it runs entirely on your machine. It still makes mistakes, and I expect better on-device engines to arrive soon.
The bug I never thought to spec
One edge case caught me completely off guard.
If a Bluetooth headset connected halfway through a recording, macOS switched the default output device. An early build kept recording, but the other side's track came out blank, with no warning at all. You thought you had the call. You played it back and the other person was gone.
MyParrot now detects the switch and rebuilds the capture on its own, so you don't have to restart the recording.
A related tip: listen through a Bluetooth headset if you like, but don't talk into its mic. The moment any app opens a Bluetooth microphone, the headset drops to a narrowband call profile, and the other side's audio falls to phone quality too. Speak into the built-in or a wired mic. MyParrot's automatic mic selection already skips Bluetooth mics.
A month of daily use later
Once recording was reliable, my problem moved from "did it record?" to "what do I do with it now?" The painful part of a one-hour recording isn't getting a transcript. It's finding the three minutes you need when you don't know where to start listening.
Version 0.3.0 went after that.
A waveform you can read. Playing a recording draws a stereo waveform right in its row: the top half is them, the bottom half is you. Because the file is already split by speaker, the waveform shows who spoke when, with no guessing. Click anywhere to jump there.
It also caught one of my own mistakes. One recording showed sound for the first quarter and a flat line after that. I had finished the call, forgotten to press stop, and recorded more than eighty minutes of nothing. Before, I would only have found out by listening.
Shortcuts printed on the buttons. ⌘R starts, ⌘P pauses, ⌘E stops, ⌘T transcribes. There's nothing to memorize, because each key is on its button. ⌘1 cycles through three window sizes, down to a floating mini bar you can park in a corner during a call.
A level meter that tells the truth. The old meter was linear, so normal speech lit two or three segments and looked dead. More than once I thought my mic was broken. It now uses a dB scale: speech lights more than half the bar, silence stays at one segment. I calibrated it against the noise floor of my own Yeti mic, so on other mics the exact count will differ.

One meter per side, so you can see that both the other person and your own mic are coming through.

In mini mode you still see the timer, both meters, and the pause and stop buttons, without the full window in the way.
Limits worth knowing
- Mac only, macOS 14.4 or later. Live transcription works best on macOS 26.1 or later.
- In meetings longer than about 30 minutes, the two capture clocks slowly drift apart. Sample-accurate sync is planned.
- Echo cancellation is an offline post-process, off by default, and it writes a separate file without touching the original.
- Recording a call without consent is illegal in many places. Tell people you're recording, and get consent where the law requires it.
Why open source
Two reasons.
The first is privacy. Recording and transcription run entirely on your Mac, Whisper included, so your calls don't go to anyone's server. With the code in the open, anyone can check how it handles your audio.
The second is that I doubt I'm the only one with this problem. If you spend a lot of time in meetings, want notes you can actually use, and would rather not send your calls to a cloud service you know nothing about, give it a try.
Download
MIT license, free to use. The app is signed and notarized, so it opens without a fight with macOS security settings. Grab the latest .zip from Releases, unzip it, and drag MyParrot.app into Applications.
Repo: https://github.com/tingyulu/MyParrot
Download: https://github.com/tingyulu/MyParrot/releases/latest
I record my own coaching sessions, candidate interviews, and product advisory calls with it every day. If you hit a problem, tell me in a GitHub issue.
Ideas come in unlimited supply. Tools that actually ship don't.
I'm Eric Lu ("Uncle Eric"), a product consultant, headhunter, and career coach. MyParrot is the recorder behind my own calls.
留言
張貼留言