faster-whisper 语音转文字指南:比原版 Whisper 快 4 倍,从零跑通只要 3 步

发布时间:2026/9/5 20:00:38
faster-whisper 语音转文字指南:比原版 Whisper 快 4 倍,从零跑通只要 3 步 faster-whisper 语音转文字指南比原版 Whisper 快 4 倍从零跑通只要 3 步【免费下载链接】faster-whisperFaster Whisper transcription with CTranslate2项目地址: https://gitcode.com/GitHub_Trending/fa/faster-whisperfaster-whisper 是一个用 CTranslate2 推理引擎重写的 Whisper 语音转文字speech to text库把音频文件转成带时间戳的文本也支持把外语语音翻译成英文。适合手里有一堆会议录音、课程音频、播客想批量出字幕但嫌 openai/whisper 跑得太慢的开发者。全文按先装环境、再解决 GPU 报错、最后出结果的顺序写每一步都给了可直接粘贴的命令。 为什么换成 faster-whisper先说结论同样的模型、同样的精度它的速度最高能到 openai/whisper 的 4 倍显存占用还更低开启 int8 量化后优势更大。这不是口头宣传仓库 README 里有一组实测数据——用 13 分钟音频跑 large-v2 模型RTX 3070 Ti CUDA 12.4实现精度耗时显存openai/whisperfp162m23s4708MBfaster-whisperfp161m03s4525MBfaster-whisperbatch_size8fp1617s6090MBfaster-whisperint859s2926MBCPU 上跑 small 模型也有对比int8 batch_size8 时 51s 出结果而原版 fp32 要 6m58s。两个工程细节值得记住不用装 FFmpeg。原版 whisper 强依赖系统里的 FFmpeg装不满是新手最常见的坑之一faster-whisper 改用 PyAV 解码音频FFmpeg 库直接打包在依赖里pip 装完就能用。GPU 支持有版本约束后面单独讲。ctranslate2 最新版只认 CUDA 12 cuDNN 9老环境需要钉版本。模型按名字加载时比如large-v3对应的 CTranslate2 权重会自动从 Hugging Face Hub 下载自己微调过的模型可以用官方转换器转成 CTranslate2 格式再加载。 faster-whisper 怎么装环境要求 Python 3.9 及以上。装稳定版pip install faster-whisper如果要用 master 分支可以先 clone 再本地安装git clone https://gitcode.com/GitHub_Trending/fa/faster-whisper cd faster-whisper pip install -e .开发环境额外装 dev 依赖black、flake8、isort、pytest 等版本已锁好pip install -e .[dev] GPU 跑不起来大概率是 CUDA / cuDNN 版本没对上这是社区里被问得最多的问题。GPU 推理依赖两个 NVIDIA 库CUDA 12 的 cuBLAS 和 CUDA 12 的 cuDNN 9。Linux 上可以直接用 pip 装但注意要先设置好LD_LIBRARY_PATH再启动 Pythonpip install nvidia-cublas-cu12 nvidia-cudnn-cu129.* export LD_LIBRARY_PATHpython3 -c import os; import nvidia.cublas.lib; import nvidia.cudnn.lib; print(os.path.dirname(nvidia.cublas.lib.__file__) : os.path.dirname(nvidia.cudnn.lib.__file__))其他安装路子官方推荐 NVIDIA 文档的方式之外Docker镜像nvidia/cuda:12.3.2-cudnn9-runtime-ubuntu22.04里已经带好了这两个库。Windows / Linux 通用社区维护的 whisper-standalone-win 项目把所需 NVIDIA 库打成了一个压缩包解压后把目录加进PATH即可。报错排查对照表按你的实际环境对号入座你的环境解法CUDA 12 cuDNN 9直接装最新版 ctranslate2无需处理CUDA 12 cuDNN 8降级pip install --force-reinstall ctranslate24.4.0CUDA 11 cuDNN 8降级pip install --force-reinstall ctranslate23.24.0且 cuBLAS/cuDNN 也要装对应 CUDA 11 的版本另外两个容易忽略的点Windows 下 pip 装 NVIDIA 库这条路不通走 Docker 或压缩包方案。用compute_typefloat16时确认 GPU 支持 FP16否则换成int8_float16。⚡ 3 步出结果最小可运行示例第一步实例化模型。compute_type控制精度CPU 常用int8GPU 用float16或int8_float16from faster_whisper import WhisperModel # CPU int8 model WhisperModel(large-v3, devicecpu, compute_typeint8) # GPU fp16显存充裕时用 # model WhisperModel(large-v3, devicecuda, compute_typefloat16)第二步调用转录。transcribe返回的是(segments, info)二元组info里带自动检测的语言和置信度segments, info model.transcribe(audio.mp3, beam_size5) print(Detected language %s with probability %f % (info.language, info.language_probability))第三步遍历输出。注意一个反直觉的坑segments是生成器不遍历就等于没开始转录所以 for 循环才是真正干活的地方for segment in segments: print([%.2fs - %.2fs] %s % (segment.start, segment.end, segment.text))音频比较长、想要吞吐就上批量推理。BatchedInferencePipeline.transcribe是WhisperModel.transcribe的直接替代品签名兼容加个batch_size参数就行from faster_whisper import WhisperModel, BatchedInferencePipeline model WhisperModel(turbo, devicecuda, compute_typefloat16) batched_model BatchedInferencePipeline(modelmodel) segments, info batched_model.transcribe(audio.mp3, batch_size16)批量模式下 VAD 是默认开启的见下节。更多可调参数直接看 WhisperModel 的实现。️ 四个高频参数VAD、词级时间戳、线程数、批量VAD 过滤内置 Silero VAD 会把没有语音的段落直接跳过省时间还减少幻听文本。默认策略偏保守只剔除超过 2 秒的静音segments, _ model.transcribe(audio.mp3, vad_filterTrue) # 自定义静音超过 0.5 秒就算停顿 segments, _ model.transcribe( audio.mp3, vad_filterTrue, vad_parametersdict(min_silence_duration_ms500), )各参数的默认值在 VAD 模块源码 里都能查到。词级时间戳做卡拉 OK 字幕或逐词高亮时把word_timestampsTrue打开每个 segment 下就有words列表segments, _ model.transcribe(audio.mp3, word_timestampsTrue) for segment in segments: for word in segment.words: print([%.2fs - %.2fs] %s % (word.start, word.end, word.word))CPU 线程数很多框架会读OMP_NUM_THREADS环境变量跑脚本前设一下对比性能时也要保证两边线程数一致OMP_NUM_THREADS4 python3 my_script.py和别的实现比性能前先确认两边 beam size 相同——openai/whisper 的transcribe默认 beam_size1而这里默认是 5不拉齐就没可比性同时 WER 差异也会影响转录长度从而影响耗时。 收尾许可证与版本faster-whisper 采用 MIT 许可见 LICENSE商用没问题。当前仓库版本为 1.2.1贡献流程写在 CONTRIBUTING.md 里。音频解码链路在 audio 模块特征提取在 feature_extractor需要追进底层时可以从这几个文件入手。【免费下载链接】faster-whisperFaster Whisper transcription with CTranslate2项目地址: https://gitcode.com/GitHub_Trending/fa/faster-whisper创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考