🚀 "Powerset"話者セグメンテーション
このオープンソースモデルは、16kHzでサンプリングされた10秒間のモノラルオーディオを入力として受け取り、話者分離の結果を (num_frames, num_classes) の行列として出力します。ここでの7つのクラスは、非発話、話者 #1、話者 #2、話者 #3、話者 #1 と #2、話者 #1 と #3、話者 #2 と #3 です。
このモデルを本番環境で使用する場合は、より良いオプションや高速な処理を得るために、pyannoteAI への切り替えを検討してください。

🚀 クイックスタート
必要条件
pip install pyannote.audio
を実行して、pyannote.audio
3.0
をインストールします。
pyannote/segmentation-3.0
のユーザー条件を承認します。
hf.co/settings/tokens
でアクセストークンを作成します。
モデルの使用方法
from pyannote.audio import Model
model = Model.from_pretrained(
"pyannote/segmentation-3.0",
use_auth_token="HUGGINGFACE_ACCESS_TOKEN_GOES_HERE")
✨ 主な機能
話者分離
このモデルは、それ単体では全録音データの話者分離を行うことはできません(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")
💻 使用例
基本的な使用法
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)
📚 ドキュメント
このモデルの背後にある様々な概念については、この 論文 で詳細に説明されています。
このモデルは、Séverin Baroudi によって pyannote.audio 3.0.0
を使用して、AISHELL、AliMeeting、AMI、AVA - AVD、DIHARD、Ego4D、MSDWild、REPERE、および VoxConverse のトレーニングセットを組み合わせて学習されました。
Alexis Plaquet によるこの コンパニオンリポジトリ では、独自のデータでこのようなモデルを学習または微調整する方法についても説明されています。
📄 ライセンス
このモデルは 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},
}