🎙️ AppleのSpeechAnalyzerがWhisper Smallに勝った — ただし英語のベンチだけ見て乗り換えるのは早い
iOS 26/macOS 26のSpeechAnalyzer APIをLibriSpeechでベンチした結果、WER 2.12%でWhisper Smallの3.74%を上回り速度は約3倍。完全オンデバイスの強みと、英語限定ベンチ・話者分離なしという落とし穴を整理する。
うちの会議録音は、Macの画面収録APIで録ってmlx-whisperでローカル文字起こしする構成で回している。クライアントとの会話を外部ベンダーに渡したくない、という一点でオンデバイスを選んだ。だから「AppleのネイティブAPIがWhisperより速くて正確」というベンチ記事には、当事者として飛びついた。
文字起こしSaaSのInscribeが、iOS 26/macOS 26で入ったSpeechAnalyzer APIをLibriSpeech(音声認識の定番英語データセット)で計測した。M2 Pro・macOS 26.5.1での結果はこうだ。
| クリーン音声 WER | ノイズ環境 WER | 速度 | |
|---|---|---|---|
| SpeechAnalyzer | 2.12% | 4.56% | Whisper Small比 約3倍 |
| Whisper Small | 3.74% | 7.95% | 基準 |
| Whisper Large-v3 | 2.7% | 5.2% | — |
WER(単語誤り率)は低いほど良い。つまり英語では、AppleのAPIがWhisper Smallを精度で抜き、Large-v3ともクリーン音声で互角以上。それが3倍速で、モデル管理も推論コードも不要のOS標準APIで動く。旧SFSpeechRecognizerがWER 9%台で「使えなくはない」レベルだったことを思うと、別物の進化です。
Swiftから見ると確かに楽になった
SpeechAnalyzerはWWDC 2025で発表され、iOS 26 / macOS 26に載った。完全オンデバイスでクラウドフォールバックが存在しないので、音声が端末を出ない保証がAPIレベルである。ストリーミング(リアルタイム文字起こし)対応、対応言語は日本語含む約30ロケール。旧APIで必要だった設定アプリでの事前有効化も不要になった。
// 対応ロケールの確認とモデル取得だけで使い始められる
let locales = await SpeechTranscriber.supportedLocales
プライバシー要件で文字起こしをローカルに縛っている自分のような人間には、「OSに最初から入っていて、Appleがモデルを面倒見てくれる」のは運用がひとつ消えることを意味する。
それでもmlx-whisperを捨てない理由
ただ、このベンチだけ見て乗り換えを決めるのは早い。落とし穴が3つある。
まずベンチが英語のみ。日本語のWERは計測されていない。うちの用途は日本語会議が9割なので、この表は参考値でしかない。次に比較対象が古い。HNでも突かれていたが、Whisper側の代表を今出すならlarge-v3 turboやNVIDIAのParakeetで、Smallとの比較は少し勝ちやすい相手を選んだ感がある。Inscribeは文字起こし製品の会社なので、その分は割り引いて読む。
最後が実務では一番大きい。話者分離(diarization)が無い。誰の発言かが取れないと議事録には育たないので、会議用途ではWhisper+pyannote系のパイプラインにまだ分がある。医療・法律のようなドメイン用語の辞書学習も未実装だ。
言語ごとにモデルを個別ダウンロードする仕様(自動言語検出なし)も、多言語アプリでは配布サイズとUXに直撃する。Whisperの「1モデルで100言語・自動判別」と正反対の設計思想です。
自分の結論は「単発の音声入力・英語系はSpeechAnalyzerへ、会議議事録はWhisper系続投」。次の休みに日本語会議の録音を両方に食わせてWERを実測してみるつもりだ。同じことをした人がいたら結果を教えてほしい。日本語の数字が世界のどこにもまだ無いんですよ。