🎙️ 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速度
SpeechAnalyzer2.12%4.56%Whisper Small比 約3倍
Whisper Small3.74%7.95%基準
Whisper Large-v32.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を実測してみるつもりだ。同じことをした人がいたら結果を教えてほしい。日本語の数字が世界のどこにもまだ無いんですよ。

元ネタ: https://get-inscribe.com/blog/apple-speech-api-benchmark.html