5 分钟跑通 Faster Whisper:比原版 Whisper 快 4 倍的语音转写引擎
【免费下载链接】faster-whisperFaster Whisper transcription with CTranslate2项目地址: https://gitcode.com/GitHub_Trending/fa/faster-whisper
Faster Whisper 是基于 CTranslate2 推理引擎实现的 Whisper 语音模型,在同等准确率下,把音频转文字的速度提升了最多 4 倍,配合 int8 量化还能明显省下内存。这篇指南先带你 5 分钟跑通一次完整转写,再讲后面用得上模型怎么选、参数怎么调。
安装 Faster Whisper:一条命令,不用装 FFmpeg
环境要求 Python 3.9 及以上,直接从 PyPI 安装即可:
pip install faster-whisper有个容易踩的点:跟 openai/whisper 不同,Faster Whisper 不需要你在系统里单独装 FFmpeg。音频解码由 PyAV 库负责,FFmpeg 组件已经随它打包好了。
第一次转写:最小可运行示例
安装完就能写代码了。加载一个模型、传入音频文件,返回带时间戳的转写片段:
from faster_whisper import WhisperModel model = WhisperModel("base", device="auto", compute_type="int8") segments, info = model.transcribe("audio.mp3") print(f"检测到语言: {info.language} (概率: {info.language_probability:.2f})") for seg in segments: print(f"[{seg.start:.2f}s -> {seg.end:.2f}s] {seg.text}")不指定language时,模型会根据前 30 秒音频自动判断语种;如果你已经知道语言,直接传language="zh"之类的语言码,可以省掉检测这一步。
模型怎么选:速度 vs 准确率
模型从 tiny 到 large 共五档,tiny 最快,large 最准;计算类型(compute_type)同样决定速度和内存:
- ⚡ CPU 上用
int8,内存占用大幅降低,精度基本不变 - GPU 上可以用
float16拿更高精度,但 large + fp16 需要 NVIDIA 显卡,并自行装好 cuBLAS 和 cuDNN(CUDA 12)
# CPU 低内存场景 model = WhisperModel("small", device="cpu", compute_type="int8", cpu_threads=8) # GPU 高精度场景 model = WhisperModel("large", device="cuda", compute_type="float16")实用建议:先用 base 或 small 加 int8 起步,确认小模型精度不够再升级到 large,没必要一开始就拉满配置。
三个最实用的转写参数
跑通之后,日常最常调的是这几个开关,完整签名可以看 faster_whisper/transcribe.py:
- vad_filter:语音活动检测,自动跳过静音片段,默认就是开启的,一般不用动
- word_timestamps:设为
True后每个词都有独立的起止时间,做逐字对齐的字幕时非常有用 - initial_prompt:喂一段背景描述作为提示,能提升专业术语的识别率,比如中英混说的技术讲座,可以先给模型一点上下文
另外,长音频可以靠batch_size和chunk_length控制批处理大小与切分长度。
到底能快多少:官方基准数据
官方基准用一段 13 分钟的音频,在 NVIDIA RTX 3070 Ti 8GB(CUDA 12.4)上测 large-v2 模型:
| 实现 | 精度 | 耗时 | 显存 |
|---|---|---|---|
| openai/whisper | fp16 | 2m23s | 4708MB |
| faster-whisper | int8 | 59s | 2926MB |
| faster-whisper(batch_size=8) | int8 | 16s | 4500MB |
CPU 侧(Intel Core i7-12700K,8 线程,small 模型):原版实现耗时 6m58s,Faster Whisper 开 int8 后降到 1m42s,再开batch_size=8可以压到 51s。你的机器配置接近的话,可以直接跑 benchmark/ 目录下的脚本实测。
Faster Whisper 适合把"批量音频转文字"这件事的成本压到最低:装好之后,先用 base + int8 验证效果,再按硬件情况决定是否上 GPU 和 fp16。想自己写测试或看用例参考,tests/ 里有现成的音频样本和断言可以照着写。
【免费下载链接】faster-whisperFaster Whisper transcription with CTranslate2项目地址: https://gitcode.com/GitHub_Trending/fa/faster-whisper
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考