A minimal macOS dictation daemon. Push-to-talk, on-device transcription, text inserted at the cursor.
curl -fsSL https://digimata.github.io/parrot/install.sh | sh
parrot setup # grants mic + accessibility, downloads the model
parrot install --launch-at-login # optional — runs in the background on loginRequires: macOS 14+ on Apple Silicon (M1 or newer). Transcription runs on the Apple Neural Engine via CoreML — so the installer refuses to run on Intel.
The installer drops the binary in /usr/local/bin/parrot. Builds are unsigned for now, so the installer strips the quarantine xattr — once you've inspected the script you'll see exactly what it does.
- Run it. Either
parrot install --launch-at-login(daemonized, runs forever, lives in the menu bar), orparrotin any terminal tab. - Click into the text field you want to dictate into — Messages, the address bar, a Slack thread, anywhere a cursor blinks.
- Hold the
fnkey, speak, release. A small pill appears at the bottom of the screen while the mic is hot. - The transcript types itself in at the cursor when you release. Usually within 200-300ms.
That's it. There is no record button, no stop button, no "send" — fn is the whole interface.
Note: on most modern Macs the
fnkey is the bottom-left key. If yours is set to "Change input source" or "Show emoji & symbols,"parrot setupwill tell you how to flip it back to plainfn.
parrot # run in the foreground (^C to quit)
parrot setup # one-time setup: permissions + model download
parrot install --launch-at-login # register a LaunchAgent (background daemon)
parrot install --uninstall # remove the LaunchAgent
parrot doctor # check permissions + fn key setting
parrot models list # list available models
parrot models download <id> # pre-download a model
parrot --model whisper-large-v3-turbo # bigger, multilingual, slower first-run
parrot --hotkey right-option # change the push-to-talk key
parrot --no-overlay # disable the bottom-of-screen pill- Swift — single SPM executable target
- WhisperKit — Whisper inference via CoreML, ANE-accelerated
- AVAudioEngine — mic capture
- CGEventTap — global hotkey
- CGEvent — text injection at cursor
- NSWindow (borderless, click-through) — recording-indicator pill
See docs/architecture.md for design notes.
swift build -c release
.build/release/parrot --help