whisperX 简介
whisperX 是基于 OpenAI Whisper 的语音识别工具,它在 Whisper 的基础上进行了改进,提供了更精准的单词级时间戳和说话人区分功能。whisperX 采用了强制音素对齐(Phoneme-Based ASR)和语音活动检测(VAD)等技术,能够显著提高语音识别的准确性和效率。
主要特点包括:
- ⚡️ 批处理推理,使用 whisper large-v2 模型可实现 70 倍实时转录
- 🎯 使用 wav2vec2 对齐实现精准的单词级时间戳
- 👯♂️ 支持多 speaker 语音识别,使用 pyannote-audio 进行说话人区分
- 🗣️ VAD 预处理,减少幻觉,在不降低 WER 的情况下实现批处理
详细的技术细节可以参考官方 README。
环境搭建
1. 创建 Python 环境
首先,我们需要创建一个 Python 3.10 的环境。打开终端,执行以下命令:
conda create --name whisperx python=3.10
conda activate whisperx
2. 安装 PyTorch
whisperX 需要 PyTorch 的支持。对于 Linux 和 Windows 用户,推荐安装 CUDA 11.8 版本的 PyTorch:
conda install pytorch==2.0.0 torchaudio==2.0.0 pytorch-cuda=11.8 -c pytorch -c nvidia
其他系统或 CUDA 版本的安装方法可以参考 PyTorch 官方文档。
3. 安装 whisperX
whisperX 提供了多种安装方式,你可以根据自己的需求选择:
选项 A:稳定版本(推荐)
从 PyPI 安装最新的稳定版本:
pip install whisperx
选项 B:开发版本
从 GitHub 安装最新的开发版本(可能不稳定):
pip install git+https://github.com/m-bain/whisperX.git
如果已经安装了 whisperX,可以使用以下命令升级到最新版本:
pip install git+https://github.com/m-bain/whisperX.git --upgrade
选项 C:开发模式
如果你需要修改源码,可以克隆仓库并以可编辑模式安装:
git clone https://github.com/m-bain/whisperX.git
cd whisperX
pip install -e .
注意:开发版本可能包含实验性功能和 bug,生产环境建议使用稳定版本。
此外,你可能还需要安装 ffmpeg、rust 等依赖,可以参考 OpenAI Whisper 的安装指南。
4. 配置 Speaker Diarization(可选)
如果需要使用说话人区分功能,你需要获取 Hugging Face 的访问令牌,并接受相关模型的用户协议。具体步骤如下:
- 在 Hugging Face 设置页面生成访问令牌
- 接受 Segmentation 和 Speaker-Diarization 模型的用户协议
命令行使用
基本使用
安装完成后,我们可以使用命令行来调用 whisperX。最简单的用法是:
whisperx examples/sample01.wav

