whisperX

让 Whisper 转录精准到每个词,还自动区分说话人

WhisperX 是一个基于 OpenAI Whisper 的自动语音识别(ASR)工具,核心解决 Whisper 原始输出时间戳不精确、无法对齐到单词级别的问题。它通过强制对齐(forced alignment)技术,利用 wav2vec2 或 MMS 模型对 Whisper 的转录结果进行音素级对齐,生成词级时间戳,并支持说话人分离(diarization),可区分不同说话人。WhisperX 还提供批量处理、多语种支持、GPU 加速和命令行接口,适用于视频字幕生成、会议记录、播客转写等场景。其核心能力包括:高精度词级时间戳、说话人标签、模块化设计(可替换 ASR 和对齐模型)、以及高效的批处理流水线。项目在 GitHub 上拥有超过 2.3 万星标,是语音识别社区中广受欢迎的工具,尤其适合需要精确时间戳和说话人信息的应用开发。

开源 free 语音识别
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 24188
维护状态 较活跃
是否开源 是
定价模式 free

项目数据

分类语音识别
开发团队m-bain
所属国家
官网地址
定价模式free
价格说明开源项目,BSD-2-Clause许可证,完全免费,可自行部署使用。
访问状态
是否开源是
开源协议BSD-2-Clause
主要语言Python
技术栈/模型asr,speech,speech-recognition,speech-to-text,whisper
GitHub 星标★ 24188
30天Star增速
HF 下载量
上线时间2022-12-09 00:00:00
最近更新2026-09-22 00:00:00
维护状态较活跃
中文支持
访问方式
移动端支持
综合评分
收录时间2026-08-10
浏览次数4

使用教程

难度:进阶 约 20 分钟 部署方式:库/依赖 7 步

环境要求

  • Python 环境(通过 pip 或 uv 安装)
  • GPU 加速需预先安装 CUDA toolkit 12.8,仅用 CPU 可跳过
  • 可能需要额外安装 ffmpeg、rust 等系统依赖
  • 磁盘与显存需能容纳所选 Whisper 模型(显存不足可调小 batch_size)

安装与启动步骤

  1. 1安装 CUDA(可选)

    要用 GPU 加速,需在安装 WhisperX 之前装好 CUDA toolkit 12.8;只用 CPU 则跳过此步。

  2. 2准备系统依赖

    README 提示可能还需要安装 ffmpeg、rust 等,按其给出的 OpenAI Whisper 安装说明操作。

  3. 3PyPI 安装(推荐)

    最简单的安装方式,一条命令装好 WhisperX。

    pip install whisperx
  4. 4用 uvx 直接运行

    已装 uv 时可用 uvx 运行工具,无需先手动安装包。

    uvx whisperx
  5. 5从 GitHub 安装

    想直接用仓库当前代码,可用 uvx 从 GitHub 地址安装运行。

    uvx git+https://github.com/m-bain/whisperX.git
  6. 6开发者安装

    需要改代码或贡献时用此方式克隆仓库并同步全部依赖,注意开发版可能含实验特性与 bug。

    git clone https://github.com/m-bain/whisperX.git
    cd whisperX
    uv sync --all-extras --dev
  7. 7运行 Python 示例

    新建脚本设置设备、音频文件、批大小与计算精度;README 片段仅到变量定义,后续加载模型代码按官方仓库补全。

    import whisperx
    import gc
    from whisperx.diarize import DiarizationPipeline
    
    device = "cuda"
    audio_file = "audio.mp3"
    batch_size = 16 # reduce if low on GPU mem
    compute_type = "float16" # change to "int8" if low on GPU mem (may reduce accuracy)

关键配置

配置项必填说明示例
device是指定推理设备,GPU 用 cuda,仅 CPU 时用 cpucuda
audio_file是待转写的音频文件路径audio.mp3
batch_size否批处理大小,显存不足时调小16
compute_type否计算精度,显存不足可改 int8(可能降低精度)float16

如何确认成功

运行 Python 示例能正常导入 whisperx、加载模型并输出转录结果与词级时间戳,即安装成功。

常见问题

Q:显存不够用怎么办?

A:按 README 注释调小 batch_size,并把 compute_type 从 float16 改为 int8;注意 int8 可能降低识别准确率。

Q:没有 GPU 能用吗?

A:可以。README 说明仅使用 CPU 时可跳过 CUDA toolkit 12.8 的安装步骤,把 device 设为 cpu 即可。

Q:生产环境该用哪个版本?

A:优先用 PyPI 稳定版(pip install whisperx)。README 提醒开发版可能包含实验性功能和 bug。

Q:安装后仍报缺依赖?

A:README 提示可能还需安装 ffmpeg、rust 等,按其给出的 OpenAI Whisper 安装说明继续配置。

注意事项

  • GPU 加速必须先装 CUDA toolkit 12.8,且要在安装 WhisperX 之前完成。
  • 开发版可能包含实验特性和 bug,生产环境建议使用 PyPI 稳定版。
  • README 的 Python 示例是片段,完整转录与对齐流程需参考仓库后续代码。

核心亮点

  • 词级时间戳精准,比原生 Whisper 提升显著,适合字幕制作
  • 集成说话人分离,一次输出带说话人标签的转录结果
  • 模块化设计,可灵活替换 ASR 和对齐模型,适配多语言

不足之处

  • 依赖外部对齐模型,安装配置稍复杂
  • 文档/社区待观察,部分高级功能示例不足

适用场景

  • 视频字幕自动生成,需要精确到单词的时间轴
  • 会议记录与访谈转写,需区分不同说话人
  • 播客和媒体内容处理,批量转写并生成带时间戳的文本

替代项目

faster-whisper、whisper.cpp、stable-ts

项目介绍

whisperX 是语音识别领域的开源项目,由 m-bain 开发,2022 年首次发布。

在全站 13,090 个收录项目中,它的 GitHub 星标数(24,188)位列前 2%,在语音识别分类的 212 个项目里位列前 2%。

近 41 天,它的 GitHub 星标从 23,548 增加到 24,188,净增 640。

项目保持着较活跃的维护节奏,最近一次代码更新于 2026-09-22。BSD-2-Clause许可证,完全免费,可自行部署使用。

它主要面向的使用场景是:视频字幕自动生成,需要精确到单词的时间轴。同类可对比的替代方案包括 faster-whisper、whisper.cpp、stable-ts。

上一篇:whisper.cpp

下一篇:FunASR

同类项目推荐

obs-localvocal 开源

直播录屏时,本地AI实时生成字幕,保护隐私零延迟

OBS plugin for local speech recognition and captioning using AI

★ 1616 2026-09-10
LiveCaptions-Translator 开源

实时捕获系统音频,一键翻译成你懂的语言

Lightweight and powerful real-time audio/speech translation tool based on Windows Li···

★ 3755 2026-08-10
speechbrain 开源

一站式 PyTorch 语音工具箱,快速搞定识别、说话人验证等任务

A PyTorch-based Speech Toolkit

★ 11834 2026-08-26
whisper-diarization 开源

给语音转写加上说话人标签,会议记录一目了然

Automatic Speech Recognition with Speaker Diarization based on OpenAI Whisper

★ 5657 2026-08-13