🚀 "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")
💻 使用示例
基础用法
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},
}
📋 信息表格
属性 |
详情 |
模型类型 |
“Powerset”说话人分割模型 |
训练数据 |
AISHELL、AliMeeting、AMI、AVA - AVD、DIHARD、Ego4D、MSDWild、REPERE和VoxConverse的训练集 |
⚠️ 重要提示
收集的信息将有助于更好地了解pyannote.audio的用户群体,并帮助其维护者进一步改进它。尽管此模型使用MIT许可证,并且将始终保持开源,但我们偶尔会通过电子邮件向您介绍pyannote相关的高级模型和付费服务。
💡 使用建议
在生产环境中使用此开源模型时,考虑切换到 pyannoteAI 以获取更优质、更高效的解决方案。