AI Product / PoC
発音・話し方フィードバック
日本語・英語の「話し方」を、抑揚・間・強弱・話速の観点で練習するWebアプリ。短い自由発話を録ると、単調さ・詰まり・フィラーなどを解析して単語単位の重畳表示とピッチ曲線で可視化し、LLMが「どこを・どう直せばよいか」を具体的にフィードバックします。
主な成果
- 計1,680クリップ(JVS + LibriSpeech)の自動評価でASR一致率 平均0.953
- 詰まり(語中ポーズ)の誤検出率 2.7%
- 同一文の棒読み/抑揚あり比較で単調さスコア 0.74 vs 0.15 を分離
背景
話し方の独学には「自分の声を客観的に聞けない」「どこが悪いか言語化できない」「どう直せばいいか分からない」という3つの壁があります。動画などで話す人を想定し、5〜10秒の短い発話を「喋る → 自動で区切って再生 → 解析・可視化 → 具体的フィードバック」というループで反復練習できれば独学でも話し方を改善できるはず、という発想から始めたPoCです。
仕組み・構成
ブラウザで無音を検知して発話を自動で区切り、サーバ側でWhisper(whisper-large-v3)による単語タイムスタンプ付き文字起こしと、essentia.jsによるピッチ(F0)・ラウドネス抽出を並行実行。そこから単調さ・話速といった発話全体の指標に加え、強調・ポーズ(語中の詰まりと語間の意図的な間を区別)・フィラーを単語単位で算出します。結果はトランスクリプトへの重畳表示とSVGのピッチ曲線で可視化し、特徴量とトランスクリプトをLlama 3.3 70Bに渡して具体的な改善アドバイスを生成します。日本語はkuromojiで語境界を再構成し、アクセント辞書(kanjium)と照合するピッチアクセント評価も実験的に組み込んでいます。
工夫・検証ポイント
実用上の壁は音声解析の足回りにあります。ピッチ推定のオクターブエラーにはメディアンフィルタ+連続性平滑化+中央値折り畳みのハイブリッド補正を実装。Whisperの単語タイムスタンプには隙間が出ない特性があるため、ポーズ検出はエネルギーベースの無音検出に切り替え、無音区間のハルシネーション(無音から文章を捏造する現象)もガードしています。話速は無音を除いた実発話時間ベースで算出し、発話が短すぎる場合は信頼性ゲートで断定的な判定を抑制します。評価のぶれを防ぐため、これらの指標は多話者コーパスでの自動評価ハーネスにかけて回帰検証しています。
結果
多話者コーパス(日本語JVS 1,200クリップ + 英語LibriSpeech 480クリップ、計1,680クリップ)の自動評価では、ASR一致率は平均0.953、詰まり(語中ポーズ)の誤検出率は2.7%、オクターブエラー疑いは0.2%でした。実機の較正セッションでは、同じ文を棒読みした場合と抑揚をつけた場合とで単調さスコアが0.74対0.15と明確に分離し、狙いどおりの感度を確認しています。
実測データ
| 指標 | 全体 | 日本語(JVS) | 英語(LibriSpeech) |
|---|---|---|---|
| ASR一致率(平均) | 0.953 | 0.942 | 0.981 |
| 詰まり誤検出率 | 2.7% | 2.8% | 2.7% |
| 信頼性ゲート通過率 | 98.9% | 100% | 96.2% |
ASR一致率はコーパスの正解テキストとWhisper出力の一致度。信頼性ゲートは発話が短すぎる場合などに断定的な判定を抑制する仕組み。
デモ・解説
デモ動画・解説記事を準備中です。公開しだい、このページに掲載します。