How transcription works
Five stages between holding a key and seeing text. Four of them never touch a network, and the fifth only does if you have explicitly turned cleanup on.
The pipeline
- Capture. While the key is held, audio is recorded at 16 kHz mono directly into memory. Nothing is written to disk.
- Transcribe. On release, the buffer is passed to Whisper running locally through WhisperKit, which uses your Mac's Neural Engine and GPU. The audio is discarded once text exists.
- Expand snippets. If what you said matches a snippet trigger exactly, the expansion is inserted immediately and the remaining steps are skipped.
- Clean up (optional). Only if you have enabled AI cleanup. This is the one stage that can involve a network, and only the text is ever sent.
- Insert. The result is placed at your cursor — see How text is inserted.
Live partial transcripts
While you hold the key, the app re-transcribes the growing buffer roughly three times a second so words appear in the HUD as you speak. This is a preview, not the final answer: the real pass runs on the complete recording after you release, and it is the one that gets inserted. Seeing partials that later change slightly is normal and expected — the full recording gives Whisper more context to work with.
Partials cost a little extra compute. If you are on an older Mac and want maximum battery life, turn off Show words as you speak in Settings.
What needs a network
| Stage | Network |
|---|---|
| Capturing audio | Never |
| Transcribing | Never — after the one-time model download |
| Snippet expansion | Never |
| AI cleanup | Only if enabled and pointed at a cloud provider. Local Ollama and “off” stay on your Mac. |
| Inserting text | Never |
With cleanup off — the default — dictation works in airplane mode indefinitely.
Why results vary
Whisper predicts the most likely word sequence given the audio and its training. That explains most of what you will observe: it is excellent on ordinary prose, good with accents on larger models, and unreliable on proper nouns it has never seen. The fix for names is not a bigger model but the personal dictionary.
On near-silent or very short audio, Whisper models occasionally emit a stock phrase such as “Thank you” or “Thanks for watching” — an artifact of the subtitled video in their training data. Push-to-talk avoids most of it, since you hold the key only while speaking. If you see it, that is the model, not a fault in your setup.
Documentation for OpenVoiceFlow 0.5.5 · last updated 2026-07-31. Something wrong or missing here? That is a bug — tell us at shimoverse@gmail.com.