애플이 iOS 26과 macOS 26부터 기존 SFSpeechRecognizer 대신 새로운 SpeechAnalyzer API를 도입했습니다. 벤치마크 결과, 이 새로운 온디바이스 엔진은 오류율을 대폭 낮추며 OpenAI의 Whisper Small 모델보다 정확도와 처리 속도 양면에서 뛰어난 성능을 보여주었습니다. 영어 음성 인식이 필요한 애플 플랫폼 개발자들에게는 현재 가장 강력한 선택지로 평가됩니다.
번역된 본문
결론부터 말씀드리자면, 애플의 새로운 SpeechAnalyzer는 저희가 테스트한 온디바이스(On-device) 음성 인식 엔진 중 가장 정확합니다. LibriSpeech 데이터셋의 깨끗한 환경과 소음이 있는 환경 모두에서 Whisper Small을 포함한 저희가 탑재한 모든 Whisper 모델을 이겼으며, Whisper Small보다 약 3배 빠르게 실행됩니다. 그리고 이 새로운 API가 대체하는 기존 API인 SFSpeechRecognizer는 깨끗한 음성 기준에서 40MB 크기의 Whisper Tiny보다도 뒤처져 최하위를 기록했습니다.
엔진 / test-clean WER(단어 오류율) / test-other WER / 모델 크기
Apple SpeechAnalyzer (iOS/macOS 26) / 2.12% / 4.56% / 시스템 종속적
Whisper Small (WhisperKit CoreML) / 3.74% / 7.95% / 약 460MB
Whisper Base / 5.42% / 12.51% / 약 140MB
Whisper Tiny / 7.88% / 17.04% / 약 40MB
Apple SFSpeechRecognizer (기존) / 9.02% / 16.25% / 시스템 종속적
*참고: WER(Word Error Rate)은 엔진이 단어를 잘못 치환, 누락 또는 임의로 추가한 비율을 의미하므로 낮을수록 좋습니다. LibriSpeech test-clean은 2,620개의 깨끗한 읽기 음성이며, test-other는 2,939개의 더 어렵고 소음이 섞인 음성입니다. 모든 엔진은 Apple M2 Pro(32GB, macOS 26.5.1) 머신에서 완전히 온디바이스로 실행되었습니다.
왜 이 테스트를 진행했는가?
iOS 26과 macOS 26부터 애플은 기존 SFSpeechRecognizer를 새로운 API인 SpeechAnalyzer 및 SpeechTranscriber로 대체했습니다. 하지만 애플은 이에 대한 정확도 수치를 공개하지 않았습니다. 따라서 마이그레이션을 고민하는 모든 개발자와 애플의 내장 인식 기능을 Whisper와 비교하는 모든 사람들은 추측할 수밖에 없었습니다. 저희는 프라이빗 온디바이스 AI 워크스페이스인 Inscribe에 애플 엔진 두 가지와 Whisper 모델 세 가지를 나란히 탑재하고 있습니다. 이를 통해 동일한 머신과 동일한 오디오 환경에서 모든 5개 엔진을 동일한 프로덕션 코드 경로로 실행할 수 있는 드문 입장에 있게 되었고, 실제로 테스트를 진행했습니다.
SFSpeechRecognizer에서 마이그레이션해야 할까요?
네, 그래야 합니다. 이는 데이터에서 가장 명확하게 나타나는 결과입니다. 새로운 API는 동일한 오디오 기준으로 단어 오류율을 3.5배에서 4배까지 줄여줍니다. 즉, 깨끗한 음성에서는 9.02%에서 2.12%로, 소음이 있는 음성에서는 16.25%에서 4.56%로 감소했습니다. 정확도 저하를 우려할 필요가 전혀 없으며, 새로운 API는 측정한 모든 영역에서 압도적으로 승리합니다. 또한 기존 엔진의 거친 출력과 달리 구두점과 대소문자가 올바르게 적용된 텍스트를 생성합니다. 다시 말해, 기존 API로 전사된 1시간짜리 회의록에는 SpeechAnalyzer를 사용했을 때보다 약 4배나 더 많은 잘못된 단어가 포함됩니다. 귀하의 앱이 짧은 음성 명령 외의 목적으로 여전히 SFSpeechRecognizer를 사용하고 있다면, 정확도만 고려하더라도 마이그레이션을 할 가치가 충분합니다.
SpeechAnalyzer vs Whisper
더 놀라운 결과는, 애플의 새로운 엔진이 저희가 탑재한 가장 큰 모델인 Whisper Small조차 두 가지 테스트 모두에서 확연한 차이로 이겼다는 점입니다. 게다가 오디오 1초당 필요한 계산 시간은 Whisper Small의 약 1/3에 불과했습니다. 애플 하드웨어에서 영어를 처리할 때, 현재 내장 엔진은 우리가 측정할 수 있는 가장 강력한 온디바이스 옵션입니다. Whisper는 여전히 두 가지 강력한 장점을 가지고 있습니다. 훨씬 더 많은 언어를 지원하며(SpeechTranscriber는 약 30개 로케일만 지원), OS 26이 탑재된 애플 플랫폼이 아닌 모든 곳에서도 실행될 수 있다는 것입니다. 하지만 최신 아이폰이나 맥에서 영어 전사를 원하신다면, 이제 Whisper가 무조건적인 정확도 1순위였던 시대는 끝났습니다. 저희 역시 이 결과를 바탕으로 자체 제품을 변경했습니다. Inscribe의 자동(Auto) 엔진은 이제 지원하는 언어에 대해서는 SpeechAnalyzer를 우선적으로 사용하고, 그 외의 언어는 Whisper를 사용하도록 기본값을 수정했습니다. 벤치마크를 공개해놓고 자체 제품 기본값에 반영하지 않는다면 그것은 이상한 정직함일 것입니다.
속도
5개 엔진 모두 실제 시간보다 빠르게, 즉 M2 Pro 환경에서 약 12배에서 40배 빠르게 실행되었습니다. 이는 1시간 분량의 오디오를 기기 내부에서 약 1.5분에서 5분 만에 전사할 수 있음을 의미합니다. SpeechAnalyzer는 Whisper Small보다 정확도가 높으면서도 오디오 1초당 처리 속도가 약 3배 더 빠릅니다. 저희가 엔진별 정확한 소요 시간 테이블을 아직 게시하지 않는 이유는 의도된 것입니다. 정확도 측정 작업 중 개발 워크로드와 머신 리소스를 공유했기 때문입니다. 이는 WER(단어 오류율)에는 영향을 주지 않지만 타이밍 측정에는 오차를 발생시킵니다. 추후 유휴 상태의 전용 머신에서 측정한 시간 데이터로 이 페이지를 업데이트할 예정입니다.
방법론 및 검증 가능성
경쟁하는 엔진 중 하나를 판매하는 기업의 벤치마크 결과는 당연히 의심의 눈초리로 바라봐야 합니다. 저희의 테스트는 이러한 의심을 해소하기 위해 두 가지 특징을 갖추고 있습니다. Whisper 결과 열은 OpenAI의...
The result, up front Apple's new SpeechAnalyzer is the most accurate on-device speech engine we tested. It beat every Whisper model we ship, including Whisper Small, on both the clean and the noisy half of LibriSpeech, while running roughly three times faster than Small. And the API it replaces, SFSpeechRecognizer, came last on clean speech: behind even Whisper Tiny, a 40MB model. Engine test-clean WER test-other WER Model size Apple SpeechAnalyzer (iOS/macOS 26) 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 Apple SFSpeechRecognizer (legacy) 9.02% 16.25% system Lower is better: WER is word error rate, the percentage of words an engine substitutes, drops, or invents. LibriSpeech test-clean is 2,620 utterances of clean read speech; test-other is 2,939 harder, noisier utterances. Every engine ran fully on-device on an Apple M2 Pro (32GB, macOS 26.5.1). Apple SpeechAnalyzer 2.12% Whisper Small 3.74% Whisper Base 5.42% Whisper Tiny 7.88% SFSpeechRecognizer (legacy) 9.02% Why we ran this With iOS 26 and macOS 26, Apple replaced SFSpeechRecognizer with a new API, SpeechAnalyzer and SpeechTranscriber. It published no accuracy figures for either one. So every developer deciding whether to migrate, and everyone comparing Apple's built-in recognition against Whisper, has been guessing. We ship both Apple engines and three Whisper models side by side in Inscribe , a private on-device AI workspace, which puts us in an unusual position: we can run all five through identical production code paths on the same machine and the same audio. So we did. Should you migrate off SFSpeechRecognizer? Yes. This is the clearest result in the data. The new API cuts word error rate by 3.5 to 4x on the same audio: from 9.02% to 2.12% on clean speech, and from 16.25% to 4.56% on noisy speech. There is no accuracy trade-off to weigh; the new API wins everywhere we measured, and it produces punctuated, cased text where the legacy engine's output is rougher. Put differently: an hour-long meeting transcribed with the legacy API contains roughly four times as many wrong words as the same meeting through SpeechAnalyzer. If your app still uses SFSpeechRecognizer for anything longer than a voice command, the migration is worth it on accuracy alone. SpeechAnalyzer vs Whisper The more surprising result: Apple's new engine also beat Whisper Small, the largest model we ship, by a comfortable margin on both splits, at roughly a third of Whisper Small's compute time per second of audio. For English, on Apple hardware, the built-in engine is now the strongest on-device option we can measure. Whisper keeps two real advantages. It covers far more languages (SpeechTranscriber supports around 30 locales), and it runs anywhere, not just on Apple platforms with OS 26. But for English transcription on a current iPhone or Mac, the days of Whisper being the automatic accuracy pick are over. We changed our own product on this result: Inscribe's Auto engine now prefers SpeechAnalyzer for the languages it supports, and Whisper for everything else. Shipping a benchmark and ignoring it in your own defaults would be a strange kind of honesty. Speed All five engines ran comfortably faster than real time: between roughly 12x and 40x on the M2 Pro, meaning an hour of audio transcribes in about 1.5 to 5 minutes on-device. SpeechAnalyzer was about 3x faster than Whisper Small per second of audio while beating it on accuracy. We are deliberately not printing a precise per-engine timing table yet: the accuracy runs shared the machine with a development workload, which does not affect WER but does add noise to timing. We will update this page with timings from a dedicated idle run. Methodology, and why you can check it A benchmark from a company that sells one of the engines should be treated with suspicion. Ours has two properties designed for that suspicion. The Whisper column is reproducible against OpenAI's own numbers We used LibriSpeech precisely because OpenAI published Whisper's WER on it. If our harness measured Whisper correctly, our numbers should land on theirs. They do, on all six measurements: Engine / split Ours OpenAI published Delta Whisper Tiny, test-clean 7.88% 7.6% +0.28 Whisper Base, test-clean 5.42% 5.0% +0.42 Whisper Small, test-clean 3.74% 3.4% +0.34 Whisper Tiny, test-other 17.04% 16.9% +0.14 Whisper Base, test-other 12.51% 12.4% +0.11 Whisper Small, test-other 7.95% 7.6% +0.35 The small, consistent positive offset (a slightly stricter text normalizer plus CoreML quantization) is what honest reproduction looks like; random error would scatter in both directions. Since the same corpus, normalizer, and scorer produced the Apple columns, the numbers nobody else can check inherit the validation from the numbers anyone can. The raw transcripts are public Every per-utterance hypothesis for both Apple engines is downloadable below, next to the reference text and per-utterance WER. Disagree with our normalization? Rescore it yourself. summary.json - all ten measurements, machine-readable (3KB) raw-transcripts-apple.json.gz - SpeechAnalyzer, all 5,559 utterances (620KB) raw-transcripts-legacy.json.gz - SFSpeechRecognizer, all 5,559 utterances (620KB) Details that decide whether a WER number means anything Same production code paths. Each engine ran through the exact code Inscribe users get, not a lab harness with different buffering or settings. Text normalization. LibriSpeech references are uppercase, unpunctuated, with numbers spelled out; modern engines emit punctuation and digits. Both sides pass through the same normalizer (casing, punctuation, digits-to-words, contractions), mirroring OpenAI's English normalizer. Score raw text and you punish engines for formatting nicely rather than for mishearing. Corpus WER, not averaged WER. Total errors divided by total reference words, so short utterances are not over-weighted. Fully on-device, verified. SFSpeechRecognizer sends audio to Apple's servers by default. We forced on-device recognition and made the harness refuse to run rather than silently fall back to the cloud, both because a cloud result would invalidate the comparison and because we were not going to upload 5,559 utterances from a privacy product. Failures counted, not hidden. An engine returning nothing scores 100% WER for that utterance. It happened once in 27,795 transcriptions (legacy, test-other). What building this taught us about our own app The benchmark found a shipping bug in Inscribe. Our Apple-engine file import fed audio to SpeechAnalyzer and closed the input stream, but never called finalizeAndFinishThroughEndOfInput() . Without that call the analyzer never delivers its final results, and the import hangs forever. It had gone unnoticed because our Auto setting preferred Whisper. The fix shipped the same day, and it is part of why we publish the harness details: measuring your own product carefully has a way of finding the things you were not looking for. Limitations English only. LibriSpeech is English read speech. These numbers say nothing about the 100+ languages Whisper supports that SpeechTranscriber does not. Read audiobook speech, not meetings. LibriSpeech is the standard, comparable corpus, which is why we started with it. Accented, far-field, and multi-speaker meeting audio is the obvious follow-up. One machine. M2 Pro, macOS 26.5.1. Accuracy should transfer across Apple Silicon; speed will vary by chip. Whisper via WhisperKit CoreML. Quantized on-device conversions, the same builds Inscribe ships. Reference GPU implementations may differ slightly, which the validation table quantifies. What this means if you just want good transcription If you are on a current iPhone or Mac, the best on-device transcription engine for English is already in the operating system, and the private option is no longer the compromise option. Inscribe uses exactly the engines measured here: SpeechAnalyz