🚀 "Powerset" 说话人分割模型
本模型是一个开源的说话人分割模型,它能将输入的音频进行处理,输出说话人分割结果。模型以10秒、16kHz采样的单声道音频为输入,输出说话人分割矩阵。同时,使用该模型在生产环境中时,可考虑切换到 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秒、16kHz采样的单声道音频为输入,输出说话人分割结果,以 (num_frames, num_classes) 矩阵呈现,其中7个类别分别为 非语音、说话人 #1、说话人 #2、说话人 #3、说话人 #1 和 #2、说话人 #1 和 #3 以及 说话人 #2 和 #3。

💻 使用示例
基础用法
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 的高级模型和付费服务。
💡 使用建议
如果在生产环境中使用此开源模型,可考虑切换到 pyannoteAI 以获得更好更快的选择。