Text as you speak, or after you let go: which is more accurate?
Dictation apps either type each sentence as you pause, or wait until you finish and type it all at once. We tested both on 200 real recordings of people mixing Chinese and English. The result isn't quite what you'd guess.
Short answer: after you let go is more accurate, if it's done right. With the same model and the same recordings, typing each sentence as you speak had an error rate of 10.4%; recognizing the whole dictation once more after you let go, and checking it against the sentence-by-sentence result, brought it to 9.8%, about 5.5% fewer errors. Recognizing the whole thing only was worse (13.5%).
The cost is waiting: about 1.3 s more after a dictation of several sentences. From Vocco 1.0.8 the default is after you let go; you can switch to text as you speak in Settings.
What's different between the two
On-device dictation usually works like this: while you talk, it looks for pauses, and at each pause (0.7 s in Vocco) it hands the sentence so far to the model. Text as you speak types each sentence as soon as it's recognized.
After you let go can do one more thing: once you're done, play the whole dictation to the model again. With the whole context, it gets names and mixed-language words right more often. In one clip the speaker first mentions a game called “中国式家长”; sentence by sentence, the later word “homework” came out as “红木卡” (Chinese characters that sound like it), while the whole-text pass got “homework”.
Worth knowing: up to Vocco 1.0.7, dictation already recognized sentence by sentence while you spoke; it just pasted everything when you let go. So text as you speak is exactly as accurate as before, only earlier.
How we tested
- Recordings: ASCEND, a dataset of real conversations between Hong Kong university students mixing Mandarin and English. We joined neighbouring sentences from the same speaker into 8–60 s “dictations” with 0.25–1.4 s pauses between them, half shorter than the 0.7 s cut and half longer. 200 clips, 81 minutes, 181 of them mixing both languages.
- Two sets: 100 clips to find the method and set the rules, then 100 fresh clips we hadn't looked at to confirm it.
- Engine: exactly what Vocco runs: Qwen3-ASR 0.6B (int8) on sherpa-onnx, with the app's own sentence-cutting code. Only the way a dictation is cut changes.
- Scoring: mixed error rate (MER): Chinese counted per character, English per word, with the same scorer as our 300-sentence benchmark.
Results
| How text appears | Error rate | Chinese (chars) | English (words) | Wait after release |
|---|---|---|---|---|
| As you speak (sentence by sentence) | 10.40% | 7.14% | 22.25% | 0.4 s |
| After you let go (sentences + whole-text check) | 9.83% | 6.72% | 21.13% | 1.7 s |
| Whole text only* | 13.52% | — | — | about 1.1 s |
*Measured on the first 100 clips only; on those clips, sentence by sentence scored 11.39%.
The difference is −0.57 points, 95% confidence interval [−1.07, −0.08], so it doesn't cross zero; each set on its own also gave −0.57. Of 200 clips, 75 got better, 49 got worse and the rest didn't change. The gain is largest at the most common dictation length: 8–15 s clips went from 12.9% to 11.3%. At 30–60 s the two tie (9.0%), because clips that long are split into pieces of at most 28 s anyway.
Waiting time was measured by playing 12 clips at real speaking speed on an M5 Pro, from letting go until the text was ready.
Why the whole text alone does worse
The whole-text pass sees the context, so many words come out right. But hearing a long stretch of mixed Chinese and English at once, the model sometimes fails on all of it:
- It stops halfway: for a 15 s clip that sentence-by-sentence recognition got almost entirely right, the whole-text pass returned three characters.
- It translates: a Chinese sentence about losing weight in a short time came back entirely in English.
Sentence by sentence, each piece is mostly one language and rarely fails like that. So Vocco keeps both: the sentence-by-sentence result is the fallback, and the whole-text result is used when it looks sound. If the whole text has clearly fewer characters and words (under 80%), or its share of Chinese moved by more than 20 points, Vocco treats it as a failure and uses the sentence-by-sentence text. A single sentence isn't recognized twice.
The rule catches the big failures, not smaller ones like half a sentence being translated, which is why 49 clips still did worse. Overall there are clearly fewer errors.
Choosing in Vocco
Settings → Quick dictation → When text appears (Vocco 1.0.8 and later):
- After you let go (default): hold right ⌘ and talk; when you let go, the whole text is pasted at the cursor. More accurate; longer dictations take a moment more.
- As you speak: each sentence is pasted at the cursor when you pause, and the sentence you're still saying shows above the dot at the bottom of the screen, correcting itself as you go. When you finish, the clipboard holds the whole text.
The whole-text check applies to the on-device models Qwen3, Paraformer and SenseVoice. With the built-in macOS engine or Whisper, after you let go still recognizes sentence by sentence, as before.
Limits
- ASCEND is conversation, not someone dictating to a computer, and we inserted the pauses. Real dictation may have a different pace.
- Only Qwen3 ASR, Vocco's default engine, was tested. Other models may behave differently.
- Waiting time was measured on an M5 Pro only. Older Macs such as the M1 recognize more slowly, so the wait after letting go is longer.
Questions
Why is text-as-you-speak less accurate?
It has to settle each sentence the moment you pause, so the model only hears that one sentence. Waiting until you let go lets it hear the whole dictation once more, and the surrounding words help it get names and mixed-language phrases right.
Then why not recognize the whole thing only?
It tested worse. When Qwen3 hears a long stretch of mixed Chinese and English in one go, it sometimes translates all of it into one language or stops halfway, losing most of the text. Vocco keeps the sentence-by-sentence result as a fallback and uses it when the whole-text result looks wrong.
How much longer do I wait after letting go?
On an M5 Pro, a dictation of several sentences is ready about 1.7 s after you let go, against about 0.4 s for text as you speak. A single sentence is just as fast either way. Older Macs are slower; we haven't measured them.
How do I switch in Vocco?
Settings → Quick dictation → When text appears. The default is after you let go. With “As you speak”, each sentence is pasted at the cursor when you pause and the sentence you're still saying shows above the dot. Requires Vocco 1.0.8 or later.
Try both ways yourself
Settings → Quick dictation → When text appears switches any time. The free version includes 30 minutes of dictation a week.
macOS 14 or later · Apple silicon