長い会議で、話者が途中から入れ替わる理由
長い録音は分割して処理されます。ただ切るだけだと、区間ごとに話者ラベルが振り直されて誰が誰だか分からなくなる。なぜそうなるのか、どこまでなら直せるのかを書きました。

長時間の会議を文字起こしすると、途中から話者の名前が入れ替わることがあります。前半で「話者A」だった人が、後半では別の人になっている。
これは不具合ではなく、長い録音を分割して処理していることから来る、構造的な現象です。
長い録音は、そのまま処理できない
前提として、文字起こしには1回の処理に使える時間の上限があります。長い音声をそのまま渡すと、終わる前に打ち切られます。だから長い録音は、必ずどこかで区切られています。これはどのサービスでも同じです。
続きから起こすと、話者が総入れ替えになる
文字起こしは区間ごとに独立して行われます。そして多くの仕組みで、「その区間で最初に発言した人が話者A」と振られます。つまり、こうなります。
区間0: 話者A=田中さん 話者B=佐藤さん 話者C=鈴木さん
区間1: 話者A=鈴木さん 話者B=田中さん ← 同じ人に別のラベル
区間の境目で、全員の名前が入れ替わります。しかも、本文を読んでも同じ人だとは分かりません。同じ立場・同じ役割の2人は文体で見分けられませんし、自己紹介が最初の区間にしかない人は、後半では手掛かりがゼロです。区間を長く取れば境目は減りますが、そのぶん打ち切られやすくなる。どちらに振っても代償があります。
区間を重ねると、対応が取れる
崩れを防ぐ考え方自体は単純です。区間どうしを少し重ねます。重なった部分には同じ発言・同じ声が入るので、両方の区間に同じ内容の行が出ます。そこを突き合わせれば、
区間0の話者C = 区間1の話者A
が決まります。推測ではなく、突き合わせで決まるのが要点です。あとはこの対応を順に適用すれば、会議全体で話者が揃います。重なりの長さは、短すぎると誰も喋っていない区間になって突き合わせられず、長すぎると同じところを二度処理することになります。どこに置くかは作り手の判断です。
区間が長いほど、話者ラベルが落ちる
もうひとつ、知っておくと役に立つ傾向があります。1区間の出力が長くなるほど、話者ラベルの欠落が増えます。欠落というのは、行の頭に付くはずの話者ラベルが無い状態です。読む側からすると「誰の発言か書かれていない行」が混ざります。
だから区間は、打ち切られない範囲で短いほうが安定します。境目が増える代償は、上の重なりで吸収できるからです。
再生用の音声は切らない
細かい話ですが、処理のために切ったファイルと、聞き返すための音声は別物にしておくべきです。議事録の行から音声に飛んだとき、区間の境目でぶつ切りになると使い物になりません。処理の都合を、聞く側に持ち込まないようにしています。
録音そのものは、必ず端末に残す
設計として決めていることがひとつあります。録音は取り直しがききません。会議は一度きりで、同じ話をもう一度してもらうことはできない。だから、
アプリのどこかで何かが失敗しても、音声そのものは端末に必ず残っている
を優先しています。送信に成功しても、途中でやめても、すぐには消しません。まず端末内の控えへ移します。
この控えは「ファイル」アプリからも見えます(このiPhone内 → Recory → 録音のバックアップ)。アプリを経由せずに取り出せるようにしてあるのは、こちら側の不具合で音声ごと閉じ込めてしまう事態を避けるためです。一定期間を過ぎたものだけ自動で片付けます。録音が途中で止まる原因そのものについては別の記事にまとめてあります。
それでも直せていないこと
正直に書いておきます。ここまでの工夫は「区間をまたいだときに崩れる」問題を直すもので、話者分離そのものを良くするものではありません。同じ区間の中で声質の近い3人が1人にまとめられる、という壊れ方は、これとは別の問題です。そちらは音を良くしてもモデルを替えても動きませんでした(実測はこちら)。
分けられるのは「継ぎ目の問題」までです。そこは正直なところです。
選ぶときに見るところ
長時間の会議が多いなら、体験版で1時間以上の録音を1本通して、次を見てください。
- 途中で話者の名前が入れ替わっていないか。前半と後半で同じ人が同じラベルか
- 話者ラベルの無い行が混ざっていないか
- 音声を聞き返すとき、途中で切れないか
短い会議では出ない問題なので、短時間で試すと分かりません。
分割された録音を1本の文字起こしに戻す手順は音声から文字起こしする方法に、そもそもの録り方は録音の仕方にあります。
長時間の録音でほかに壊れやすいところは長時間の会議をiPhoneで録って文字起こしするときに壊れるところに、精度の見方は精度は3つあるにまとめました。
よくある質問
なぜ長い録音は分割して処理するのですか
1回の処理に使える時間に上限があるためです。長い区間を渡すと途中で打ち切られ、続きから起こし直すことになります。そのたびに話者ラベルが振り直されるので、結果として誰が誰だか分からない文字起こしができあがります。
分割すると話者の対応はどうなりますか
何もしなければ崩れます。文字起こしは区間ごとに独立していて、多くの場合「その区間で最初に話した人が話者A」と振られるためです。区間が変われば同じ人に別のラベルが付きます。区間どうしを少し重ねて、重なった部分の発言を突き合わせる方法があります。
長時間の録音は精度が落ちますか
話者ラベルについては落ちる方向に働きます。1区間の出力が長くなるほど、行の頭に付くはずの話者ラベルが抜ける割合が増える傾向があります。文字そのものの精度は、長さよりも音の状態のほうが効きます。
長時間の会議をiPhoneで録って文字起こしするときに壊れるところ
話者分離が外れる2つの壊れ方。片方は直せて、片方は直せない
「精度98%」は何の数字か —— AI議事録の精度は3つある