
从环境准备到首次推理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-audio会议录音里四五个人轮流开口想自动把每段话归属到具体的人这就是说话人日志要干的事。pyannote.audio 是一个基于 PyTorch 的开源说话人日志工具包本教程带你完成 pyannote.audio 安装与配置从零跑通第一次推理。它能帮你解决什么长录音自动转成谁在什么时间说了什么的说话人日志speaker diarization检测音频中哪些区间有人在说话、哪些区间出现两人同时说话为每段语音生成说话人嵌入向量用于这是不是同一个人的比对动手前pyannote.audio 环境要求先过一遍环境清单避免装到一半才发现缺东西。必需Python 3.10 及以上包声明requires-python 3.10ffmpeg音频解码依赖它稳定的网络首次运行要下载模型权重Hugging Face 账号以及一个访问令牌官方模型为门控发布可选NVIDIA GPU 和对应 CUDA 版本推理明显更快没有也能用 CPU 跑pyannote.audio 安装步骤创建一个隔离的虚拟环境依赖装进系统 Python 容易污染全局环境先建一个独立环境。python3 -m venv ~/.venvs/pyannote source ~/.venvs/pyannote/bin/activate激活成功后命令行提示符最前面会出现(.venvs/pyannote)之类的前缀。安装 ffmpeg音频解码库torchcodec靠 ffmpeg 解析音频文件缺了它连 wav 都读不进来。# Debian / Ubuntu sudo apt-get install -y ffmpeg # macOS brew install ffmpeg运行ffmpeg -version能打印版本号即装好。添加 pyannote.audio 包这是核心安装动作装完顺手验证 import 是否可用。pip install uv uv add pyannote.audio python -c import pyannote.audio; print(pyannote.audio.__version__)最后一条命令打印出版本号且不抛异常说明安装成功依赖较多第一次可能要等一两分钟。项目 README 推荐用 uv 安装手头没有 uv 的话pip install pyannote.audio效果相同。在 Hugging Face 上接受许可并创建令牌官方模型走门控发布要先在模型页面勾选同意用户条件再拿到访问令牌才能下载权重。操作步骤登录 Hugging Face → 打开pyannote/speaker-diarization-community-1模型页 → 勾选同意用户条件 → 进入 hf.co/settings/tokens 创建令牌并复制下来。页面提示已接受、令牌创建成功后会显示一串hf_开头的字符把它存好下一步代码里要用。pyannote.audio 快速上手跑通第一次拿任意一段 wav 做最小验证代码不到 10 行import torch from pyannote.audio import Pipeline pipeline Pipeline.from_pretrained( pyannote/speaker-diarization-community-1, tokenhf_你的令牌 ) pipeline.to(torch.device(cpu)) # 有 GPU 可改成 cuda output pipeline(audio.wav) for turn, speaker in output.speaker_diarization: print(f{turn.start:.1f}s - {turn.end:.1f}s {speaker})正常输出是一串带起止时间和说话人编号的段落类似0.2s - 1.5s SPEAKER_00、1.8s - 3.9s SPEAKER_01。看到这种按时间递增的条目就说明管线已跑通。新手常踩的坑Q报 ffmpeg not found 或无法解码音频A系统里没装 ffmpeg用系统包管理器装上再试验证命令是ffmpeg -version。Q加载预训练管线时报权限错误A模型是门控发布的先去 Hugging Face 上那个模型页勾选接受用户条件令牌才有权限拉权重。Q明明有 GPU为什么还是跑在 CPU 上Apipeline.to()没指向设备把它改成torch.device(cuda)先用python -c import torch; print(torch.cuda.is_available())确认 CUDA 可用。QCPU 上处理长音频太慢A先用短音频验证流程正式跑换 GPU也可以把音频切成小段分批处理。Q生产环境不能联网怎么办A首次联网运行后权重会缓存在本地把缓存目录整体拷到离线机器即可细节见仓库里的 FAQ 离线部分和 离线使用教程。更多细节看源码 README、FAQ 和 tutorials/ 教程目录想把自己的数据调进管线从 adapting_pretrained_pipeline.ipynb 入手。【免费下载链接】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),仅供参考