标签:
- pyannote
- pyannote音频
- pyannote音频管道
- 音频
- 语音
- 说话人
- 说话人分割
- 说话人变更检测
- 语音活动检测
- 重叠语音检测
- 自动语音识别
许可证: MIT
额外授权提示: "收集的信息将有助于更好地了解pyannote.audio用户群体,并帮助其维护者进一步改进。尽管此管道使用MIT许可证并始终保持开源,但我们偶尔会通过电子邮件向您介绍关于pyannote的高级管道和付费服务。"
额外授权字段:
公司/大学: 文本
网站: 文本
在生产中使用此开源模型?
考虑切换到pyannoteAI以获得更好更快的选择。
🎹 说话人分割 2.5
基于pyannote/speaker-diarization-3.0
修改。
此管道使用pyannote/segmentation-3.0
进行说话人分段,但说话人嵌入采用speechbrain/spkrec-ecapa-voxceleb
来自pyannote/speaker-diarization@2.1
。
在某些测试中,speechbrain/spkrec-ecapa-voxceleb
的嵌入在自动检测说话人数量方面表现更佳。
要求
- 安装
pyannote.audio
3.0
,使用pip install pyannote.audio
- 接受
pyannote/segmentation-3.0
的用户条款
- 在
hf.co/settings/tokens
创建访问令牌。
使用方法
from pyannote.audio import Pipeline
pipeline = Pipeline.from_pretrained(
"Willy030125/speaker-diarization-2.5",
use_auth_token="HUGGINGFACE_ACCESS_TOKEN_GOES_HERE")
diarization = pipeline("audio.wav")
with open("audio.rttm", "w") as rttm:
diarization.write_rttm(rttm)
GPU处理
默认情况下,pyannote.audio
管道在CPU上运行。
可以通过以下代码将其发送到GPU:
import torch
pipeline.to(torch.device("cuda"))
使用一块Nvidia Tesla V100 SXM2 GPU(用于神经网络推理部分)和一块Intel Cascade Lake 6248 CPU(用于聚类部分),实时因子约为2.5%。
换句话说,处理一小时对话大约需要1.5分钟。
从内存处理
预加载音频文件到内存中可能会加快处理速度:
waveform, sample_rate = torchaudio.load("audio.wav")
diarization = pipeline({"waveform": waveform, "sample_rate": sample_rate})
监控进度
可以使用钩子监控管道的进度:
from pyannote.audio.pipelines.utils.hook import ProgressHook
with ProgressHook() as hook:
diarization = pipeline("audio.wav", hook=hook)
控制说话人数量
如果已知说话人数量,可以使用num_speakers
选项:
diarization = pipeline("audio.wav", num_speakers=2)
还可以使用min_speakers
和max_speakers
选项提供说话人数量的下限和/或上限:
diarization = pipeline("audio.wav", min_speakers=2, max_speakers=5)
基准测试
此管道已在大量数据集上进行基准测试。
处理完全自动化:
- 无需手动语音活动检测(如文献中有时所述)
- 无需手动指定说话人数量(尽管可以向管道提供)
- 无需对内部模型进行微调或调整管道超参数以适应每个数据集
...采用最严格的说话人分割错误率(DER)设置(在本文中称为*"Full"*):
引用
@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},
}