Side project · macOS app · Open source
Transcriber.
Voice dictation for the Mac that runs entirely on the Mac. Hold a key, talk, let go, and your words appear in whatever app you're using.
- Status
- Open source, MIT license
- Runs on
- Apple Silicon Macs, macOS 14+
- Built with
- Swift, whisper.cpp, Metal
- Speech model
- Whisper Large v3 Turbo, on device
Why I built it
I was paying $10 a month for a dictation app that sent everything I said to someone else's servers. So I built my own.
Transcriber runs on your Mac and nowhere else. Your voice never leaves it: no account, no subscription, no data collection. I believe AI that touches your personal data should run locally and belong to the people using it. This is my small piece of that.
What it does
- Works in any app. Chrome, Slack, Notes, Mail, ChatGPT: wherever your cursor is.
- Fast. A typical sentence is ready 0.2 to 0.6 seconds after you let go, on a MacBook Pro M3.
- Accurate. OpenAI's Whisper Large v3 Turbo on the Mac's GPU. Punctuation included, "um"s removed.
- Knows your words. Add names and jargon and it spells them right. Fix a word once in History and it remembers.
- Look around while you talk. Switch apps mid-sentence; the text still lands where you started.
- Stays out of the way. 0% CPU when idle. Your last 100 dictations stay on your Mac only.
| Shortcut | What happens |
|---|---|
| Hold ⌥ | Talk while holding, release to paste. |
| Double-tap ⌥ | Hands-free: talk as long as you like, press ⌥ again to finish. |
| Esc while holding | Stop without pasting. The text is kept in History. |
How it's fast
Whisper always processes 30 seconds of audio, even for a two-second sentence. On an M3 that alone takes over a second. Transcriber shrinks that window to fit each clip, which makes short dictations 3 to 6 times faster with the same text.
| You say | Standard Whisper | Transcriber |
|---|---|---|
| "Sounds good, thanks." | 1.3 s | 0.21 s |
| A German sentence (4 s) | 1.4 s | 0.24 s |
| Two sentences (10 s) | 1.4 s | 0.51 s |
Two details made it work: Metal's flash attention produces garbage with shortened windows, so it's turned off, and windows under 5 seconds are unreliable, so that's the minimum.
