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,并行处理多个音频段,吞吐量比逐段跑高很多。批量转写课程时差别明显。
使用上手
pip install faster-whisper(建议在 venv 里装,避开依赖冲突)。- 先跑最小例子:加载
WhisperModel("large-v3", device="cuda", compute_type="float16");无显卡则用device="cpu"、compute_type="int8"。 - 调
model.transcribe("audio.mp3", vad_filter=True, word_timestamps=True),遍历返回的 segments 打印文本。 - 输出字幕时,用 segment 的 start/end 生成 SRT;需要精细对齐再用 word timestamps。
- 批量转写改用 BatchedInferencePipeline,并控制 batch_size,显存不够就调小。
- 中文内容建议先确认模型对专业术语的识别,专有名词错得多就加 initial_prompt 引导。
- 长音频先切段再并行跑,比单进程硬啃快。
优点与不足
优点是 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 资源专栏,更多评测见分类页。
评论 0
还没有评论,来说两句吧。