업데이트 2026-07-15: 2차 벤치마크가 공개되었습니다. 가장 많은 분들이 요청하신 NVIDIA Parakeet TDT v2/v3와 MOSS-Transcribe-Diarize를 동일한 코퍼스와 동일한 채점 방식으로 측정했습니다.
결론부터
Apple의 새 SpeechAnalyzer는 저희가 테스트한 온디바이스 음성 인식 엔진 중 가장 정확했습니다. LibriSpeech의 깨끗한 음성과 잡음 있는 음성 양쪽 모두에서, 당시 저희가 탑재하고 있던 모든 Whisper 모델(Whisper Small 포함)을 앞섰고, 속도는 Small보다 약 3배 빨랐습니다. 그리고 이 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(단어 오류율)은 엔진이 단어를 바꾸거나, 빠뜨리거나, 지어내는 비율입니다. LibriSpeech test-clean은 깨끗한 낭독 음성 발화 2,620개, test-other는 더 어렵고 잡음이 많은 발화 2,939개로 구성됩니다. 모든 엔진은 Apple M2 Pro(32GB, macOS 26.5.1)에서 완전히 온디바이스로 실행했습니다.
왜 이 벤치마크를 진행했나
Apple은 iOS 26과 macOS 26에서 SFSpeechRecognizer를 새 API인 SpeechAnalyzer와 SpeechTranscriber로 교체하면서, 어느 쪽에 대해서도 정확도 수치를 공개하지 않았습니다. 그래서 마이그레이션 여부를 고민하는 모든 개발자와, Apple 내장 음성 인식을 Whisper와 비교하려는 모든 사람이 지금까지 추측에 의존해 왔습니다.
이 벤치마크를 진행할 당시 저희는 프라이빗 온디바이스 AI 워크스페이스인 Lyonesse에 두 Apple 엔진과 세 가지 Whisper 모델을 나란히 탑재하고 있었습니다. 덕분에 다섯 엔진 모두를 같은 기기, 같은 오디오, 동일한 프로덕션 코드 경로로 돌릴 수 있는 흔치 않은 위치에 있었고, 그래서 직접 측정했습니다.
SFSpeechRecognizer에서 이전해야 할까?
네. 데이터에서 가장 분명한 결과입니다. 새 API는 같은 오디오에서 단어 오류율을 3.5~4배 낮춥니다. 깨끗한 음성에서 9.02% → 2.12%, 잡음 있는 음성에서 16.25% → 4.56%입니다. 저울질할 정확도 트레이드오프가 없습니다. 새 API는 저희가 측정한 모든 영역에서 이겼고, 레거시 엔진의 거친 출력과 달리 구두점과 대소문자가 제대로 붙은 텍스트를 내놓습니다.
바꿔 말하면, 레거시 API로 1시간짜리 회의를 전사한 회의록에는 SpeechAnalyzer로 만든 같은 회의록보다 약 4배 많은 오인식 단어가 들어갑니다. 짧은 음성 명령 이상의 받아쓰기에 아직 SFSpeechRecognizer를 쓰고 있다면, 정확도 하나만으로도 이전할 가치가 충분합니다.
SpeechAnalyzer vs Whisper
더 놀라운 결과는 이쪽입니다. Apple의 새 엔진은 저희가 탑재했던 가장 큰 모델인 Whisper Small마저 두 테스트 세트 모두에서 여유 있게 앞섰고, 오디오 1초당 연산 시간은 Whisper Small의 약 3분의 1이었습니다. 영어 기준, Apple 하드웨어에서는 이제 내장 엔진이 저희가 측정할 수 있는 가장 강력한 온디바이스 음성 텍스트 변환 옵션입니다.
Whisper에는 여전히 두 가지 실질적인 강점이 있습니다. 훨씬 많은 언어를 지원하고(SpeechTranscriber는 약 30개 로케일 지원), OS 26이 깔린 Apple 플랫폼이 아니어도 어디서든 돌아갑니다. 하지만 최신 iPhone이나 Mac에서의 영어 전사라면, Whisper가 자동으로 정확도 1순위이던 시대는 끝났습니다.
저희는 이 결과에 따라 제품 자체를 바꿨습니다. Lyonesse의 Auto 엔진은 이제 지원 언어에서 SpeechAnalyzer를 우선합니다. (2차 벤치마크 이후에는 한 걸음 더 나아가, Lyonesse 1.8.9부터 Whisper 모델을 완전히 퇴역시키고 폴백 엔진을 NVIDIA Parakeet으로 교체했습니다.) 벤치마크를 공개해 놓고 자기 제품 기본값에는 반영하지 않는다면, 그건 이상한 종류의 정직함일 테니까요.
속도
다섯 엔진 모두 실시간보다 훨씬 빨랐습니다. M2 Pro 기준 약 12~40배로, 1시간 분량의 오디오가 온디바이스에서 약 1.5~5분 만에 전사된다는 뜻입니다. SpeechAnalyzer는 오디오 1초당 기준으로 Whisper Small보다 약 3배 빠르면서 정확도까지 앞섰습니다. 다만 엔진별 정밀 타이밍 표는 아직 일부러 싣지 않습니다. 정확도 측정 실행이 개발 작업과 같은 머신을 공유했는데, 이는 WER에는 영향이 없지만 타이밍에는 노이즈를 더하기 때문입니다. 유휴 상태의 전용 실행으로 측정한 타이밍으로 이 페이지를 업데이트하겠습니다.
측정 방법, 그리고 직접 검증할 수 있는 이유
비교 대상 엔진 중 하나를 판매하는 회사가 내놓는 벤치마크는 의심하며 봐야 마땅합니다. 저희 벤치마크는 바로 그 의심을 위해 설계된 두 가지 장치를 갖추고 있습니다.
Whisper 열은 OpenAI의 공식 수치로 재현 검증됩니다
LibriSpeech를 고른 이유가 바로 OpenAI가 Whisper의 WER을 이 코퍼스로 공개했기 때문입니다. 저희 하네스가 Whisper를 올바르게 측정했다면 저희 수치는 OpenAI의 수치 위에 내려앉아야 합니다. 실제로 6개 측정값 전부가 그렇습니다.
| 엔진 / 테스트 세트 | 저희 측정 | OpenAI 공식 | 차이 |
|---|---|---|---|
| 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 |
작고 일관된 양(+)의 오프셋(약간 더 엄격한 텍스트 정규화기와 CoreML 양자화의 영향)이야말로 정직한 재현의 모습입니다. 무작위 오차라면 양방향으로 흩어졌을 것입니다. 같은 코퍼스, 같은 정규화기, 같은 채점기가 Apple 열도 산출했으므로, 다른 누구도 검증할 수 없는 수치가 누구나 검증할 수 있는 수치로부터 신뢰를 물려받습니다.
원본 트랜스크립트 전체 공개
두 Apple 엔진의 발화별 인식 결과 전체를 참조 텍스트, 발화별 WER과 함께 아래에서 다운로드할 수 있습니다. 저희 정규화 방식에 동의하지 않으신다면 직접 재채점하시면 됩니다.
- summary.json - 10개 측정값 전체, 기계 판독 가능 (3KB)
- raw-transcripts-apple.json.gz - SpeechAnalyzer, 발화 5,559개 전체 (620KB)
- raw-transcripts-legacy.json.gz - SFSpeechRecognizer, 발화 5,559개 전체 (620KB)
WER 수치의 의미를 좌우하는 세부 사항
- 동일한 프로덕션 코드 경로. 각 엔진은 버퍼링이나 설정이 다른 실험용 하네스가 아니라, Lyonesse 사용자가 실제로 쓰는 코드 그대로를 통해 실행되었습니다.
- 텍스트 정규화. LibriSpeech 참조 텍스트는 대문자에 구두점이 없고 숫자가 문자로 풀어써져 있는 반면, 최신 엔진은 구두점과 숫자를 출력합니다. 양쪽 모두 OpenAI의 영어 정규화기를 따른 동일한 정규화기(대소문자, 구두점, 숫자→문자, 축약형)를 거칩니다. 원문 그대로 채점하면 잘못 들은 것이 아니라 깔끔하게 표기한 것에 벌점을 주게 됩니다.
- 평균 WER이 아닌 코퍼스 WER. 총 오류 수를 총 참조 단어 수로 나누어, 짧은 발화가 과대 반영되지 않도록 했습니다.
- 완전 온디바이스, 검증 완료. SFSpeechRecognizer는 기본적으로 오디오를 Apple 서버로 전송합니다. 저희는 온디바이스 인식을 강제하고, 클라우드로 조용히 폴백하는 대신 실행 자체를 거부하도록 하네스를 만들었습니다. 클라우드 결과는 비교를 무효로 만들기 때문이기도 하고, 프라이버시 제품에서 발화 5,559개를 업로드할 생각이 없었기 때문이기도 합니다.
- 실패도 숨기지 않고 집계. 아무것도 반환하지 않은 엔진은 해당 발화에서 100% WER로 처리됩니다. 27,795건의 전사 중 단 한 번 발생했습니다(레거시, test-other).
이 벤치마크가 우리 앱에 대해 알려준 것
벤치마크가 Lyonesse의 실제 출시 버그를 찾아냈습니다. Apple 엔진으로 파일을 가져오는 코드가 SpeechAnalyzer에 오디오를 넣고 입력 스트림을 닫으면서 finalizeAndFinishThroughEndOfInput()을 호출하지 않았던 것입니다. 이 호출이 없으면 분석기는 최종 결과를 끝내 내놓지 않고, 가져오기는 영원히 멈춰 있게 됩니다. Auto 설정이 Whisper를 우선하고 있었기에 눈에 띄지 않던 버그였습니다. 수정은 같은 날 출시되었고, 저희가 하네스 세부 사항까지 공개하는 이유 중 하나가 이것입니다. 자기 제품을 꼼꼼히 측정하다 보면, 찾으려 하지 않았던 것들이 발견되곤 합니다.
한계
- 영어 한정. LibriSpeech는 영어 낭독 음성입니다. 이 수치는 SpeechTranscriber가 지원하지 않는, Whisper가 지원하는 100개 이상의 언어에 대해서는 아무것도 말해주지 않습니다.
- 회의가 아닌 오디오북 낭독 음성. LibriSpeech는 비교 가능한 표준 코퍼스라 여기서 시작했습니다. 억양이 있거나, 마이크에서 멀거나, 화자가 여러 명인 회의 오디오가 당연한 다음 과제입니다.
- 단일 기기. M2 Pro, macOS 26.5.1. 정확도는 Apple Silicon 전반에 걸쳐 유지되겠지만, 속도는 칩에 따라 달라집니다.
- Whisper는 WhisperKit CoreML 기준. 양자화된 온디바이스 변환본으로, 당시 Lyonesse가 탑재했던 것과 동일한 빌드입니다(1.8.9부터는 Whisper 대신 NVIDIA Parakeet을 탑재합니다). 레퍼런스 GPU 구현과는 약간 다를 수 있으며, 그 차이는 위의 검증 표가 정량화합니다.
그냥 정확한 음성 텍스트 변환을 원하는 분들에게 의미하는 것
최신 iPhone이나 Mac을 쓰고 있다면, 영어에서 가장 뛰어난 온디바이스 전사 엔진은 이미 운영체제 안에 들어 있습니다. 그리고 프라이버시를 지키는 오프라인 AI가 더 이상 타협안이 아닙니다. Lyonesse는 정확히 여기서 측정한 엔진들을 사용합니다. 지원되는 언어에서는 SpeechAnalyzer를, 그렇지 않은 언어에서는 폴백 엔진(1.8.9부터는 Whisper를 대신하는 NVIDIA Parakeet)을 — 녹음, 전사, 요약 모두 완전히 온디바이스로 처리되며, 처리를 위해 업로드되는 것은 없습니다. 벤치마크는 제품과 별개가 아니라, 제품이 무엇을 할지 결정하는 방식 그 자체입니다.