🚀 🎹 "Powerset"話者セグメンテーション
このオープンソースモデルは、16kHzでサンプリングされた10秒のモノラルオーディオを入力として受け取り、話者分離を (num_frames, num_classes) の行列として出力します。ここでの7つのクラスは、非音声、話者 #1、話者 #2、話者 #3、話者 #1 と #2、話者 #1 と #3、話者 #2 と #3 です。このモデルを活用することで、音声データ内の話者を高精度に区別することが可能です。

🚀 クイックスタート
本番環境でこのオープンソースモデルを使用していますか?
より良く、より高速なオプションを求めるなら、pyannoteAI への切り替えを検討してください。
✨ 主な機能
このモデルは、10秒間の16kHzモノラルオーディオを入力として、話者分離結果を行列形式で出力します。具体的には、7つのクラスを持つ (num_frames, num_classes) 行列として出力され、各クラスは異なる話者の組み合わせや非音声区間を表します。
📦 インストール
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")
📚 ドキュメント
このモデルの背後にある様々な概念については、この論文で詳細に説明されています。
🔧 技術詳細
このモデルは、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},
}