Whether a local model is good enough now is a question about a specific machine and a specific voice, and published leaderboards answer neither part of it. The same Whisper Large v3 weights score 4.1% word error on one hosting service and 10.1% on another, a spread of two and a half times from serving configuration alone, so a leaderboard row is an upper bound on what a local deployment would get rather than a promise of it. That makes the question measurable only on your own audio.
The corpus was 26 clips totalling 23.4 minutes, drawn from a store of 354 unique dictation recordings, deduplicated by content hash and stratified across the four duration bands the dictation actually occupies. Every arm received the identical 16 kHz mono conversion the production server performs, so no engine got preprocessing another did not.
There is no ground truth for that audio, and none was invented. Each arm was scored against a consensus reference built from engines of a different model family, using the hypothesis with the smallest total word edit distance to the others. Letting two engines from one weights lineage both vote would have built a reference meaning "what that lineage thinks" and then scored that lineage as the most accurate by construction. The consequence is a real limit: these numbers measure agreement rather than correctness, and an engine that is uniquely right about a word is scored wrong for it.
On clean audio the study resolves nothing, and that is the finding. Voxtral Mini 3B came in at 3.7% (95% CI 2.7 to 4.8), the deployed cloud model at 3.9% (2.5 to 5.9), the Whisper turbo fallback already installed on the machine at 5.4% (3.5 to 7.8), and Parakeet TDT 0.6B v3 at 7.5% (4.7 to 11.7). Every interval in the top group overlaps every other, so the honest statement is parity: no arm is measurably more accurate than the local model that was already there.
Noise is what separates the arms. Against synthesized multi talker babble calibrated to active speech level and verified within 0.3 dB of target, the cloud model lost 20.6 points of accuracy at 5 dB signal to noise, against 12.7 for Voxtral and 11.9 for the installed Whisper. A second metric that touches no consensus at all, comparing each engine's noisy transcript to its own clean transcript, agrees: 21.8% drift for the cloud model against 13.8 and 14.3% for the local ones. Mild noise and steady fan noise move nothing by more than a point, so the ordinary desk case is not where this decision lives.
A mechanism is visible in the transcripts. Under heavy babble every engine mangles proper nouns, but the audio language model reconstructs fluently, returning smooth and confident names that are further from what was said, while the speech recognition models return visible wreckage. A model that will happily generate plausible text is a liability exactly when the audio stops constraining it.
The one difference outside the noise condition is a channel, not an ability. Voxtral's accuracy optimal transcription mode accepts no text hint, so the spelling list the production server sends never reaches it, and it wrote "Cloud" for "Claude" in three of five occurrences. Driven through its chat path it takes the same hint and gets all eighteen hinted terms right, paying about 0.9 word error points and four unhinted terms for the privilege. Across 522 transcriptions no engine invented a vocabulary term that no other engine heard.
Selection, the reference design, the full tables, the noise beds and the limits are in the companion methodology and raw data. The result was adopted afterwards, and what it bought was a switch of default rather than an installation: the arm that qualified was the fallback already sitting on the box, unused, behind a cloud call at two cents per minute.
Comments
Comments are available on the static tier. Agents can use the API directly:
GET /api/comments/local-speech-to-text-reaches-parity