在生产环境中使用pyannote.audio
开源工具包?
考虑切换到pyannoteAI以获得更好更快的选择。
pyannote.audio
说话人分类工具包
pyannote.audio
是一个用Python编写的开源说话人分类工具包。基于PyTorch机器学习框架,它提供了最先进的预训练模型和流程,可以进一步针对您自己的数据进行微调以获得更好的性能。
简要说明
- 使用
pip install pyannote.audio
安装pyannote.audio
- 接受
pyannote/segmentation-3.0
用户条款 - 接受
pyannote/speaker-diarization-3.1
用户条款 - 在
hf.co/settings/tokens
创建访问令牌。
from pyannote.audio import Pipeline
pipeline = Pipeline.from_pretrained(
"pyannote/speaker-diarization-3.1",
use_auth_token="在此处填入HUGGINGFACE访问令牌")
# 将流程发送到GPU(如果可用)
import torch
pipeline.to(torch.device("cuda"))
# 应用预训练流程
diarization = pipeline("audio.wav")
# 打印结果
for turn, _, speaker in diarization.itertracks(yield_label=True):
print(f"开始={turn.start:.1f}秒 结束={turn.end:.1f}秒 说话人_{speaker}")
# 开始=0.2秒 结束=1.5秒 说话人_0
# 开始=1.8秒 结束=3.9秒 说话人_1
# 开始=4.2秒 结束=5.7秒 说话人_0
# ...
亮点
- :hugs: 在:hugs: 模型中心上的预训练流程(和模型)
- :exploding_head: 最先进的性能(参见基准测试)
- :snake: Python优先的API
- :zap: 使用pytorch-lightning进行多GPU训练
文档
- 更新日志
- 常见问题
- 模型
- 可用任务说明
- 应用预训练模型
- 训练、微调和迁移学习
- 流水线
- 可用流水线说明
- 应用预训练流水线
- 将预训练流水线适配到您自己的数据
- 训练流水线
- 贡献
- 博客
- 2022-12-02 > "我如何在Ego4D 2022获得第一名、Albayzin 2022获得第一名以及VoxSRC 2022说话人分类挑战赛获得第六名"
- 2022-10-23 > "一个统治所有说话人分割模型"
- 2021-08-05 > "使用pyannote.audio进行流式语音活动检测"
- 视频
- 说话人分类介绍 / JSALT 2023暑期学校 / 90分钟
- 说话人分割模型 / Interspeech 2021 / 3分钟
- pyannote.audio首次发布 / ICASSP 2020 / 8分钟
- 社区贡献(非核心团队维护)
- 2024-04-05 > 离线说话人分类 (speaker-diarization-3.1) 由 Simon Ottenhaus 提供
基准测试
开箱即用的pyannote.audio
说话人分类流水线 v3.1版本预计将比v2.x版本更好(且更快)。
以下数字为分类错误率(以百分比表示):
基准测试 | v2.1 | v3.1 | pyannoteAI |
---|---|---|---|
AISHELL-4 | 14.1 | 12.2 | 11.9 |
AliMeeting(通道1) | 27.4 | 24.4 | 22.5 |
AMI(IHM) | 18.9 | 18.8 | 16.6 |
AMI(SDM) | 27.1 | 22.4 | 20.9 |
AVA-AVD | 66.3 | 50.0 | 39.8 |
CALLHOME(第2部分) | 31.6 | 28.4 | 22.2 |
DIHARD 3(完整版) | 26.9 | 21.7 | 17.2 |
Earnings21 | 17.0 | 9.4 | 9.0 |
Ego4D(开发版) | 61.5 | 51.2 | 43.8 |
MSDWild | 32.8 | 25.3 | 19.8 |
RAMC | 22.5 | 22.2 | 18.4 |
REPERE(第2阶段) | 8.2 | 7.8 | 7.6 |
VoxConverse(v0.3) | 11.2 | 11.3 | 9.4 |
说话人分类错误率(百分比)
引用
如果您使用pyannote.audio
,请使用以下引用:
@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
库所需的包。
pip install -e .[dev,testing]
pre-commit install
测试
pytest