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

🚀 クイックスタート
このモデルは、16kHzでサンプリングされた10秒間のモノラルオーディオを入力とし、話者分離結果を行列として出力します。以下に、使用方法の概要を説明します。
✨ 主な機能
- 16kHzでサンプリングされた10秒間のモノラルオーディオを入力として受け取ります。
- 話者分離結果を(num_frames, num_classes)の行列として出力します。
- 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")
📚 ドキュメント
このモデルの背後にあるさまざまな概念については、この 論文 で詳細に説明されています。
このモデルは、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},
}
⚠️ 重要提示
収集された情報は、pyannote.audioのユーザーベースに関するより良い知識を獲得し、そのメンテナがさらに改善するのに役立ちます。このモデルはMITライセンスを使用し、常にオープンソースのままですが、我々は時折、pyannoteに関するプレミアムモデルや有料サービスについてメールでご連絡することがあります。