faster-whisper 快速上手指南:3 步跑出 4 倍速语音转文字
【免费下载链接】faster-whisperFaster Whisper transcription with CTranslate2项目地址: https://gitcode.com/GitHub_Trending/fa/faster-whisper
faster-whisper 是用 CTranslate2 重写的 OpenAI Whisper 语音识别库。它在保持同样准确率的前提下,比原版 Whisper 快最高 4 倍,占用的显存和内存也更少。一行pip install faster-whisper就能装好,无需额外配置 FFmpeg。你接下来就能用它把音频转成带时间戳的文字。
你手里的音频又长又杂,原版 Whisper 跑一段要等好几分钟。显存不够时大模型直接爆掉,想省内存又只能牺牲精度。faster-whisper 用 8 位量化和批量推理把这两件事一起解决了。
3 步装好 faster-whisper
先装主库,一条命令搞定:
pip install faster-whisper装完跑一段最小代码验证是否可用,预期会打印出语言识别概率和带时间戳的文本:
from faster_whisper import WhisperModel model = WhisperModel("tiny", device="cpu", compute_type="int8") segments, info = model.transcribe("audio.mp3", beam_size=5) print("语言:", info.language, "概率:", info.language_probability) for seg in segments: print(f"[{seg.start:.2f}s -> {seg.end:.2f}s] {seg.text}")注意segments是生成器,只有你遍历它时才会真正开始转录。想立刻跑完就list(segments)一下。
按设备选配置
不同设备和内存下,该选哪个模型、哪种精度,按下表挑:
| 场景 | device | compute_type | 说明 |
|---|---|---|---|
| 有 GPU、追求速度 | cuda | float16 | 显存够时的默认推荐 |
| 有 GPU、显存紧张 | cuda | int8_float16 | 量化后显存约省一半 |
| 纯 CPU、机器较新 | cpu | int8 | 内存占用最低 |
| 纯 CPU、精度优先 | cpu | float32 | 内存占用最高 |
模型尺寸按需选:tiny(39M)最快,base(74M)、small(244M)、medium(769M)、large-v3(1550M)逐级更准。首次按名字加载时会自动从 Hugging Face 下载对应的 CTranslate2 模型。
核心用法
基础转录就是上面那段:加载模型、调用model.transcribe、遍历segments。几个高级能力,各给一行关键代码:
- 🗣️词级时间戳:加
word_timestamps=True,即可遍历segment.words拿到每个词的首尾时间。 - 🔇VAD 过滤静音:加
vad_filter=True,内置 Silero VAD 会剔除非语音段,长音频更省时间。 - ⚡批量推理:用
BatchedInferencePipeline包一层,batch_size=8起在 GPU 上能再快一个量级。
from faster_whisper import WhisperModel, BatchedInferencePipeline model = WhisperModel("turbo", device="cuda", compute_type="float16") pipe = BatchedInferencePipeline(model) segments, _ = pipe.transcribe("audio.mp3", batch_size=16)更多参数(热词、condition_on_previous_text等)看WhisperModel和 VAD 选项 的源码。
避坑指南
现象:GPU 加载报 cuDNN / cuBLAS 找不到。原因:NVIDIA 库缺失。最新版
ctranslate2只支持 CUDA 12 + cuDNN 9。解决:pip install nvidia-cublas-cu12 nvidia-cudnn-cu12==9.*,再按官方方式设好LD_LIBRARY_PATH。现象:CUDA 11 或 cuDNN 8 环境起不来。原因:新版引擎不再兼容。解决:
pip install --force-reinstall ctranslate2==3.24.0(cuDNN 8 用4.4.0)。现象:大模型显存不足(OOM)。原因:
float16精度吃显存。解决:把compute_type换成int8_float16,或改用小模型。现象:CPU 跑得太慢、对比结果对不上。原因:线程数不一致会影响速度。解决:
OMP_NUM_THREADS=4 python3 my_script.py固定线程数。
先跑通tiny模型确认链路没问题,再逐步换到large-v3和 GPU 量化配置。你的下一件事,就是把一段真实音频丢进去看时间戳输出。
【免费下载链接】faster-whisperFaster Whisper transcription with CTranslate2项目地址: https://gitcode.com/GitHub_Trending/fa/faster-whisper
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考