話者分離が外れる2つの壊れ方。片方は直せて、片方は直せない
5人の会議が3人になる「潰れ」と、1人が複数に分かれる「割れ」。同じ音源を6通りに通して実測したところ、直せるのは割れだけでした。道具を選ぶときの判定方法もまとめます。

「話者分離に対応」と書いてあるのに、思ったとおりに分かれない。
この症状には性質のまったく違う2つの壊れ方が混ざっています。そして、片方は人が直せて、もう片方は直せません。道具を選ぶときに見るべきなのはここだと思うので、実測した内容を書きます。
2つの壊れ方
| 何が起きるか | あとから直せるか | |
|---|---|---|
| 潰れ | 複数人が1つのラベルにまとまる(5人 → 3人) | 直せない |
| 割れ | 1人が複数のラベルに分かれる(5人 → 6人) | 人が統合できる |
「割れ」は直せます。「話者Eと話者Fは同じ人だ」と分かれば、まとめるだけです。読み手が判断できます。
「潰れ」は直せません。話者Aの発言のうち、どれが本当は別の人のものだったのか——その情報が出力に残っていないからです。あとからどれだけ丁寧に読んでも復元できません。一般には「話者数が正確に当たること」が精度だと思われがちですが、実務では外れる方向の方が重要です。
実測:5人の会議を6通りに通した
申告5人の実際の会議(33分)を、同じ音声ファイルで複数の経路に通しました。
1. 同系統のエンジン5モデル → 全部同じ
いま通常の経路で使っているエンジンの、非同期モデル5種類すべてに同じファイルを通しました。結果は全部同じ3ラベル。行数の内訳まで一致しました。
モデルを替えても1行も動かないということは、話者の判定がモデルの選択より外側で決まっているということです。エンジンを乗り換えるのではなく、モデルを選び直せば直る、という期待は成立しませんでした。なおこのエンジンには人数を指定するつまみも、感度の調整もありません(上限15人という記載があるだけ)。打てる手がありません。
2. 録音の音質を上げる → 変わらない
「マイクや音質が原因では」と考えて、録音のビットレートを上げて録り直しました。5人が3人のまま、結果は変わりませんでした。
これは重要なところで、声が聞き取れていないわけではないという意味です。文字起こしの本文自体は正しく出ています。聞こえているのに、似た声を同じ人だと判断している。だから音を良くしても効きません。
3. 別系統のエンジンに通す → 5人が6ラベルに分かれた
まったく別系統のエンジンに同じ音声を通すと、6ラベルが出ました。うち3つは1〜4行しか発言のない小さなラベルです。つまり割れの方向に外れた。5人に対して6ラベルなので、正確ではありません。ただしこれは人が統合できます。
「3人で正しかった」のではないことを確かめた
ここは疑ってかかる必要がありました。「本当は3人しか喋っていなくて、残りの2人は一言も発言していないだけ」という可能性です。それなら3ラベルが正解になります。そこで、別系統のエンジンが「少数派の話者」と判定した発言の時刻を取り出して、元の結果と突き合わせました。
| 時刻 | 別系統の判定 | 元の判定 |
|---|---|---|
| 17:30 | 話者E | 話者A |
| 24:07 | 話者F | 話者A |
| 25:17 | 話者F | 話者A |
本文はどちらも一致しています。同じ発言を、別の人のものと見ているだけです。そして25:17は実務の説明で、中身のある発言でした。つまり実在する別の人を、Aへ畳んでいた。「一言も話していないから出てこない」のではありませんでした。
もうひとつの原因:処理の分け方
エンジンとは別に、「同じ人が会議の途中から別人になる」という症状があります。これは原因がまったく違います。長い音声を文字起こしするとき、多くの実装が一定時間ごとに区切って並列で処理します。速いからです。
このとき、区間ごとに話者ラベルが振り直されます。「最初に発言した人から順に話者A、話者B…」という規則で処理すると、区間1の話者Aは、区間0の話者Aとは別人になります。
モデルを替えても動かなかった、という実測
エンジン側のつまみを回して直らないか、順に試しました。結果を書いておきます。
同じ音声を、同系統のエンジンの非同期モデル5種類すべてに通しました。出てきたのは全部同じ3ラベルで、行数の内訳まで一致しました。「たまたま今回のモデルが苦手だった」ではなく、その系統では同じ判断をするということです。
録音のビットレートも上げて録り直しました。結果は1行も変わりません。声は聞き取れていて、文字起こしの本文は正確なのに、話者だけが畳まれる。ここから分かるのは、入り口の音を良くしても、判断のほうは変わらないということです。だから「マイクを買えば直る」「もっと良いモデルなら直る」は、この壊れ方には効きません。
自分の道具で確かめる方法
手元の文字起こしで簡単に確認できます。1時間くらいの会議の文字起こしを開いて、10分ごとに区切って、各ブロックにどの話者ラベルが出てくるか数えてください。
すべてのブロックに「話者A」が出てくるなら、区間ごとに振り直されています。実際、33分の会議を10分ごとに区切ったところ、4ブロックすべてに話者A〜Dが出ました。各区間がAから振り直している印です。これはエンジンの精度の問題ではなく、処理の分け方の問題です。区間をまたいで「この声とこの声は同じ人か」を突き合わせる工程を持っていなければ、どんなに良いエンジンを使っても起こります。
本文だけでは統合できない
「自己紹介や『弊社/御社』といった手がかりを読めば、区間をまたいで統合できるのでは」——最初はそう考えましたが、これは誤りでした。本文だけでは、次が識別できません。
- 同じ側・同じ役割の2人
- 自己紹介が最初の区間にしかなく、後半は業務の話しかしない人
- 呼びかけられても返事をしない人
- 「田中さんの件ですが」が本人への呼びかけか、第三者への言及か
モデルの賢さの問題ではなく、情報として復元できないという問題です。文字だけからは声の同一性は取り出せません。解けるとすれば、区間を少し重ねて録り、重なり部分の同じ発言を突き合わせるか、そもそも区切らずに1回で処理するかのどちらかです。
道具を選ぶときの判定
以上をまとめると、確認すべきは3つです。
- 外れるとき、潰れる側か割れる側か。参加者より少ないラベルしか出ないなら、その道具では直せません
- 区間をまたいでラベルが通っているか。上の「10分ごとに数える」で分かります
- 外れたときに打ち直せるか。同じ音声を別の経路で処理し直せるなら、潰れても救えます
逆に、カタログの「話者分離対応」の有無だけでは判断できません。対応と書いてあっても、上の3つはまったく違います。
Recoryの場合
Recoryは、この実測の結果を受けてこうしています。
- 通常の経路で潰れてしまったとき、別のやり方で聞き直して作り直せます(「ハイブリッドで聞き直す」・有料プラン)。上の実測でいう「1→3」の乗り換えを、利用者の操作でできるようにしたものです
- 起こし直すと割れの方向に出ることがあります。割れは統合できるので、潰れたまま止まるよりは扱えます
- 起こし直したあとでなければ、話者に名前を付けられません。潰れたまま名前を付けると、別の人の発言までその人のものとして記録に残るためです。不便ですが、あえて止めています
- 話者名は一括で置き換えられます。先方の会社・担当者を登録しておけば、実名で出ます
正直に書きます。
- 起こし直しても必ず直るとは限りません。上の実測は1本の録音での結果で、すべての会議で同じようになるとは限りません
- 声質が似ている同性・同年代が3人以上いる会議は、いまも苦手です
- 相槌だけの人、途中から入室した人は、独立した話者として立ちにくい
- 「ハイブリッドで聞き直す」は時間を3倍消費します。有料プランならどれでも使えますが、毎回かけるならライトの上限(議事録込みで月600分)では足りなくなりやすいので、スタンダード以上のほうが余裕があります
できないことの一覧はRecoryにできないことにまとめました。
エンジンによって弱点の出る場所が違う点は文字起こしエンジンは、弱点の出る場所が違うに分けて書きました。
話者分離は「対応/非対応」で語られがちですが、外れ方には直せるものと直せないものがあります。カタログではなく、手元の1本の録音で確かめてみてください。10分ごとにラベルを数えるだけで、かなりのことが分かります。
この記事の数値は、申告5人・33分の実際の会議1本を2026年8月に測ったものです。1本の録音での結果であり、一般的な性能比較ではありません。エンジン名を伏せているのは、特定の製品の優劣を論じる意図がないためです。
話者分離が工程のどこに位置するかはAI議事録とは何かに整理してあります。
よくある質問
話者分離の精度は録音の音質を上げれば改善しますか
改善しないことがあります。実測では、同じ会議の録音のビットレートを上げても、5人が3人にまとまる結果は1行も変わりませんでした。声が聞き取れていないのではなく、似た声を同じ人と判断しているためです。
話者が足りないのと多すぎるのでは、どちらが困りますか
足りない方です。1人が複数のラベルに分かれている場合は、人が見て統合できます。複数人が1つのラベルにまとまっている場合は、どの発言が誰のものかという情報が失われているため、あとから復元できません。
同じ人が会議の途中から別の話者になるのはなぜですか
文字起こしを一定時間ごとに区切って処理していると、区間ごとに話者ラベルが振り直されるためです。その場合、すべての区間に「話者A」が登場します。エンジンの精度ではなく、処理の分け方が原因です。
iPhoneのボイスメモで文字起こしすると、誰の発言か分からなくなる理由
iPhone1台で対面の会議を議事録にする8つの方法を比べた
Recoryにできないこと