WhisperX:70 倍实时语音转录、词级时间戳与多说话人分离技术
WhisperX 是基于 OpenAI Whisper 模型优化的开源自动语音识别工具。它利用批量推理、强制音素对齐和语音活动检测技术,实现 70 倍实时转录速度,提供精确的词级时间戳和说话人分割功能。支持多语言,适用于视频字幕、会议记录及音频搜索等场景。基于 Python 开发,易于集成到现有工作流中。

WhisperX 是基于 OpenAI Whisper 模型优化的开源自动语音识别工具。它利用批量推理、强制音素对齐和语音活动检测技术,实现 70 倍实时转录速度,提供精确的词级时间戳和说话人分割功能。支持多语言,适用于视频字幕、会议记录及音频搜索等场景。基于 Python 开发,易于集成到现有工作流中。

在当今数字化信息飞速发展的时代,语音识别技术已成为人工智能领域的重要分支,广泛应用于视频字幕生成、会议记录、语音数据分析等众多场景。然而,面对长音频数据处理,传统自动语音识别(ASR)系统往往暴露出效率低下、精度不足等问题。在此背景下,WhisperX 项目应运而生,为语音识别领域带来了全新的解决方案。
WhisperX 是一个开源的自动语音识别(ASR)项目,由 m-bain 开发,基于 OpenAI 的 Whisper 模型,并在此基础上进行了深度优化和扩展。它通过引入批量推理、强制音素对齐和语音活动检测等技术,实现了高达 70 倍的实时转录速度,并提供精确的单词级时间戳和说话人识别功能。该项目不仅在性能上取得了突破,还在 Ego4d 转录挑战中荣获第一名,并被接受在 INTERSPEECH 2023 上展示。

WhisperX 使用 Whisper 模型进行语音识别,能够处理多种语言的音频数据,包括英语、德语、法语、西班牙语、意大利语、日语和中文。无论音频中夹杂着不同语言,它都能精准识别并转录。
通过结合 wav2vec2 模型进行强制对齐,WhisperX 能够生成每个单词的精确时间戳,显著提高了转录的准确性。
项目集成了 pyannote-audio 的说话人分割功能,能够识别和标注音频中的不同说话人。在多人对话场景下,这一功能显得尤为重要,它能够清晰地区分出不同说话人的发言内容,让转录文本更具条理性和可读性。
WhisperX 支持批处理推理,能够在 GPU 上实现高达 70 倍的实时处理速度。这一技术突破使得处理大规模音频数据成为可能。
通过 VAD 预处理,WhisperX 能够更准确地识别和转录包含语音的音频段。它能够有效过滤掉音频中的非语音部分,减少幻听现象。
Whisper 是由 OpenAI 开发的 ASR 模型,经过大规模多样化音频数据集的训练,能够产生高度准确的转录结果。然而,Whisper 原生不支持批处理,且其时间戳仅在句子级别,可能会有几秒钟的误差。WhisperX 在此基础上进行了优化,通过强制音素对齐和语音活动检测等技术,实现了单词级时间戳的精确标注。
Whisper 模型采用了基于 Transformer 的架构,具有强大的序列建模能力。它通过端到端的训练方式,能够直接将音频信号映射到文本序列。WhisperX 利用 Whisper 模型的强大性能,同时针对其不足之处进行改进,从而实现了更高效、更精准的语音识别。
强制对齐是指将正字法转录与音频记录对齐的过程,以自动生成音素级别的分段。WhisperX 使用 wav2vec2 模型进行强制对齐,从而提供精确的单词级时间戳。这一技术的核心在于利用 wav2vec2 模型对音频进行深度特征提取,然后与转录文本进行逐帧比对,找到每一个单词在音频中的精确起始和结束时间。
wav2vec2 模型是一种基于自监督学习的语音表示学习模型,它通过对大量无标注语音数据的学习,能够提取出语音信号中的丰富特征。在强制对齐过程中,这些特征被用来与文本进行精确匹配,从而实现单词级别的时间戳标注。
WhisperX 集成了 pyannote-audio 的说话人分割功能,能够将包含人类语音的音频流按每个说话人的身份分割成同质段。这一功能对于多说话人场景的语音转录尤为重要。
pyannote-audio 是一个专门用于语音处理的开源库,提供了多种说话人分割算法。WhisperX 利用其先进的说话人分割技术,通过对音频中的语音特征进行分析,识别出不同说话人的语音模式,从而实现精准的说话人分割。
语音活动检测是检测人类语音是否存在的过程。WhisperX 在预处理阶段使用 VAD,减少了幻听现象,同时不影响转录的准确性。
VAD 技术通过对音频信号的特征分析,判断当前音频帧是否包含语音。在语音识别预处理阶段,VAD 可以有效地过滤掉音频中的非语音部分,减少这些部分对语音识别模型的干扰,从而提高转录的准确性。
在视频内容创作领域,WhisperX 的准确时间戳和说话人标签简化了为视频内容创建字幕的过程,增强了可访问性和观看体验。
WhisperX 能够捕获会议、讲座和网络研讨会中的讨论,并通过说话人识别来组织和澄清转录文本。在企业会议记录场景下,它能够快速将会议内容转录成文本,并区分不同发言人的观点。
WhisperX 提供详细的转录文本和时间信息,从而为音频档案和播客提供高级索引和搜索功能。用户可以通过关键词快速定位到音频中的相关内容。
WhisperX 可以辅助教学,为课堂视频录制提供文字化支持,助力教学材料的整理。教师可以通过 WhisperX 快速将课堂讲解内容转录成文本,制作成电子教材。
WhisperX 基于 Python 开发,需要安装以下依赖:
通过以下命令安装 WhisperX:
pip install git+https://github.com/m-bain/whisperX.git
以下是一个简单的使用示例:
import whisperx
import torch
# 加载模型
device = "cuda" if torch.cuda.is_available() else "cpu"
model = whisperx.load_model("large-v2", device)
# 转录音频
audio_path = "path/to/your/audio.wav"
result = model.transcribe(audio_path)
# 打印结果
print(result)
在这段代码中,首先导入了 whisperx 和 torch 库。然后根据设备情况(是否支持 CUDA)加载了 WhisperX 模型。接着指定音频文件路径,调用模型的 transcribe 方法进行语音识别,并将结果打印出来。
WhisperX 作为一个开源的自动语音识别项目,凭借其高效的转录速度、精确的时间戳标注和强大的说话人分割功能,为语音识别领域带来了新的突破。无论是在视频字幕生成、会议记录还是教育领域,WhisperX 都展现出了广泛的应用前景。


微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online
生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online
基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online
解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online