faster-whisper 用 CTranslate2 重写了 Whisper 的推理,相同精度下更快、显存占用更低,是本地语音转写的实用选择。

要做字幕、做会议记录、批量转写课程录音,绕不开 Whisper。但原版实现跑起来慢,一个小时的音频在旧机器上要等很久。faster-whisper 是 SYSTRAN 维护的重实现:模型权重不变,推理后端换成 CTranslate2,支持 8 位量化与批处理。对没显卡的机器,这个差别很实在。

基本信息

项目内容
项目名称faster-whisper(SYSTRAN/faster-whisper)
编程语言Python
开源许可证MIT
GitHub 地址https://github.com/SYSTRAN/faster-whisper
官网或 Demo以 GitHub README 为准

核心能力

同精度更快。 官方声明:相同精度下比 openai/whisper 快至多 4 倍,且内存占用更少。原理是把模型转成 CTranslate2 格式,用更高效的算子跑。

量化可选。 支持 float16、int8_float16、int8 等计算类型。没有显卡时可以跑 int8,在 CPU 上也能接受;有显卡就用 float16。

词级时间戳。 能输出每个词的起止时间,做字幕对齐必须靠这个。比只给整句时间戳实用得多。

内置 VAD。 自带语音活动检测过滤静音段,长录音里大片空白不会拖慢速度,也不会产生“谢谢观看”这种幻觉字幕。

批处理推理。 提供 BatchedInferencePipeline,并行处理多个音频段,吞吐量比逐段跑高很多。批量转写课程时差别明显。

使用上手

  1. pip install faster-whisper(建议在 venv 里装,避开依赖冲突)。
  2. 先跑最小例子:加载 WhisperModel("large-v3", device="cuda", compute_type="float16");无显卡则用 device="cpu"、compute_type="int8"。
  3. 调 model.transcribe("audio.mp3", vad_filter=True, word_timestamps=True),遍历返回的 segments 打印文本。
  4. 输出字幕时,用 segment 的 start/end 生成 SRT;需要精细对齐再用 word timestamps。
  5. 批量转写改用 BatchedInferencePipeline,并控制 batch_size,显存不够就调小。
  6. 中文内容建议先确认模型对专业术语的识别,专有名词错得多就加 initial_prompt 引导。
  7. 长音频先切段再并行跑,比单进程硬啃快。

优点与不足

优点是 MIT 许可、完全本地、无调用费用;速度快且显存友好,旧显卡也能跑;词级时间戳与 VAD 都是开箱可用;API 设计简单,几行代码就能出结果。不足是安装要匹配 CTranslate2 与 CUDA 版本,版本不对会报一堆底层错误;对强噪声、多人重叠说话的音频仍会错;中文标点与断句不如商业 API 精细;模型首次下载需要网络。

适合谁

适合做字幕、会议记录、课程转写的个人与小团队;适合需要批量处理大量录音的内容工作者;适合不想把音频上传到云服务的场景。不适合需要说话人分离(谁在说)的场景,那需要另配 diarization 工具。

下载与访问

仓库:https://github.com/SYSTRAN/faster-whisper
安装:pip install faster-whisper

许可证与部署

项目说明
源码部署pip install faster-whisper,首次运行自动下载模型权重
硬件要求CPU 可跑(int8);有 NVIDIA 显卡时用 float16 更快
许可证MIT
星标以 GitHub 为准(公开数据约 2.7 万,仅作参考)

模型权重来自 Whisper 系列,商用前请同时确认模型本身的许可条款。

本文属于「项目」分类的 AI 资源专栏,更多评测见分类页。