Apple SpeechAnalyzer API、Whisper・旧APIとの比較ベンチマーク
(get-inscribe.com)- Apple M2 Proで5,559件のLibriSpeech音声を同じプロダクションコードで処理した結果、SpeechAnalyzerはクリーンな音声で2.12%、ノイズの多い音声で4.56%の単語誤り率(WER)となり、テストしたすべてのエンジンより高精度だった
- 従来のSFSpeechRecognizerのWERはそれぞれ9.02%と16.25%で、新APIは同じ音声に対する誤りを3.5〜4倍減らしつつ、句読点と大文字・小文字の区別も適用する
- SpeechAnalyzerはWhisper Smallより高精度で約3倍高速だったが、サポート範囲は約30ロケールとOS 26以降のAppleプラットフォームに限られる
- すべてのエンジンがM2 Pro上でリアルタイムより約12〜40倍高速に動作し、1時間分を1.5〜5分で処理したが、開発作業が並行して行われた環境だったため、エンジン別の厳密な速度は公開されていない
- 現在iPhoneやMacで英語をオンデバイス文字起こしするなら、SpeechAnalyzerが第一候補になり得る。Inscribeも、対応言語にはSpeechAnalyzerを、それ以外にはWhisperを使うようデフォルト設定を変更した
精度ベンチマーク結果
- **単語誤り率(WER)**は、エンジンが単語を誤って置き換えたり、抜かしたり、新たに作り出したりした割合で、低いほど高精度
- すべてのエンジンはApple M2 Pro 32GBとmacOS 26.5.1上で完全にオンデバイス実行された
- LibriSpeechの2つの評価データセットを使用した
test-clean: きれいに朗読された音声2,620件test-other: より難しくノイズの多い音声2,939件
- エンジン別のWERとモデルサイズは次の通り
- Apple SpeechAnalyzer:
test-clean2.12%、test-other4.56%、システムモデル - Whisper Small: 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%、システムモデル
- Apple SpeechAnalyzer:
- AppleはiOS 26とmacOS 26でSFSpeechRecognizerをSpeechAnalyzer・SpeechTranscriberに置き換えたが、精度の数値は公開していない
- Inscribeは2つのAppleエンジンと3つのWhisperモデルを合わせて提供しているため、同じコンピュータ・音声・プロダクションコードパスで5つのエンジンを比較できた
SFSpeechRecognizerから移行すべき理由
- SpeechAnalyzerは同じ音声で従来APIよりWERを3.5〜4倍低下させる
- クリーンな音声: 9.02%から2.12%へ低下
- ノイズの多い音声: 16.25%から4.56%へ低下
- 精度だけでなく句読点と大文字・小文字が適用されたテキストを生成し、従来エンジンより結果が整っている
- 同じ1時間分を文字起こしすると、従来APIで誤認識される単語はSpeechAnalyzerよりおおよそ4倍多くなる
- 音声コマンドより長い音声を処理するアプリなら、精度差だけでも移行する十分な根拠になる
SpeechAnalyzerとWhisperの選択基準
- SpeechAnalyzerは2つのデータセットの両方で、テスト対象の中で最大のWhisperモデルであるWhisper Smallより低いWERを記録した
- 音声1秒あたりの演算時間もWhisper Smallの約3分の1で、精度と速度の両方で上回った
- 英語をAppleハードウェアで処理する場合、テスト可能なオンデバイスエンジンの中でSpeechAnalyzerが最も強い結果を示した
- Whisperには2つの利点が残っている
- SpeechTranscriberが約30ロケールをサポートするのに対し、はるかに多くの言語をサポートする
- OS 26以降のAppleプラットフォームに限定されず、複数の環境で実行できる
- Inscribeの
Autoエンジンは測定結果に基づき、対応言語にはSpeechAnalyzer、その他の言語にはWhisperを優先使用するよう変更された
処理速度と測定上の制約
- 5つのエンジンはいずれもM2 Pro上でリアルタイムより約12〜40倍高速に動作した
- 1時間分の音声をオンデバイスで約1.5〜5分で文字起こしできた
- SpeechAnalyzerはWhisper Smallより約3倍高速で、より低いWERを記録した
- 精度測定中、同じコンピュータで開発作業も実行されていたため、エンジン別の処理時間にノイズが混じった
- この作業負荷はWERには影響しない
- 厳密なエンジン別速度表は、専用のアイドル環境で再測定した後に追加する予定
再現性と公開データ
- Whisperの測定値はOpenAIが公開したLibriSpeech結果に近く、ベンチマークハーネスの一貫性を確認できた
- Whisper Tiny
test-clean: 測定値7.88%、OpenAI 7.6%、差 +0.28%p - Whisper Base
test-clean: 5.42%、5.0%、+0.42%p - Whisper Small
test-clean: 3.74%、3.4%、+0.34%p - Whisper Tiny
test-other: 17.04%、16.9%、+0.14%p - Whisper Base
test-other: 12.51%、12.4%、+0.11%p - Whisper Small
test-other: 7.95%、7.6%、+0.35%p
- Whisper Tiny
- すべての測定値がわずかに高く出た理由は、より厳格なテキスト正規化器とCoreML量子化にある
- 同じコーパス・正規化器・採点器をAppleエンジンにも適用したため、Whisper結果との一致が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の測定方法とオンデバイス検証
- 各エンジンは実験用設定ではなく、Inscribeユーザーが実際に利用するプロダクションコードパスとバッファリング設定で実行された
- LibriSpeechの参照テキストは大文字で句読点がなく、数字が単語で書かれているが、最新エンジンは句読点と数字を含めて出力する
- 両方のテキストに、大文字・小文字、句読点、数字の単語変換、短縮形を処理する同一の正規化器を適用した
- 見やすい形式を生成したエンジンが不利にならないよう、原文をそのまま採点せず、OpenAIの英語正規化方式に従った
- 短い文が過度に反映されないよう、文ごとのWER平均ではなく、総エラー数を参照単語総数で割ったコーパスWERを使用した
- SFSpeechRecognizerはデフォルトでAppleサーバーへ音声を送信できるため、オンデバイス認識を強制した
- クラウドへ自動切り替えされると比較が無効になるため、ハーネスが実行を拒否するよう構成した
- プライバシー保護製品で5,559件の音声をサーバーへアップロードしないための措置でもある
- 結果を返さなかったケースも隠さず、その文のWERを100%として計算した
- 全27,795回の文字起こし中1回発生し、SFSpeechRecognizerの
test-otherの事例だった
- 全27,795回の文字起こし中1回発生し、SFSpeechRecognizerの
ベンチマークで見つかった製品バグ
- InscribeのAppleエンジンのファイル取り込み機能は、音声をSpeechAnalyzerに渡して入力ストリームを閉じたが、**
finalizeAndFinishThroughEndOfInput()**を呼び出していなかった - この呼び出しがないと、アナライザーが最終結果を渡さず、ファイル取り込みが無期限に停止する
Auto設定はそれまでWhisperを優先使用していたため、このバグは発見されていない状態だった- ベンチマークの過程で問題を確認し、修正は同日配布された
制限と実際の適用範囲
- 英語の朗読音声のみを評価したため、Whisperは対応しているがSpeechTranscriberは対応していない100以上の言語には結果を適用できない
- LibriSpeechは比較可能な標準コーパスだが、会議音声ではない
- アクセントのある音声、遠くから録音した音声、複数話者が参加する会議は今後の評価対象
- M2 ProとmacOS 26.5.1の1台のみで測定した
- 精度は他のApple Siliconでも維持されると予想されるが、速度はチップによって変わる
- WhisperはInscribeが実際に提供するWhisperKit CoreML量子化モデルで実行した
- 基準GPU実装では結果がわずかに異なる可能性があり、OpenAI公開値との差は再現性の表に反映されている
- 現在iPhoneやMacで英語を文字起こしするなら、OS内蔵のSpeechAnalyzerが測定上最も正確なオンデバイスの選択肢だった
- Inscribeは対応言語でSpeechAnalyzerを、それ以外でWhisperを使用し、すべての処理をデバイス内で実行して音声をアップロードしない
1件のコメント
Hacker Newsのコメント
Whisperは比較基準として適切ではなく、今では Nvidia の Nemotron・Parakeet、Mistral の Voxtral、Cohere Transcribe のような、より優れた最新モデルがある
一方で Whisper を単に包んだだけの有料アプリの多くは打撃を受けそう。Apple が macOS 向けの録音アプリのようなネイティブ GUI を出せば、最近のバイブコーディングで作られているラッパーアプリの大半は不要になりそう
Mac の録音には Willow を勧める。内容を整理しつつほぼ即時に処理してくれるので、自分にとっては「完璧な文字起こしより良い」レベルで、Superwhisper も気に入っていたが差が大きくて Willow に移った
これ以上良くなる余地があるのか疑わしいほど優れており、音声認識はすでに解決済みか、遅くとも5年以内には解決される問題に見える。関連企業が長期的に生き残れるかは分からないが、消費者にとっては素晴らしく、2030年の Apple SpeechAnalyzer が十分に良くなればサードパーティー製ソフトウェアは不要になりそう
主用途である数学講義の字幕生成で Whisper-Large-V2 と比べたところ、かなり高速で、精度はやや低かった。リアルタイム文字起こしには十分使えるが、字幕を即座に作る必要はないので、しばらくは Whisper を使い続けるつもり
iPhone 17 Pro で1時間分の音声を1分で処理する
Voxtralとの比較の方が適切。自分の会議文字起こしでは、公開・非公開モデルを含めてもこれほど低い頭字語誤り率(AER)を出したモデルはなく、仕事で使うあらゆる技術用語も理解または推測してくれるので、ほとんど修正が要らない。Whisper は悲惨なほど悪かった
Whisper small・tiny・base はほぼ4年前のモデルで、Whisper v2 や v3 でも更新されていないのだから、そろそろ より良い比較対象を使うべきではないか
印象的だ。Apple は 27でモデルを改善したと言っていたので、ベータ版での測定結果も気になる
これは 1年前の通常版 iPhone 17 では、Pro ではないという理由で動かせない新しい音声入力エンジンなのか?
Spokenly を Nvidia モデルとオフライン専用モードで使っている。すべての処理がローカルで行われ、完全無料なので強く勧めたい
Whisper large と large v3 turbo もベンチマークしてほしい。古い MacBook でも問題なく動き、実時間係数(RTF)が1未満で、自動音声認識のランキング表とは違って、実際の音声入力では Parakeet 系よりずっと正確だ
Whisper large v3 turbo は最新の iPhone でもローカルで問題なく動くのに、比較対象から外れているのは不思議だ