ローカル音声認識・音声合成
最終更新
LocalAI 4.11で会議録音の話者名と周囲の音を確認する
会議録音に話者名を付け、同じ音声から文字起こしと周囲の音も確認します
LocalAI 4.11はオープンソースのローカルAIサーバーです。会議録音を送ると発話区間と文字起こしを取得でき、話者区間を聞いて名前を保存すると次の録音で再表示できます。音響シーンモデルは咳や拍手など発話以外のイベントと時刻も返します。
会議録音から文字・話者・周囲の音をそれぞれ取得します

Studioで短い録音を使って話者を確認します
LocalAI 4.11以降を起動し、Models → Exploreでparakeet-cpp-nemotron-3-diarization-asr-speakersを検索してインストールします。このギャラリー項目には文字起こし、話者区間、話者認識に必要なモデルが含まれます。インストールが止まったり失敗したりした場合は、Operate → Activityで進行状況とエラーを確認してください。
参加者から音声プロファイルの準備・登録への同意を得てから、Studio → Diarizationで導入したモデルと短い録音を選びます。文字起こしも読む場合は、初回テストからPrepare speakers to rememberを有効にしてDiarizeを押します。この設定が文字起こしと話者プロファイルを同時に要求します。まず匿名の話者ラベルと発言を読み、名前の登録は次の段階で行います。
結果が出たら文字起こしを一文ずつ読み、話者ラベルが切り替わる箇所や発話が重なる箇所を録音で聞き直します。議事録に担当者や決定根拠を記録する前に該当箇所を再生してラベルを確認し、曖昧な場合は名前を付けず確認対象として残します。
プレビューして名前を保存し、次の録音で再利用します
前の手順で結果が出たら、Speakersで登録する人のPreviewを再生します。本人の声が明瞭な区間を選び、Name and rememberから名前を入力してRememberを押します。サーバーが登録を確認すると、その人の発言に名前が表示されます。
発話が短すぎたり他の人と重なったりしてプレビューが不明瞭な場合は、名前を保存しにくいことがあります。より長く明瞭に話した区間を含む録音でやり直してください。名前が表示された後も重要な発言は録音と照合してください。
次の録音でも同じ話者認識対応モデルを選びます。保存した声が見つかると、匿名ラベルの代わりに保存した名前を表示できます。

周囲の音も確認するには音響シーンモデルを選びます
話者名の保存に使うモデルと、周囲の音イベントも返すモデルはギャラリー内で別の名前です。発話と咳・拍手などのイベントを同時に確認するには、parakeet-cpp-multilingual-diarization-speakers-soundsをインストールします。このモデルはオフライン録音向けで、文字起こし、話者区間、保存済みの声の照合、音イベントをまとめて扱います。
LocalAIを起動し音響シーンモデルの導入が終わったら、meeting.wavのあるフォルダーで新しいターミナルを開きます。別のファイルならfile=@meeting.wavの名前を変えます。/v1/audio/diarizationへ送り、include_text・include_speaker_profiles・include_soundsを有効にし、response_format=verbose_jsonを指定します。
curl http://localhost:8080/v1/audio/diarization -F model=parakeet-cpp-multilingual-diarization-speakers-sounds -F file=@meeting.wav -F include_text=true -F include_speaker_profiles=true -F include_sounds=true -F response_format=verbose_json応答のsegmentsには発話時間と文字起こし、soundsには非音声イベントのラベルと時刻が入ります。該当区間を録音で再生し、議事録に必要な出来事か判断できます。音イベントは標準のjsonとverbose_jsonで返せますが、rttmには該当フィールドがありません。
ファイルを読めない場合はターミナルの現在のフォルダーとファイル名を確認します。HTTP 501とinclude_sounds_unsupportedなら、選んだモデルが音イベントに対応しているか確認します。音の分析が必要ならparakeet-cpp-multilingual-diarization-speakers-soundsを選び、サーバーのモデル読み込みエラーも確認します。
保存範囲とサーバーの稼働状態を確認します
保存した声は現在、サーバーを再起動すると失われます。同じLocalAIインスタンスを使う利用者間では登録情報も共有されます。登録対象・利用権限・録音の保存方針を運用者と決めて利用します。
Operate → This machineではVRAM3・RAM4・CPU5・モデル用ディスクの使用量と、ロード済みモデルのプロセスを確認できます。モデルが表示されない場合やロード後にメモリが不足する場合は、この画面でプロセスと資源使用量を調べてください。CPUの初回測定は計算に必要な情報が集まるまでMeasuring…と表示されることがあります。
Failoverは設定した順序と条件に従って、リクエストを別のモデル対象へルーティングします。チェーンに別のLocalAIサーバーやリモート対象があると、録音やリクエストデータが送信されることがあります。デプロイ設定の対象を確認し、音声を外部へ送れない場合はリモート経路を外します。

用語の注釈
よくある質問
- この記事で最初に確認すべきことは何ですか?
- LocalAI 4.11はオープンソースのローカルAIサーバーです。会議録音を送ると発話区間と文字起こしを取得でき、話者区間を聞いて名前を保存すると次の録音で再表示できます。音響シーンモデルは咳や拍手など発話以外のイベントと時刻も返します。
- 必要なメモリはどのくらいですか?
- Operate → This machineではVRAM・RAM・CPU・モデル用ディスクの使用量と、ロード済みモデルのプロセスを確認できます。モデルが表示されない場合やロード後にメモリが不足する場合は、この画面でプロセスと資源使用量を調べてください。CPUの初回測定は計算に必要な情報が集まるまでMeasuring…と表示されることがあります。
