Insanely Fast Whisper高级功能:说话人分离(diarization)实现多人对话转录
【免费下载链接】insanely-fast-whisper 项目地址: https://gitcode.com/gh_mirrors/in/insanely-fast-whisper
你还在为多人会议录音无法区分说话人而烦恼?使用Insanely Fast Whisper的说话人分离(Speaker Diarization)功能,可自动识别音频中不同说话人并标记发言内容,轻松实现会议纪要、访谈记录的智能转录。读完本文你将掌握:3行命令完成多人对话转录、自定义说话人数量设置、输出结果解析方法。
核心功能实现原理
说话人分离功能通过src/insanely_fast_whisper/utils/diarization_pipeline.py实现,采用Pyannote.audio预训练模型进行语音分割,结合Whisper的转录结果完成说话人匹配。核心处理流程如下:
环境准备与安装
- 克隆项目仓库:
git clone https://gitcode.com/gh_mirrors/in/insanely-fast-whisper
cd insanely-fast-whisper
- 安装依赖:
pip install -r requirements.txt
- 获取Hugging Face访问令牌:
- 访问Hugging Face官网注册账号
- 在设置页面创建访问令牌
- 接受pyannote/speaker-diarization-3.1模型使用协议
快速开始:基础使用命令
使用默认参数处理音频文件,自动检测说话人数量:
python -m src.insanely_fast_whisper.cli \
--file-name meeting_audio.wav \
--hf-token YOUR_HF_TOKEN \
--diarization_model pyannote/speaker-diarization-3.1
指定说话人数量(适用于已知参会人数场景):
python -m src.insanely_fast_whisper.cli \
--file-name interview.wav \
--hf-token YOUR_HF_TOKEN \
--num-speakers 2 \
--transcript-path output.json
高级参数配置
通过src/insanely_fast_whisper/cli.py可配置多种高级参数,优化转录效果:
| 参数 | 作用 | 示例 |
|---|---|---|
| --min-speakers | 最小说话人数量 | --min-speakers 2 |
| --max-speakers | 最大说话人数量 | --max-speakers 4 |
| --device-id | 指定运行设备 | --device-id cuda:0 |
| --batch-size | 批处理大小 | --batch-size 16 |
| --flash | 启用Flash Attention加速 | --flash True |
输出结果解析
默认输出格式为JSON,存储在output.json文件中,结构示例:
{
"chunks": [
{
"speaker": "SPEAKER_00",
"start": 0.5,
"end": 3.2,
"text": "大家好,今天我们讨论新功能的实现方案"
},
{
"speaker": "SPEAKER_01",
"start": 3.5,
"end": 7.1,
"text": "我认为应该优先考虑性能优化"
}
]
}
使用convert_output.py可转换为纯文本格式:
python convert_output.py --input output.json --format text --output transcript.txt
常见问题解决
-
GPU内存不足:
- 降低批处理大小:
--batch-size 8 - 使用CPU处理:
--device-id cpu
- 降低批处理大小:
-
说话人识别错误:
- 提供更准确的说话人数量:
--num-speakers 3 - 调整最小/最大说话人范围:
--min-speakers 2 --max-speakers 4
- 提供更准确的说话人数量:
-
处理速度慢:
- 启用Flash Attention:
--flash True - 减少音频文件长度,分段处理
- 启用Flash Attention:
扩展应用场景
- 会议记录自动化:结合定时任务自动处理每日团队例会录音
- 访谈内容分析:快速提取访谈中不同嘉宾的观点
- 客服通话质检:分析客服与用户对话中的关键信息
项目资源与学习路径
- 官方文档:README.md
- Colab示例:insanely_fast_whisper_colab.ipynb
- Python API:src/insanely_fast_whisper/
- 示例笔记本:notebooks/
点赞收藏本文,关注项目更新获取更多语音处理技巧。下期将介绍如何通过API集成说话人分离功能到自定义应用中。
【免费下载链接】insanely-fast-whisper 项目地址: https://gitcode.com/gh_mirrors/in/insanely-fast-whisper
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



