Parakeet Multitalk — マルチスピーカー音声認識システム
概要
このリポジトリ「Parakeet_Multitalk」は、NVIDIAのMultitalker Parakeet Streamingモデルを中核に据えた、マルチスピーカー向けのリアルタイム音声認識+ダイアリゼーションの実装例です。複数の話者が同時に話す重複(オーバーラップ)状況にも対応しつつ、各話者の発話を識別して発話順にインターリーブ(合成)した文字起こしを生成します。単語レベルのタイムスタンプも出力されるため、議事録作成や多人数討論の解析、コールセンター解析など実運用に近い用途での検証に適しています。サンプル音声生成や実行用シェルスクリプトが含まれ、手早く動作確認を行えます。(約300字)
リポジトリの統計情報
- スター数: 9
- フォーク数: 1
- ウォッチャー数: 9
- コミット数: 5
- ファイル数: 8
- メインの言語: Python
主な特徴
- マルチスピーカーの同時音声を扱い、最大4名までの発話を識別・分離して文字起こしを実行
- スピーカーダイアリゼーション(話者識別・ラベリング)を組込んで発話単位で話者IDを付与
- 単語レベルでのタイムスタンプ出力により、精度の高い時間軸復元が可能
- ストリーミング対応のモデルによりリアルタイム処理が想定される設計
技術的なポイント
本プロジェクトは「Multitalker Parakeet Streaming」というNVIDIA提供のストリーミング対応ASRモデルを軸に、ダイアリゼーション機能を組み合わせることで、重複発話を含む実世界の会話を逐次的に処理するアーキテクチャを提示しています。典型的なデータフローは次のようになります:入力音声をフレーム単位で取り込み、モデルがストリーミング推論を行いながら各発話のテキストと単語単位のタイムスタンプを生成し、同時にダイアリゼーションモジュールが音声特徴量から話者クラスタを推定して発話にラベルを付与、その後話者ラベルとタイムスタンプを基に発話を時系列にインターリーブして最終的な会話ログを構築します。
重複(オーバーラップ)に対する処理は、この種のマルチスピーカーASRの肝であり、ストリーミングモデルの内部で重畳を分離するか、外部のダイアリゼーション(例えばスピーカー埋め込みとクラスタリング)を併用して並行発話を切り分けます。本リポジトリは「最大4名」までの分離をサポートすると明記しており、実装上は複数チャンネルや単一チャンネルのオーバーラップを想定した検証資産(generate_test_audio.py)やオーバーラップの可視化画像(overlap.png)が含まれている点が特徴です。
運用面では、ストリーミング推論は低レイテンシが求められるためGPUや最適化ライブラリを前提にする可能性が高く、requirements.txtに依存関係がまとめられている点から、PyTorchやNVIDIAのランタイム等が必要になることが想定されます。run_transcribe.shのような起動スクリプトがあるため、実行フローは比較的単純で、プロトタイプ検証から実装確認まで短時間で行えます。一方、コミット数やファイル数が少ないため、まだプロダクションレベルの堅牢性や大規模評価(WERやDER等の詳細なメトリクス報告)は不足している点に注意が必要です。拡張候補としては、外部ダイアリゼーションライブラリ(pyannoteなど)との統合、評価ベンチマークの追加、ノイズ耐性とスピーカー数拡張のためのデータ拡充が挙げられます。
プロジェクトの構成
主要なファイルとディレクトリ:
- README.md: file
- generate_test_audio.py: file(重複音声の生成・テスト用)
- overlap.png: file(オーバーラップの可視化例)
- requirements.txt: file(依存パッケージ一覧)
- run_transcribe.sh: file(トランスクリプト実行用スクリプト)
…他 3 ファイル
(generate_test_audio.pyやrun_transcribe.shから、ローカルでの動作確認手順やサンプル生成、トランスクリプト実行が容易に行える構成になっていることが読み取れます)
まとめ
NVIDIAのストリーミングASRを利用した実用志向の多人数音声認識プロトタイプ。拡張余地あり。
リポジトリ情報:
- 名前: Parakeet_Multitalk
- 説明: A realtime speech to text diarization system to gather and interleave speech from multiple speaker audio.
- スター数: 9
- 言語: Python
- URL: https://github.com/Deveraux-Parker/Parakeet_Multitalk
- オーナー: Deveraux-Parker
- アバター: https://avatars.githubusercontent.com/u/182241692?v=4
READMEの抜粋:
Multitalker Parakeet ASR
A multi-speaker speech recognition system using NVIDIA’s Multitalker Parakeet Streaming model with speaker diarization.
Features
- Multi-speaker transcription: Identifies and separates up to 4 speakers
- Speaker diarization: Automatic speaker identification and labeling
- Word-level timestamps: Precise timing for each …