🚀 "Powerset"話者セグメンテーション
このオープンソースモデルは、16kHzでサンプリングされた10秒間のモノラルオーディオを入力とし、話者分離を(num_frames, num_classes)の行列として出力します。ここでの7つのクラスは、非音声、話者 #1、話者 #2、話者 #3、話者 #1 と #2、話者 #1 と #3、話者 #2 と #3 です。

本番環境でこのオープンソースモデルを使用していますか?
より良く、より高速なオプションを求める場合は、pyannoteAIへの切り替えを検討してください。
🚀 クイックスタート
このモデルに関連する様々な概念については、この論文で詳細に説明されています。
このモデルは、Séverin Baroudiによってpyannote.audio 3.0.0
を使用して、AISHELL、AliMeeting、AMI、AVA - AVD、DIHARD、Ego4D、MSDWild、REPERE、およびVoxConverseのトレーニングセットを組み合わせてトレーニングされました。
Alexis Plaquetによるこのコンパニオンリポジトリでは、独自のデータでこのようなモデルをトレーニングまたは微調整する方法についても説明されています。
✨ 主な機能
このモデルは、10秒間の16kHzモノラルオーディオを入力とし、話者分離の結果を行列として出力します。出力行列の7つのクラスは、非音声や複数話者の組み合わせなどを表しています。
📦 インストール
pip install pyannote.audio
を実行して、pyannote.audio
3.0
をインストールします。
pyannote/segmentation-3.0
のユーザー条件を受け入れます。
hf.co/settings/tokens
でアクセストークンを作成します。
💻 使用例
基本的な使用法
duration, sample_rate, num_channels = 10, 16000, 1
waveform = torch.randn(batch_size, num_channels, duration * sample_rate)
powerset_encoding = model(waveform)
from pyannote.audio.utils.powerset import Powerset
max_speakers_per_chunk, max_speakers_per_frame = 3, 2
to_multilabel = Powerset(
max_speakers_per_chunk,
max_speakers_per_frame).to_multilabel
multilabel_encoding = to_multilabel(powerset_encoding)
高度な使用法
話者分離
このモデルは、それ単独では全録音の話者分離を行うことはできません(10秒のチャンクのみ処理します)。
追加の話者埋め込みモデルを使用して全録音の話者分離を行うpyannote/speaker - diarization - 3.0パイプラインを参照してください。
音声アクティビティ検出
from pyannote.audio.pipelines import VoiceActivityDetection
pipeline = VoiceActivityDetection(segmentation=model)
HYPER_PARAMETERS = {
"min_duration_on": 0.0,
"min_duration_off": 0.0
}
pipeline.instantiate(HYPER_PARAMETERS)
vad = pipeline("audio.wav")
重複音声検出
from pyannote.audio.pipelines import OverlappedSpeechDetection
pipeline = OverlappedSpeechDetection(segmentation=model)
HYPER_PARAMETERS = {
"min_duration_on": 0.0,
"min_duration_off": 0.0
}
pipeline.instantiate(HYPER_PARAMETERS)
osd = pipeline("audio.wav")
📚 ドキュメント
このモデルに関連する様々な概念については、この論文で詳細に説明されています。
📄 ライセンス
このモデルはMITライセンスの下で提供されています。
📚 引用
@inproceedings{Plaquet23,
author={Alexis Plaquet and Hervé Bredin},
title={{Powerset multi-class cross entropy loss for neural speaker diarization}},
year=2023,
booktitle={Proc. INTERSPEECH 2023},
}
@inproceedings{Bredin23,
author={Hervé Bredin},
title={{pyannote.audio 2.1 speaker diarization pipeline: principle, benchmark, and recipe}},
year=2023,
booktitle={Proc. INTERSPEECH 2023},
}