whisperX

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

开源 🏷️完全免费 🔧 仅开源项目,无在线服务,需自行部署 语音识别 🍴 复刻 2543 🐛 待处理 220 👀 关注 158
GitHub ↗
GitHub 星标 ★ 25167
维护状态 较活跃
是否开源 开源
定价模式 🏷️完全免费 开源项目,BSD-2-Clause许可证,完全免费,可自行部署使用。

项目预览

whisperX 项目界面预览图
图片来源:GitHub 官方仓库名片

项目数据

分类语音识别
开发团队m-bain
定价模式🏷️完全免费
价格说明开源项目,BSD-2-Clause许可证,完全免费,可自行部署使用。
访问状态🔧 仅开源项目,无在线服务,需自行部署
是否开源是
开源协议BSD-2-Clause
主要语言Python
技术栈/模型asr,speech,speech-recognition,speech-to-text,whisper
GitHub 星标★ 25167
上线时间2022-12-09 00:00:00
代码更新2026-10-22
仓库体积41.0 MB
本站数据更新2026-11-09
维护状态较活跃
收录时间2026-08-10
浏览次数7

项目介绍

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

Star 增长趋势

本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整

数据来源:GitHub API 逐日快照 · 收录于 2026-08-10 · 当前星标 ★ 25167

使用教程

难度:进阶 约 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

上一篇:whisper.cpp

下一篇:FunASR

同类项目推荐

EnviousWispr 开源

Mac 本地语音听写,亚秒出字,音频不出机。

Free, on-device AI dictation and meeting notes for macOS. Sub-second dictation with ···

★ 218 2026-09-23
typewhisper-mac 开源

在 Mac 上离线语音秒变文字,隐私无忧

Local speech-to-text for macOS on-device AI, fully private, optional cloud

★ 1913 2026-08-10
efficientspeech 开源

让语音合成在CPU上也能实时跑起来

PyTorch code implementation of EfficientSpeech - to be presented at ICASSP2023.

★ 183 2026-08-09
moonshine 开源

超低延迟语音全家桶,让语音交互快人一步

Very low latency speech to text, intent recognition, and text to speech, for buildin···

★ 11441 2026-08-09
whispering 开源

说话即出字幕,VRChat 和直播叠加一键同步

Whispering Tiger - OpenAI's whisper (and other models) with OSC and Websocket suppor···

★ 555 2026-09-23
vosk-api 开源

离线语音识别,不用联网,隐私安全,本地秒转文字

Offline speech recognition API for Android, iOS, Raspberry Pi and servers with Pytho···

★ 15236 2026-08-10
go-whisper 开源

用 Go 直接跑 Whisper,把音频转成文字

Speech-to-Text in golang

★ 192 2026-11-05
transcribe-anything 开源

一条命令把本地或在线音视频转成文字和字幕

Multi-backend whisper app. Blazing fast. Mac-arm optimized. Easy install. Input a lo···

★ 1483 2026-09-23
community 开源

现成语音命令库,装上就能用嘴操作电脑

Voice command set for Talon, community-supported.

★ 882 2026-11-10