faster-whisper 安装使用完全指南:如何把 Whisper 语音识别提速 4 倍
2026/9/16 0:02:36 网站建设 项目流程

faster-whisper 安装使用完全指南:如何把 Whisper 语音识别提速 4 倍

【免费下载链接】faster-whisperFaster Whisper transcription with CTranslate2项目地址: https://gitcode.com/GitHub_Trending/fa/faster-whisper

faster-whisper 是基于 CTranslate2 推理引擎重写的 OpenAI Whisper 语音转文字工具,官方测试显示它比原版快最高 4 倍,内存占用更低,识别精度不变。如果你正被"转写一条 30 分钟录音要等半天"的问题拖慢工作,这篇文章会带你从零跑通它。

一行命令安装 faster-whisper:环境要求与首次运行

先确认两件事:

  • Python 3.9 及以上(这是硬性要求)
  • 有 NVIDIA 显卡更好;没有也没关系,CPU 完全可用,只是慢一些

和 openai-whisper 不同,faster-whisper不需要你单独安装 FFmpeg。音频解码由 PyAV 库完成,FFmpeg 相关组件已随包内置,省掉了一类最常见的安装报错。

pip install faster-whisper

装好后,第一次运行只需要几行代码:

from faster_whisper import WhisperModel model = WhisperModel("large-v3", device="cuda", compute_type="float16") segments, info = model.transcribe("audio.mp3", beam_size=5) print("识别到的语言:", info.language) for seg in segments: print(f"[{seg.start:.2f}s -> {seg.end:.2f}s] {seg.text}")

一个新手容易踩的坑transcribe()返回的segments是生成器,调用瞬间并不会开始转写,只有你真正遍历它时计算才会启动。想拿到完整结果,写segments = list(segments)即可。

模型权重在首次加载时按model_size自动下载,你不需要手动准备任何文件。

faster-whisper 能做什么:除转写之外的四个核心能力

  1. 自动语言检测:不指定语言时,模型会自己判断,并通过info.language_probability给出置信度,支持近百种语言。
  2. 词级时间戳:每个词都带起止时间,做字幕、剪辑卡点时非常有用。
  3. 静音过滤(VAD):内置 Silero VAD 声源检测模型,自动跳过纯静音片段,长音频省时间更明显。相关实现在 faster_whisper/vad.py,检测权重在 faster_whisper/assets/silero_vad_v6.onnx。
  4. 批量推理BatchedInferencePipeline可以并发处理多条音频,GPU 利用率更高,官方基准里 13 分钟音频从 59 秒压到 16 秒。

实战:词级时间戳 + 静音过滤的组合用法

最常用的进阶写法,把时间戳和 VAD 一起打开:

segments, _ = model.transcribe( "audio.mp3", word_timestamps=True, # 输出每个词的时间 vad_filter=True, # 自动跳过静音段 vad_parameters=dict(min_silence_duration_ms=500), # 静音超过 500ms 才切掉 ) for seg in segments: for w in seg.words: print(f"{w.start:.2f}s -> {w.end:.2f}s {w.word}")

多文件批量处理时,换成批量管线即可:

from faster_whisper import WhisperModel, BatchedInferencePipeline model = WhisperModel("turbo", device="cuda", compute_type="float16") pipeline = BatchedInferencePipeline(model=model) segments, info = pipeline.transcribe("audio.mp3", batch_size=16)

更多可配置项(温度、beam、上下文提示等)都集中在 faster_whisper/transcribe.py 的WhisperModel类里,遇到识别不准的问题先翻这个文件。

调优指南:模型大小与计算类型怎么选

模型大小:精度换速度的档位

模型定位适合场景
tiny/base最快实时场景、快速草稿
small/medium均衡日常会议、普通内容
large-v3精度最高专业交付、低容忍度场景
distil-large-v3蒸馏版,接近 large 精度、更快英文为主的长音频
turbo面向批量推理优化大批量转写

计算类型:按硬件对号入座

硬件compute_type说明
NVIDIA GPU(显存充足)float16速度最快,首选
NVIDIA GPU(显存紧张)int8_float16显存近乎减半,精度损失很小
CPUint8速度、内存平衡点
CPU(追求极限精度)float32慢,一般不推荐

其他关键参数

  • beam_size:默认 5。调大更稳但更慢,调小更快但易出错。
  • batch_size:仅在BatchedInferencePipeline中生效,显存够就调大。
  • CPU 线程数:用OMP_NUM_THREADS环境变量控制,例如OMP_NUM_THREADS=4 python3 my_script.py,避免框架偷跑满线程拖慢整体。
  • initial_prompt:给一句带专业术语的文本作为上下文,能显著改善特定领域识别。

官方基准数据(13 分钟音频,large-v2,RTX 3070 Ti)

方案耗时显存
openai/whisper (fp16)2m23s4708MB
faster-whisper (fp16)1m03s4525MB
faster-whisper (int8)59s2926MB
faster-whisper (int8, batch_size=8)16s4500MB

想自己复现,可以直接跑 benchmark/speed_benchmark.py;GPU 环境还可以参考 docker/ 下的 Dockerfile 与 docker/infer.py 做端到端演示。

常见问题:3 个高频报错与解法

1. 启动报 cuDNN / CUDA 缺失或版本不符

新版ctranslate2只支持 CUDA 12 + cuDNN 9。如果你的环境是旧版本:

  • CUDA 11 + cuDNN 8:pip install ctranslate2==3.24.0
  • CUDA 12 + cuDNN 8:pip install ctranslate2==4.4.0

Linux 上也可以用pip install nvidia-cublas-cu12 nvidia-cudnn-cu12==9.*补库并配置LD_LIBRARY_PATH;Docker 用户直接用官方 CUDA 基础镜像更省事。

2. 显存不足(OOM)

按顺序尝试:换成int8_float16→ 换更小的模型 → 调小batch_size。这三步基本能解决绝大多数 OOM。

3. CPU 上速度慢

确认OMP_NUM_THREADS设置合理,并且优先用int8而不是float32;音频长时开启vad_filter能直接砍掉无效计算。

典型应用场景

  • 会议纪要自动化:录音转文字后交给 LLM 总结,多说话人场景可结合社区的分角色工具链。
  • 视频字幕生产:词级时间戳直接对接 SRT 导出,做双语字幕也很顺手。
  • 播客/课程索引:长音频全文转录,建立可搜索的文字副本,方便按关键词定位片段。
  • 语音备忘归档:手机语音条批量转写入库,配合initial_prompt提升专业术语准确率。

下一步:从一条命令开始

现在就可以动手了:

  1. 先装:pip install faster-whisper
  2. tiny模型 + CPU 跑一段短音频,把流程走通;
  3. 确认硬件后,再切到large-v3float16,对比同一份音频的效果与耗时。

如果本地代码不完整,可以从 https://link.gitcode.com/i/06cbdc50617364f4ddd365931aec85a8 克隆仓库,里面 tests/ 目录下就有现成的测试音频和用例可以直接对照运行。

【免费下载链接】faster-whisperFaster Whisper transcription with CTranslate2项目地址: https://gitcode.com/GitHub_Trending/fa/faster-whisper

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询