ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

pyannote.audio 说话人日志完整教程:版本对比、安装与落地实践

pyannote.audio 说话人日志完整教程:版本对比、安装与落地实践 pyannote.audio 说话人日志完整教程版本对比、安装与落地实践【免费下载链接】pyannote-audioNeural building blocks for speaker diarization: speech activity detection, speaker change detection, overlapped speech detection, speaker embedding项目地址: https://gitcode.com/GitHub_Trending/py/pyannote-audiopyannote.audio 是基于 Python 的说话人日志speaker diarization工具把一段音频切分为谁在什么时间说话的时间段。会议转写、播客整理、音频分析这类任务都适用。哪个版本更适合你先给结论本地有 GPU选 community-1 社区版精度要求更高、不介意上云选 precision-2 专业版。两者输出结构一致差别在精度与运行位置。community-1 是开源模型在本机推理precision-2 由 pyannoteAI 的云端服务器执行。测试集community-1 错误率precision-2 错误率误差降低AMI 会议录音17.0%12.9%24%DIHARD 320.2%14.7%27%VoxConverse11.2%8.5%24%表中是说话人日志错误率Diarization Error Rate越低越好。三个数据集上专业版的误差比社区版低 24%27%。安装 pyannote.audio 并获取 Hugging Face 授权按顺序做四步确认 Python 不低于 3.10。创建虚拟环境python3 -m venv pyannote-env并激活然后pip install pyannote.audio。安装 ffmpeg。音频解码依赖它可用ffmpeg -version验证是否可用。在 Hugging Face 的 pyannote/speaker-diarization-community-1 模型页面接受用户条款再到账户设置里创建一个访问令牌。获取模型文件。首次调用Pipeline.from_pretrained会自动下载也可在模型仓库的 Files and versions 页面手动拿到pytorch_model.bin。跑通第一条音频import torch from pyannote.audio import Pipeline from pyannote.audio.pipelines.utils.hook import ProgressHook pipeline Pipeline.from_pretrained( pyannote/speaker-diarization-community-1, tokenHUGGINGFACE_ACCESS_TOKEN) pipeline.to(torch.device(cuda if torch.cuda.is_available() else cpu)) with ProgressHook() as hook: output pipeline(audio.wav, hookhook) for turn, speaker in output.speaker_diarization: print(f{turn.start:.1f}s-{turn.end:.1f}s {speaker})输出每行是一个说话段起始时间、结束时间以及一个说话人标签如 SPEAKER_00、SPEAKER_01。同一标签出现在不相邻的段落里代表是同一个人先后开口。结果是一个带时间戳的标注结构可以直接遍历、过滤或导出。批量处理与参数怎么调批量处理只需把调用放进循环逐条得到结果for path in audio_files: output pipeline(path) # 结果存为 RTTM 或 JSON调参看管道仓库根目录的 config.yaml它记录了说话人数约束、聚类等超参数。单跑一个文件时想临时覆盖某个值直接在调用里传参即可例如pipeline(audio.wav, min_speakers2, max_speakers4)。precision-2 走的是另一条路不需要本地 GPU音频在 pyannoteAI 服务器执行后返回结果。只把仓库名和密钥换掉即可切换pipeline Pipeline.from_pretrained( pyannote/speaker-diarization-precision-2, tokenPYANNOTEAI_API_KEY) output pipeline(audio.wav) # 在 pyannoteAI 服务器上执行结果怎么落地分段结果适合直接喂给标注工具。下图是 pyannote.audio 与 Prodigy 的集成界面波形与说话人分段同屏显示SPEAKER_00、SPEAKER_01 等标签可管理每个时间戳都能编辑、确认或拒绝改模型错判并沉淀标注数据的成本很低。典型落地场景有三个会议记录自动化把分段与 ASR 文本对齐得到带发言人、带时间戳的逐句纪要。播客结构化按说话人切分节目再分角色做摘要或章节归纳。音频取证对比多个录音里同一说话人的出现位置辅助交叉验证采访内容。更多用法可参考官方教程。安装失败或跑得慢怎么解决安装失败怎么排查检查 Python 版本python --version需显示 3.10 及以上3.9 及以下会直接装不上。确认装进了当前虚拟环境pip show pyannote.audio能看到版本才说明导入来源正确。首次下载模型走 Hugging Face 网络公司内网可能需要配置代理。运行速度慢怎么优化确认模型已放到 GPU 上示例里pipeline.to(torch.device(...))这行会自动选择设备CPU 环境不会报错但会明显变慢。检查 torch 是否为 CUDA 构建torch.cuda.is_available()返回 True 才算真正启用 GPU。长音频量大时改走 precision-2 云端执行省去本地推理开销。找一段自己的录音把audio.wav换成它把上面的代码原样跑一遍。看到分段结果后再回头调 config.yaml 里的说话人数约束。【免费下载链接】pyannote-audioNeural building blocks for speaker diarization: speech activity detection, speaker change detection, overlapped speech detection, speaker embedding项目地址: https://gitcode.com/GitHub_Trending/py/pyannote-audio创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表