🚀 "Powerset"说话人分割模型
本模型是一个开源的说话人分割模型,它可以对音频进行处理,输出说话人分离的结果。如果你在生产环境中使用此模型,建议考虑使用 pyannoteAI 以获得更好更快的选择。
🚀 快速开始
模型概述
此模型接收以 16kHz 采样的 10 秒单声道音频,并将说话人分离结果输出为一个 (num_frames, num_classes) 矩阵,其中 7 个类别分别为 非语音、说话人 #1、说话人 #2、说话人 #3、说话人 #1 和 #2、说话人 #1 和 #3 以及 说话人 #2 和 #3。

安装要求
- 使用
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)
实例化模型
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")
📚 详细文档
该模型背后的各种概念在这篇 论文 中有详细描述。它由 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},
}