m-bain/whisperX
WhisperX: Automatic Speech Recognition with Word-level Timestamps (& Diarization)
解决的问题
WhisperX 解决了 OpenAI 原始 Whisper 模型的局限性,特别是缺乏原生批处理以实现快速推理,以及发言级别时间戳的不准确性。它提供了一种实现高速转录的方法,具备精确的单词级时间戳,并能够识别音频流中的不同说话人。
工作原理
WhisperX 使用多阶段流水线来改进转录:
- 批量推理:利用
faster-whisper后端,实现比实时快得多的转录(large-v2 模型最高可达 70 倍)。 - VAD 预处理:使用语音活动检测(VAD)识别语音段,减少幻觉现象,并在不降低词错误率(WER)的前提下实现高效批量处理。
- 强制对齐:为修复时间戳不准确问题,使用基于音素的 ASR 模型(如 wav2vec2.0)将文字转录与音频对齐,生成精确的单词级分段。
- 说话人分离:集成
pyannote-audio将音频流分割,并为转录文本分配说话人 ID 标签。
适用人群
本工具适用于需要高性能自动语音识别(ASR)并具备精确时间戳和说话人识别能力的开发者和研究人员,尤其适用于长时音频记录。
主要亮点
- 极致速度:通过批量推理实现高达 70 倍于实时速度的转录。
- 单词级精度:使用 wav2vec2 对齐生成精确时间戳,而非依赖发言级估计。
- 说话人识别:内置说话人分离支持,可标注谁在说话。
- 低内存占用:在特定设置下,large-v2 模型仅需不到 8GB GPU 内存。
- 多语言支持:通过自动选择的音素 ASR 对齐模型支持多种语言。
相关
- 项目
- Dispatch
- 项目
- 项目
- 项目