WhisperX:高效自动语音识别与时间戳标注
项目基础介绍和主要编程语言
WhisperX 是一个基于 Python 的开源项目,旨在提供高效的自动语音识别(ASR)功能,并结合词级别的时间戳和说话人分割(Diarization)。该项目利用了 OpenAI 的 Whisper 模型,并在此基础上进行了优化和扩展,以实现更精确的语音转录和时间戳标注。
项目核心功能
- 自动语音识别:WhisperX 使用 Whisper 模型进行语音识别,能够处理多种语言的音频数据。
- 词级别时间戳:通过结合 wav2vec2 模型进行强制对齐,WhisperX 能够生成每个单词的精确时间戳,显著提高了转录的准确性。
- 说话人分割:项目集成了 pyannote-audio 的说话人分割功能,能够识别和标注音频中的不同说话人。
- 批处理推理:WhisperX 支持批处理推理,能够在 GPU 上实现高达 70 倍的实时处理速度。
- 语音活动检测(VAD):通过 VAD 预处理,WhisperX 能够更准确地识别和转录包含语音的音频段。
项目最近更新的功能
- v3 版本发布:最新版本 v3 引入了句子级别的分割,使用 nltk 的 sent_tokenize 方法,提升了字幕生成和说话人分割的效果。
- 70 倍速度提升:v3 版本通过批处理和 faster-whisper 后端,实现了 70 倍的实时处理速度。
- 代码清理和优化:v2 版本进行了代码清理,并默认启用了 VAD 过滤,提升了转录的准确性和鲁棒性。
- 论文发布:WhisperX 的详细技术细节和性能评估已在 Arxiv 上发布预印本,介绍了更高效的批处理推理方法和时间戳对齐技术。
通过这些更新,WhisperX 不仅在性能上有了显著提升,还在功能和易用性上进行了优化,使其成为处理长格式音频数据的理想工具。