m-bain/whisperX

WhisperX: Automatic Speech Recognition with Word-level Timestamps (& Diarization)

解决的问题

WhisperX 解决了 OpenAI 原始 Whisper 模型的局限性,特别是缺乏原生批处理以实现快速推理,以及发言级别时间戳的不准确性。它提供了一种实现高速转录的方法,具备精确的单词级时间戳,并能够识别音频流中的不同说话人。

工作原理

WhisperX 使用多阶段流水线来改进转录:

  1. 批量推理:利用 faster-whisper 后端,实现比实时快得多的转录(large-v2 模型最高可达 70 倍)。
  2. VAD 预处理:使用语音活动检测(VAD)识别语音段,减少幻觉现象,并在不降低词错误率(WER)的前提下实现高效批量处理。
  3. 强制对齐:为修复时间戳不准确问题,使用基于音素的 ASR 模型(如 wav2vec2.0)将文字转录与音频对齐,生成精确的单词级分段。
  4. 说话人分离:集成 pyannote-audio 将音频流分割,并为转录文本分配说话人 ID 标签。

适用人群

本工具适用于需要高性能自动语音识别(ASR)并具备精确时间戳和说话人识别能力的开发者和研究人员,尤其适用于长时音频记录。

主要亮点

  • 极致速度:通过批量推理实现高达 70 倍于实时速度的转录。
  • 单词级精度:使用 wav2vec2 对齐生成精确时间戳,而非依赖发言级估计。
  • 说话人识别:内置说话人分离支持,可标注谁在说话。
  • 低内存占用:在特定设置下,large-v2 模型仅需不到 8GB GPU 内存。
  • 多语言支持:通过自动选择的音素 ASR 对齐模型支持多种语言。

相关

  • 项目
  • Dispatch
  • 项目
  • 项目
  • 项目