🚀 話者分離
このプロジェクトは音声データ内の話者を識別し、分離することを目的としています。pyannote.audio 2.0に依存しており、高精度な話者分離を実現します。
🚀 クイックスタート
このパイプラインは pyannote.audio 2.0に依存しています。インストール手順を参照してください。
💻 使用例
基本的な使用法
from pyannote.audio import Pipeline
pipeline = Pipeline.from_pretrained("pyannote/speaker-diarization@2022.07")
diarization = pipeline("audio.wav")
with open("audio.rttm", "w") as rttm:
diarization.write_rttm(rttm)
高度な使用法
話者の数が事前にわかっている場合、num_speakers
オプションを使用できます。
diarization = pipeline("audio.wav", num_speakers=2)
話者の数の下限と上限をmin_speakers
とmax_speakers
オプションを使用して指定することもできます。
diarization = pipeline("audio.wav", min_speakers=2, max_speakers=5)
もし冒険的な方であれば、様々なパイプラインのハイパーパラメータを試してみることができます。例えば、segmentation_onset
閾値を増やすことで、より積極的な音声活性検出を行うことができます。
hparams = pipeline.parameters(instantiated=True)
hparams["segmentation_onset"] += 0.1
pipeline.instantiate(hparams)
📚 ドキュメント
リアルタイム係数
1つのNvidia Tesla V100 SXM2 GPU(ニューラル推論部分)と1つのIntel Cascade Lake 6248 CPU(クラスタリング部分)を使用すると、リアルタイム係数は約5%です。言い換えると、1時間の会話を処理するのに約3分かかります。
精度
このパイプラインは、増え続けるデータセットでベンチマークされています。処理は完全に自動化されており、以下のような条件で評価されています。
- 手動による音声活性検出は行われません(文献で時々見られるようなもの)
- 手動で話者の数を指定する必要はありません(ただし、パイプラインに指定することは可能です)
- 内部モデルの微調整やパイプラインのハイパーパラメータの調整は、各データセットに対して行われません
最も厳しい話者分離誤差率(DER)の設定(この論文で "Full" と呼ばれるもの)で評価されています。
- 許容範囲はありません
- 重複する音声の評価も行われます
サポート
商用利用や科学的なコンサルティングに関する問い合わせは、こちらまでお問い合わせください。技術的な質問やバグ報告については、pyannote.audioのGitHubリポジトリを確認してください。
引用
@inproceedings{Bredin2021,
Title = {{End-to-end speaker segmentation for overlap-aware resegmentation}},
Author = {{Bredin}, Herv{\'e} and {Laurent}, Antoine},
Booktitle = {Proc. Interspeech 2021},
Address = {Brno, Czech Republic},
Month = {August},
Year = {2021},
}
@inproceedings{Bredin2020,
Title = {{pyannote.audio: neural building blocks for speaker diarization}},
Author = {{Bredin}, Herv{\'e} and {Yin}, Ruiqing and {Coria}, Juan Manuel and {Gelly}, Gregory and {Korshunov}, Pavel and {Lavechin}, Marvin and {Fustes}, Diego and {Titeux}, Hadrien and {Bouaziz}, Wassim and {Gill}, Marie-Philippe},
Booktitle = {ICASSP 2020, IEEE International Conference on Acoustics, Speech, and Signal Processing},
Address = {Barcelona, Spain},
Month = {May},
Year = {2020},
}
📄 ライセンス
このプロジェクトはMITライセンスの下で公開されています。