音声AI論文研究室
音声処理

Whisperに「話者ラベル付きプロンプト」を与えるだけで、文字起こしと話者分離を同時にこなせるか?

📄 Prompting Whisper for Joint Speech Transcription and Diarization

✍️ Zamyrova, M., van den Heuvel, H.

📅 論文公開: 2026年4月

3つのポイント

  1. 1

    音声認識モデルWhisperに話者ラベル付きのテキストを「お手本」として渡すだけで、誰が話したかを区別しながら文字起こしできることがわかりました。

  2. 2

    さらにファインチューニング(追加学習)を行うと、長い音声でも話者IDの一貫性が向上し、文字起こしの忠実度も改善しました。

  3. 3

    一方で、前の区間の誤りが次の区間に伝播する問題や、複数人が同時に話す場面でのタイムスタンプ精度には課題が残っています。

論文プロフィール

  • 著者: Mariia Zamyrova, Henk van den Heuvel(MediSpeech プロジェクト)
  • 発表年: 2026年
  • 掲載先: arXiv(cs.CL / cs.SD)
  • 研究対象: 音声認識モデル Whisper を使った、文字起こしと話者分離(誰が話したかの識別)の同時処理
  • 研究内容: Whisper に「話者ラベル付きのテキスト」をプロンプトとして渡す方法と、ファインチューニングによる改善を検証。オランダ語の医師・患者間対話を対象とし、長時間音声での話者ID一貫性や誤り伝播の課題を分析

エディターズ・ノート

家族の会話を記録するとき、「誰が話したか」がわからなければ、ただの文字の羅列になってしまいます。文字起こしと話者分離を1つのモデルで同時に行えるかを探る本研究は、And Family Voice がオンデバイスで軽量かつ正確な音声処理を実現するうえで、見逃せないアプローチです。

実験デザイン

何を試したのか

本研究では、OpenAI が開発した音声認識モデル Whisper に、「この音声は誰がどう話しているか」というヒントをテキストで与える手法を検証しています。

具体的には、以下の2段階で実験が進められました。

  1. プロンプト方式(ゼロショット): Whisper の入力プロンプトに [SPEAKER_01] [SPEAKER_02] のような話者ラベル付きテキストを与え、追加学習なしで話者分離ができるかを確認
  2. ファインチューニング方式: SOT(Serialized Output Training)と呼ばれる形式で、話者ラベルを含む出力を学習データとして Whisper を追加学習

評価指標

  • WER(Word Error Rate): 文字起こしの誤り率。低いほど正確
  • DER(Diarization Error Rate): 話者分離の誤り率。低いほど「誰が話したか」を正しく識別できている

結果のポイント

プロンプト方式だけでも Whisper は話者ラベルを挿入できましたが、長い音声を複数のチャンク(区間)に分割して処理する場合、区間をまたいで話者IDがブレる問題が発生しました。

ファインチューニングを行うと、以下の改善が見られました。

  • 長時間音声における話者IDの一貫性が向上
  • 逐語的な文字起こし(言い淀みや繰り返しも含む忠実な書き起こし)の精度が改善

一方、新たに明らかになった課題もあります。

  • 誤り伝播: 前の区間で間違った話者ラベルがプロンプトに含まれると、次の区間でも同じ誤りを引き継いでしまう
  • 重複発話のタイムスタンプ: 複数人が同時に話している場面では、タイムスタンプの割り当て精度が低下する
🔍 SOT(Serialized Output Training)とは何か

通常の音声認識モデルは「誰が話したか」を区別せず、音声全体をひとつのテキストとして出力します。SOT は、複数の話者の発話を「時系列順に並べ替え、話者ラベルを付けた1本のテキスト」として出力するよう学習させる手法です。

たとえば、医師と患者の会話であれば:

  • [SPEAKER_01] お加減いかがですか [SPEAKER_02] 少し良くなりました

このように1つの出力ストリームに話者情報を埋め込むため、別途話者分離モデルを用意する必要がなくなります。本研究では、このSOT形式をWhisperのファインチューニングに活用しています。

🔍 誤り伝播はなぜ起きるのか

Whisper は長い音声を30秒程度のチャンクに分割して処理します。このとき、前のチャンクの出力テキストを次のチャンクのプロンプト(ヒント)として渡すことで、文脈のつながりを保ちます。

しかし、前のチャンクで話者Aの発言を話者Bと誤認識した場合、その誤ったラベルが次のプロンプトに含まれます。Whisper はプロンプトを「正しい情報」として信頼するため、誤りがそのまま後続のチャンクに波及してしまうのです。

これは、家族の会話のように自然な話者交代が頻繁に起こる場面で特に深刻な課題となります。

技術的背景

Whisper と話者分離の関係

Whisper は OpenAI が開発した 自動音声認識 モデルで、多言語対応と高い認識精度で知られています。しかし、Whisper 単体には「誰が話したか」を識別する話者分離(Speaker Diarization)の機能がありません。

従来、文字起こし+話者分離を実現するには、以下のような パイプライン方式 が一般的でした。

  1. Whisper で音声をテキストに変換
  2. 別の話者分離モデル(pyannote.audio など)で話者を識別
  3. 両者の結果を時刻情報で突き合わせて統合

この方式は精度が高い反面、2つのモデルを同時に動かす必要があり、処理負荷が大きくなります。

本研究のアプローチ

本研究は、Whisper の プロンプト機能 を活用して、1つのモデルで文字起こしと話者分離を同時に行う「ジョイント方式」を探ります。Whisper にはもともと、直前のテキストをプロンプトとして渡すことで出力スタイルを誘導する仕組みがあります。ここに話者ラベルを含めることで、Whisper 自身に話者の区別を学習させるという発想です。

🔍 パイプライン方式とジョイント方式のトレードオフ

パイプライン方式 は、文字起こしモデルと話者分離モデルをそれぞれ最適化できるため精度が高くなりやすい反面、2つのモデルのメモリ使用量・計算量が加算されます。

ジョイント方式 は、1つのモデルで両方をこなすためリソース効率が良い反面、どちらかのタスクで精度が犠牲になるリスクがあります。

スマートフォンのような限られたリソースで動作させる場合、ジョイント方式のリソース効率は大きなメリットです。ただし、本研究が示すように、誤り伝播や重複発話への対処など、実用化にはまだ課題が残っています。

先行研究との位置づけ

話者分離つき音声認識の研究は近年活発で、Google の USM(Universal Speech Model)や Multi-talker ASR など、大規模モデルによるアプローチが進んでいます。本研究の特徴は、既存の Whisper モデルを大きく改変せず、プロンプトとファインチューニングという比較的軽量な手法で話者分離を実現しようとする点にあります。

And Family Voice としての解釈

プロダクトの視点から

And Family Voice は、家族の日常会話を オンデバイス で文字起こしし、音声データを端末の外へ送信しないプライバシー設計を大切にしています。

家族の会話を記録するうえで、「パパが言ったこと」と「子どもが言ったこと」を区別できることは、記録としての価値を大きく高めます。しかし、話者分離のために別のモデルを端末上で追加で動かすことは、バッテリー消費やメモリ使用量の面で大きな負担です。

本研究が示す「1つのモデルで文字起こしと話者分離を同時に行う」アプローチは、私たちがオンデバイス処理の設計で常に向き合っている 「精度」と「端末負荷」のトレードオフ に、新しい選択肢を提示してくれます。

もちろん、本研究はまだ進行中(in-progress)であり、誤り伝播や重複発話の課題も残っています。特に家族の会話は、医師・患者の対話以上に話者交代が頻繁で、子どもの声は認識が難しい場面も多いため、そのまま適用できるわけではありません。それでも、「プロンプトの工夫だけで話者分離の精度が出る」という知見は、私たちの設計判断を考えるうえで重要な参考になります。

Human-in-the-Loop の承認フロー(スワイプUI)においても、話者ごとに色分けされたテキストが表示されれば、ユーザーが確認・修正する際の負担が大きく軽減されるでしょう。

読者の皆さんへ

音声アシスタントやスマートスピーカーをお使いの方も多いと思います。これらのデバイスが「誰が話したか」を認識するためには、通常、音声データをクラウドに送信して処理しています。

今日からできること: お使いの音声サービスの設定画面で、「音声データの保存・学習への利用」に関するオプションを確認してみてください。多くのサービスでは、録音データの保存をオフにしたり、過去の録音を削除したりする設定が用意されています。「便利さ」と「どこまで音声を預けるか」のバランスを、ご自身で選べる状態にしておくことが大切です。

読後感

家族の食卓での会話を思い浮かべてみてください。お子さんが今日あったことを話し、パートナーが相槌を打ち、時には全員が同時に笑い声をあげる。そんな温かく混沌とした会話を、AIはどこまで正確に「誰が何を言ったか」として記録できるでしょうか。

この研究は、技術がまだその途上にあることを正直に示しています。そしてそれは、技術者として誠実な姿勢だと私たちは考えます。

あなたの家族の声を記録として残すとき、「完璧な精度」と「プライバシーの安心」、どちらをより大切にしたいですか?