エッジAIラボ
エッジAIラボ
実測カルテ①・NO-GO判定

whisper-tinyの全文文字起こしはNO-GO

指差呼称の記録用途を想定した実測記録です。静音・雑音下でrecallが基準に届かず、SNR5dBでは暴走生成によるUIフリーズも確認しました。

① 検証課題

whisper-tiny(オープン語彙の全文ASR)をブラウザ内で動かし、指差呼称の音声をそのまま文字起こしする方式が、記録・判定用途に使える精度か。

② 環境

  • モデル: whisper-tiny(transformers.js経由でブラウザ内推論。ONNX Runtime Web 1.27.0)
  • 実行方式: Chromium(Playwright 1.61.1バンドル版、headless制御)上での実推論。サーバ側処理ではありません。
  • 実行日: 2026-07-17
  • CPU・GPU・OS: 実行環境のCPU型番・GPUモデル・OSはハーネスのログに記録なしです(本カルテはCPU/WASM実行のためGPU性能はレイテンシに寄与しません)。
  • 音声条件: 静音(quiet)/SNR10dB/SNR5dBの3条件
  • 試験セット: 呼称フレーズ10種+雑談(誤受理チェック用)10種を、edge-tts合成音声2話者(ja-JP-KeitaNeural/ja-JP-NanamiNeural)で読み上げ。各条件20発話(呼称10種+雑談10種を話者2種に配分)、3条件合計60発話(話者数を掛けて120にはならない)
  • 照合方法: ASR出力と正解フレーズをかな読みに変換し、類似度スコア(rapidfuzzの正規化indel比)で照合。類似度60以上を「一致」と判定(50・70でも感度確認)

③ 判定基準(事前に置いた基準)

このスパイク検証で事前に定義した基準です(測定スクリプトのdocstringに明記)。

実測カルテ①の判定基準一覧
指標基準
recall(静音)90%以上
recall(雑音下: SNR10dB・SNR5dB)80%以上
誤受理率(雑談を呼称と誤判定)5%以下
p95レイテンシ(発話終了→判定)2500ms以下

④ 結果(実測値)

ミリ秒の実測値は小数点以下を四捨五入して表記します(本ページ・関連カルテ共通の丸め規則)。

実測カルテ①の条件別recall・誤受理率・p95レイテンシ
条件recall(基準90%/80%)誤受理率(基準5%以下)p95レイテンシ(基準2500ms以下)
静音(quiet)80%(未達)0%1539ms
SNR10dB50%(未達)0%1537ms
SNR5dB0%(未達)0%22981ms(未達)
雑音下 合算(snr10+snr5・しきい値60)25%(基準80%に対し未達)

しきい値を動かしても解決しない(トレードオフの実測)

類似度しきい値ごとの雑音下recallと誤受理率
類似度しきい値雑音下recall(snr10+snr5)誤受理率(全条件)
5045%6.7%(基準5%超過)
60(採用値)25%0%
7025%0%

しきい値を50まで下げると雑音下recallは45%まで改善しますが、誤受理率が6.7%まで悪化し基準(5%以下)を超えるため採用できません。70まで上げても雑音下recallは25%のままです。recallと誤受理率はトレードオフの関係にあり、しきい値調整だけではどちらの基準も同時に満たせません。

意味が反転する誤認識例

静音条件でも、聞き取り自体はできていても意味が反転する誤りが発生しました。

正解「電源オフヨシ」 → ASR出力「電源を増やし」

(同じ発話のSNR10dB条件では「電源を強し」、SNR5dBでは暴走生成により無関係な文字列を出力)

暴走生成によるUIフリーズ(SNR5dB・呼称10件中2件)

SNR5dB条件の呼称フレーズ10件中2件(call_02・call_05)で、デコーダが同じ音を繰り返し生成し続ける暴走が発生し、1件あたり約23秒(22979〜23021ms)処理が返りませんでした。通常時(1.3〜1.5秒)の約15倍です。

generateOptionsで暴走は解消できるが、recallは変わらない

max_new_tokens=16 に制限すると暴走は解消しました(SNR5dBのmax latencyが23021ms→1792msに短縮、外れ値0件)。しかも各条件のrecallは変化しませんでした(しきい値60で静音80%・SNR10dB 50%・SNR5dB 0%のまま)。

これは生成トークン数の制御では直らない、モデルサイズ自体の認識精度の限界を示しています。

⑤ この実測から言えないこと

  • 試験セットはedge-tts合成音声2話者・呼称10種のみです。実際の現場の肉声・訛り・マスク越しの発話等では結果が変わる可能性があります。
  • whisper-tiny以外のモデルサイズ(whisper-base等)がNO-GOという意味ではありません。同条件でのwhisper-baseの結果は実測カルテ②をご覧ください。
  • ここでの「全文文字起こし」はオープン語彙のASRを指します。あらかじめ決まった呼称パターンのみを判定する専用の分類器(KWS)とは方式が異なります(実測カルテ③で比較)。
  • SNR5dBの暴走発生率(2/10)は少数試行での実測であり、母比率の厳密な推定ではありません。

⑥ 再現方法

同じ方式のブラウザ内ASRは音声文字起こしデモで試せます(モデルサイズはデモ側の既定値を使用)。指差呼称の記録用途としての実装は指差呼称チェッカーで確認できます。

この検証で使った測定ハーネス(音声条件生成・バッチ実行・採点スクリプト一式)と生の実測データは、社内の検証用リポジトリに保存済みです(本サイトの公開リポジトリには含まれません)。数値の再検証をご希望の場合はお問い合わせください。

出典(内部データファイル名・参考情報): recall/誤受理率/p95はasr/score_summary.json(採用しきい値60時点)とasr/arm1_score_summary.json(max_new_tokens=16版)。誤認識例・暴走件数の個票はasr/batch_results.json

関連する業務ページ

この実測が、自社の記録用途にそのまま使えるかを先に整理する

この仕組みが自分の現場に要るか、先に整理する

いくつかの質問に答えると、次に試すデモ・追加で確かめること・PoC受入基準のひな型が表示されます。登録は不要で、結果はその場で全部見られます。

意思決定室で整理する(登録不要・約3分)
← 実機ベンチ大全に戻る