mockingbird
Local voice dictation for macOS
Hold Fn, speak, let go. Clean text lands at your cursor.
Free forever, and your voice never leaves your Mac.
Your words aren't metered.
Cloud dictation is good software with a meter on it: a credit cap that runs out and reminds you, mid-sentence, that your own words are being counted. Mockingbird has no meter.
A capable speech model, a small language model for cleanup, and a hotkey. That's all dictation needs, and all of it runs on your Mac. No account, no cloud, no usage limits.
It's MIT licensed and built in the open, as a way of giving back to the open-source projects it's built on. Read the philosophy →
A tool this useful gatekept behind a credit meter isn't a technical necessity, it's a business model choice, and this project is the alternative to that choice.
Nirjhar BhattacharjeeSee it in action
Run mockingbird start once. After that it's just a key, in every app, at every login.
$ mockingbird listen
- clean
Hold Fn
Anywhere: Slack, Mail, your editor, a browser tab. A rising tink means it's listening.
Speak
Ramble a little. Pauses, "um"s and restarts get cleaned up. Double-tap Fn for hands-free.
Let go
A falling pop, and a tidy sentence is typed where your cursor is.
How it works
Three open models, each doing the one job it's best at, all served from 127.0.0.1.
01 · listen
Voice activity
Silero VAD finds where speech starts and stops, in 32 ms windows.
02 · hear
Speech to text
Whisper large-v3-turbo, through whisper.cpp, turns audio into words.
03 · tidy
Cleanup
Qwen3-4B-Instruct fixes punctuation, filler words and lists.
04 · type
At your cursor
The text is typed into whatever app is in front.
● Short, clean utterances skip the language model entirely, so they're faster. The only network call mockingbird ever makes is the one you run: mockingbird models pull.
Install mockingbird
You need a Mac with Apple Silicon, Homebrew, and about 6 GB free for the models.
Homebrew
Install, then fetch the models once with mockingbird models pull.
$ brew install nirjharbhattacharjee/mockingbird/mockingbirdInstall script
Installs mockingbird and pulls the models in one go.
$ curl -fsSL https://raw.githubusercontent.com/NirjharBhattacharjee/mockingbird/main/scripts/install.sh | bashmockingbird start. The first time, macOS asks forMicrophoneAccessibilityInput Monitoringthen mockingbird restart.A tiny CLI, and one key
You set it up in a terminal once. After that it lives on the Fn key.
| Command | Does |
|---|---|
| mockingbird start | Run in the background, now and at every login |
| mockingbird stop | Stop, and stay stopped across reboots |
| mockingbird restart | Restart (do this after granting a permission) |
| mockingbird status | Whether it's running, and which permissions it has |
| mockingbird listen | Dictate live in a terminal, with a level meter |
| mockingbird transcribe <file> | Turn a recording (mp3, m4a, wav…) into text |
| mockingbird type --check | Check typing permission and the app in front |
fn hold: record while held
fnfndouble-tap: hands-free until the next Fn
↗ tinkit's recording
↘ popit's transcribing
▁ bassoit couldn't type the text
Small numbers, on purpose
0 bytes
of your audio uploaded
3 models
all on-device
$0
forever
Get involved
Mockingbird is built in the open. Here's where to start.