AIArticle Hard WER numbers finally settle when to drop Whisper for Apple's built-in engine.
[Rachel Goldstein](https://sourcefeed.dev/u/rachel_goldstein)
For years the default on-device speech stack on Apple hardware was simple: ship [Whisper](https://github.com/openai/whisper) (or a Core ML port of it) and ignore Apple's recognizer. That default just broke for English.
With iOS 26 and macOS 26, Apple replaced SFSpeechRecognizer
with SpeechAnalyzer and SpeechTranscriber
. It shipped no public accuracy numbers. Independent benchmarks now fill that gap, and the picture is clearer than the usual vendor fog. On clean and moderately noisy English read speech, the new system model is both more accurate and faster than the Whisper sizes most apps actually ship. On conversational long-form the gap shrinks, and Whisper still wins on language count, custom vocabulary, and platform reach. The migration decision is no longer "is Apple good enough." It is "which failure modes does your product hit."
The LibriSpeech result is not subtle #
The cleanest head-to-head so far runs five engines through identical production paths on an M2 Pro (32GB, macOS 26.5.1), fully on-device, scored with a shared English normalizer on LibriSpeech:
| Engine | test-clean WER | test-other WER | Footprint |
|---|---|---|---|
| SpeechAnalyzer | 2.12% | 4.56% | system |
| Whisper Small (WhisperKit CoreML) | 3.74% | 7.95% | ~460MB |
| Whisper Base | 5.42% | 12.51% | ~140MB |
| Whisper Tiny | 7.88% | 17.04% | ~40MB |
| SFSpeechRecognizer (legacy) | 9.02% | 16.25% | system |
Lower is better. SpeechAnalyzer also ran roughly 3× faster per second of audio than Whisper Small while beating it on both splits. All five engines were comfortably super-realtime (about 12× to 40× on that machine).
Those Whisper numbers land close to OpenAI's own published LibriSpeech figures, with a small consistent positive offset from a stricter normalizer and CoreML quantization. That is the right kind of offset. Random harness error would scatter both ways. Because the Apple columns use the same corpus, normalizer, and scorer, the unverifiable numbers inherit validation from the ones anyone can check against OpenAI's tables.
A separate hands-on run on a 34-minute, 7GB 4K video tells the same speed story in wall-clock terms: SpeechAnalyzer finished in 45 seconds, MacWhisper Large V3 Turbo in 1:41, another Whisper-based tool in 1:55, and Large V2 in 3:55. Quality differences on that material were not noticeable without careful side-by-side scoring. Multiply that by a backlog of podcasts or WWDC videos and the 2×-class gap stops being a rounding error.
Conversational speech is where the story gets honest #
LibriSpeech is read speech. Earnings calls are not. On a random 10% slice of earnings22 (~12 hours of English conversational audio) on an M4 Mac mini, Argmax measured SpeechAnalyzer at 14.0% WER and a 70× speed factor, versus Whisper base.en at 15.2% / 111× and Whisper small.en at 12.8% / 35×. NVIDIA Parakeet (via their Pro stack) sat at 11.7% and 359×.
So: on clean English, Apple is ahead of the mid-size Whisper models people actually embed. On long-form conversational English, it looks like mid-tier Whisper, not frontier. A third suite (Dictato, 13k clips across five languages and seven stress cases) found WhisperKit still edging clean English and Spanish, while SpeechAnalyzer took clean French, German, and Italian, with Parakeet winning disfluent speech where people restart, hedge, and fill.
None of these results contradict each other if you stop treating "WER" as a single leaderboard. Corpus choice is the product decision in disguise. Meeting notes and voice memos look more like earnings22 and disfluent dictation. Audiobook-style capture and studio podcasts look more like LibriSpeech.
What actually changes for app developers #
Drop SFSpeechRecognizer for anything longer than a command. The legacy API's 9.02% / 16.25% WER is not a near-miss. It is 3.5–4× worse than SpeechAnalyzer on the same audio, and its output is less cleanly punctuated and cased. An hour of meeting audio through the old path carries roughly four times as many wrong words. There is no accuracy trade-off to weigh. If your minimum OS is 26, migrate.
Prefer SpeechAnalyzer for English (and the locales it covers) on Apple Silicon OS 26+. Inscribe already flipped its Auto engine that way: system model first where supported, Whisper for everything else. That is the rational default for private note-takers, meeting tools, and offline captioning aimed at English on current iPhones and Macs. You avoid bundling a 140–460MB model, you skip first-run download latency once any app on the device has already pulled the system asset, and you get free Neural Engine + CPU use without managing Core ML packaging yourself.
Keep a Whisper (or Parakeet) path when any of these matter:
Languages. SpeechTranscriber is reported around 10–30 locales depending on who is counting; Whisper-class stacks still cover on the order of 100. Multilingual products cannot treat Apple as the only engine.Custom vocabulary. The new API currently lacks the custom vocabulary path the legacy recognizer had. Brand names, client names, drug names, and product jargon still favor WhisperKit-style prompt biasing or a separate on-device LLM proofread pass. If keyword recall is the product, measure that metric, not generic WER.OS floor and platforms. SpeechAnalyzer needs iOS/macOS 26+.WhisperKitstill runs back to older OS versions and is not locked to Apple. Cross-platform or long-tail device support still points at open models.Speaker diarization and model control. Apple's feature set is offline + realtime transcription, word timestamps, and VAD. Diarization, fine-tuned models, and "hot-fix the weights next week" remain third-party territory.
Practical integration shape. Most serious Apple-platform STT apps will look like a small router, not a single dependency:
- If locale is supported and OS ≥ 26, call SpeechAnalyzer / SpeechTranscriber.
- Else fall back to Whisper Small/Base (or Parakeet) via WhisperKit or equivalent.
- Optional: pipe jargon-heavy domains through an on-device proofread (Apple Foundation Models or your own small LM).
- Keep a per-context custom vocab list and apply it on the engines that accept it.
Do not assume first-use is free. The system model is not pre-installed; it downloads on first use, though once any app (including first-party) has it, others can skip the hit. Budget that latency the same way you budget Whisper model download today.
Production readiness, not hype #
This is a genuine shift for a specific, large slice of the market: English (and a modest set of other locales), on-device, Apple Silicon, OS 26+, where you care about accuracy and speed more than custom lexicon control. Calling it "Whisper is dead" is marketing. Calling SpeechAnalyzer the new default on that slice is what the data supports.
Who wins: developers who ship private transcription on Apple hardware without dragging a half-gig model, and users who get better transcripts with less battery and no cloud round-trip. Who loses: the lazy "always Whisper Small" default, and apps still sitting on SFSpeechRecognizer
for long-form capture. Open-model vendors do not lose; they still own multilingual reach, custom vocab, older OS targets, and anything that has to leave the Apple garden.
If your product is English meeting notes on current Macs and iPhones, migrate and make the system engine the Auto path. If your product is medical dictation with a 400-term glossary, or a 40-language field recorder, keep Whisper (or Parakeet) in the loop and treat Apple as one more backend. The interesting work is no longer picking a single winner. It is routing audio to the engine that fails least on *your* audio.
Sources & further reading #
Apple's new SpeechAnalyzer API, benchmarked against Whisper and its predecessor— get-inscribe.com - Hands-On: How Apple's New Speech APIs Outpace Whisper for Lightning-Fast Transcription - MacStories— macstories.net -
[Apple vs Whisper vs Parakeet vs Qwen3: We Tested 4 Speech-to-Text Engines on 13,000 Recordings | Dictato](https://dicta.to/blog/speech-to-text-engine-comparison-mac-2026/)— dicta.to -
[Apple SpeechAnalyzer and Argmax WhisperKit - Argmax](https://www.argmaxinc.com/blog/apple-and-argmax)— argmaxinc.com -
macOS Tahoe Voice Dictation 2026: Native vs Third-Party Apps Tested — Weesper Neon Flow Blog— weesperneonflow.ai
Rachel Goldstein· Dev Tools Editor Rachel has been embedded in the developer tooling ecosystem for nearly eight years, covering everything from IDE wars and package-manager drama to the quiet rise of AI-assisted coding. She has a soft spot for open-source maintainers and an unhealthy number of terminal emulators installed on a single laptop.
Discussion 0 #
No comments yet
Be the first to weigh in.