AI活用実践ガイド
会議音声をローカルで文字起こし・話者分離する方法

目次
会議録をローカルで作るとき、音声を一つのモデルへ渡せば完成した議事録まで自動で得られる、と考えない方がよい。
録音 → 文字起こし → 話者分離 → 時刻で対応付け → 人が確認という段階に分けると、間違いがどこで生じたかを追いやすい。
録音前に許諾と保存先を確認する
会議音声には個人情報や機密情報が含まれやすい。録音してよい会議かを先に確認し、元の音声と文字起こし結果をどこへ保存し、どれくらい残すかも決める。
処理を自分のPC内で行うからといって、録音に関するルールや参加者への説明が不要になるわけではない。
文字起こしと話者分離を別々に考える
Whisperは音声認識・文字起こしに使えるモデルだ。一方、pyannoteの話者分離は「いつ誰が話していたか」を時間区間へ分ける処理を扱う。
話者分離だけでは発話内容を正しく文字にできない。反対に、文字起こしだけで話者の本人確認まで自動的に確定できるわけでもない。
まずこの二つを別々に確認する。
時刻情報で発言と話者を対応付ける
短い音声で、文字起こしと話者分離の時刻が合っているかを見る。
00:00-00:08 話者A 発言内容...
00:08-00:15 話者B 発言内容...
特に確認したいのは、
- 話者交代の直前と直後
- 短い相づち
- 複数人が重なって話す区間
- 長い無音の前後
だ。
文字起こし自体が正しくても、話者の境界がずれれば「誰が言ったか」を誤る。
固有名詞と重要事項は原音へ戻る
会社名、人名、製品名、金額、日付、担当者、決定事項は、自動処理の結果だけで確定しない。
時刻情報から元の音声へ戻り、人が聞き直す。
話者名も、最初は「話者A」「話者B」のような仮のラベルでよい。本人だと確認できる情報と照らしてから名前を割り当てる。
まず1分程度の短い音声で試す
長時間の会議を最初から全部処理せず、複数の話者が含まれる短い許諾済み音声で試す。
元音声:
文字起こし結果:
話者分離結果:
時刻のずれ:
固有名詞の誤り:
話者の取り違え:
この段階で問題の種類が分かれば、長い会議へ広げたときも修正しやすい。
目標は「完全自動で議事録を確定すること」ではなく、人が原音へ戻りながら短時間で確認できる会議録の下書きを作ることだ。
音声を文字へ変換するところから試したい場合は、ローカルでWhisperを使って文字起こしする方法へ進める。
まとめ
- 録音してよい会議かを最初に確認し、音声と文字起こしの保存先も決める
- 文字起こしと話者分離は別の処理として確認する
- 時刻情報を使って、発言内容と話者を対応付ける
- 固有名詞、話者、金額、日付、重要な決定事項は人が原音と照合する