whisperX 简介
whisperX 是基于 OpenAI Whisper 构建的 Python 工具,在原有基础上优化了单词级时间戳精度和说话人区分能力。它通过强制音素对齐(Phoneme-Based ASR)和语音活动检测(VAD)技术,显著提升了转录效率和准确性。
主要特性包括:
- 批处理推理,使用 large-v2 模型可实现接近 70 倍实时转录
- 基于 wav2vec2 的对齐机制,提供精准的单词级时间戳
- 集成 pyannote-audio 支持多说话人分离
- VAD 预处理减少幻觉,保持 WER 的同时提升速度
环境搭建
1. 创建 Python 环境
建议使用 Python 3.10。打开终端执行:
conda create --name whisperx python=3.10
conda activate whisperx
2. 安装 PyTorch
whisperX 依赖 PyTorch。Linux 和 Windows 用户推荐安装 CUDA 11.8 版本:
conda install pytorch==2.0.0 torchaudio==2.0.0 pytorch-cuda=11.8 -c pytorch -c nvidia
若系统或 CUDA 版本不同,请参考 PyTorch 官方文档获取对应安装命令。
3. 安装 whisperX
根据需求选择安装方式:
稳定版本(推荐)
pip install whisperx
开发版本
pip install git+https://github.com/m-bain/whisperX.git
开发模式 如需修改源码,可克隆仓库并安装为可编辑模式:
git clone https://github.com/m-bain/whisperX.git
cd whisperX
pip install -e .
注意:生产环境建议使用稳定版本。此外还需安装 ffmpeg、rust 等依赖,具体参考 OpenAI Whisper 的安装指南。
4. 配置说话人分离(可选)
若需使用说话人区分功能,需获取 Hugging Face 访问令牌并接受相关模型协议:
- 在 Hugging Face 设置页面生成 Token
- 接受 Segmentation 和 Speaker-Diarization 模型的用户协议
命令行使用
基本转录
安装完成后,可直接调用命令行:
whisperx examples/sample01.wav
默认使用 small 模型。若需获取单词级高亮时间戳,添加参数:
whisperx examples/sample01.wav --highlight_words True
提升准确率
使用更大模型可显著提高效果:
whisperx examples/sample01.wav --model large-v2 --align_model WAV2VEC2_ASR_LARGE_LV60K_960H --batch_size 4
这里指定了 large-v2 模型及对应的对齐模型,batch_size 控制显存占用。

