
Faster Whisper 快速上手指南13 分钟会议录音17 秒转成文字【免费下载链接】faster-whisperFaster Whisper transcription with CTranslate2项目地址: https://gitcode.com/GitHub_Trending/fa/faster-whisper你手里压着一批会议录音要赶在明早前把它们全部转成文字。用原版 openai/whisper 跑一遍一晚上都未必跑完显卡内存还要 4GB 起步。faster-whisper 是 OpenAI Whisper 用 CTranslate2一个专门加速 Transformer 推理的引擎重写的实现识别精度基本不变速度最高能到原版 4 倍内存占用更低CPU 也能用 8 位量化扛住。适合需要在 Python 项目里批量处理音频、或者给现有工作流加语音转文字能力的工程师。装好 faster-whisper环境要求很少Python ≥ 3.9见 setup.py 的python_requires不需要单独装 FFmpeg音频解码由依赖包 PyAV 自带CPU 环境开箱即用GPU 需要 NVIDIA 显卡 CUDA 12 的 cuBLAS 和 cuDNN 9装完会附带 VAD语音活动检测自动跳过静音段所用的 Silero 模型最简安装一条命令pip install faster-whisper想跑 GPU把 NVIDIA 两个库也装上即可Linux 可直接 pip 装记得先设置LD_LIBRARY_PATH再启动 Pythonpip install nvidia-cublas-cu12 nvidia-cudnn-cu129.*跑通第一个例子仓库tests/data/里自带一段 11 秒的 JFK 音频tests/data/jfk.flac用它当输入最省事from faster_whisper import WhisperModel model WhisperModel(tiny, devicecpu, compute_typeint8) segments, info model.transcribe(tests/data/jfk.flac, languageen) for seg in segments: print(f[{seg.start:.2f}s - {seg.end:.2f}s] {seg.text})运行后你会看到一行输出[0.00s - 11.11s] And so my fellow Americans, ask not what your country can do for you, ask what you can do for your country.——这正是 tests/test_transcribe.py 里断言的标准结果能对上说明整条链路没问题。注意segments是个生成器迭代它时转录才真正开始。实测效果先看数据再谈选型以下数据来自 README.md 内置 benchmark测试对象是 13 分钟法语音频即 benchmark/benchmark.m4aGPU 环境NVIDIA RTX 3070 Ti 8GBCUDA 12.4large-v2 模型配置耗时显存占用faster-whisperbatch_size8fp1617s6.1GBfaster-whisperint8batch_size816s4.5GB原版 openai/whisperfp162m23s4.7GBCPU 环境Intel Core i7-12700K8 线程small 模型配置耗时内存占用faster-whisperint8batch_size851s3.6GBfaster-whisperint81m42s1.5GB原版 openai/whisper6m58s2.3GB一句话总结批量 量化之后GPU 上 13 分钟音频只要 17 秒约 47 倍实时速度CPU 上 51 秒。三种常用玩法批量转录吞吐拉满效果同样的模型GPU 上从 1m03s 压到 17s 就是批量推理的差距。BatchedInferencePipeline.transcribe可直接替代WhisperModel.transcribe。from faster_whisper import BatchedInferencePipeline, WhisperModel model WhisperModel(turbo, devicecuda, compute_typefloat16) batched BatchedInferencePipeline(modelmodel) segments, info batched.transcribe(audio.mp3, batch_size16)关键参数batch_size越大越快、越吃显存README 基准用的是 8~16。批量模式下 VAD 过滤默认开启。长录音静音过滤先砍掉不说话的部分效果1 小时的录音如果只有一半是有效语音不开过滤就要把静音也送进模型。底层逻辑在 faster_whisper/vad.py。关键参数vad_filter单条WhisperModel.transcribe下需要显式传True批量模式默认开vad_parametersdict(min_silence_duration_ms500)默认只删超过 2 秒的静音改成 500 毫秒会更激进术语与上下文纠偏提高专有词命中率效果人名、产品名、行业黑话是转录最容易翻车的部分给它一点提示词比事后人工改快得多。关键参数initial_prompt给每段解码提供文本上下文比如技术讲座涉及 Transformer 和量化hotwords直接指定要倾向输出的专有词languagezh确定语种就别让模型猜省掉 30 秒探测窗口按需调优速度、精度、内存怎么权衡模型对象就一个WhisperModel权衡全在devicecompute_type两个参数上compute_type 是推理精度int8 是 8 位量化# 内存敏感纯 CPU model WhisperModel(small, devicecpu, compute_typeint8) # 精度优先GPU model WhisperModel(large-v3, devicecuda, compute_typefloat16) # 折中GPU 上用 int8 量化精度损失很小显存近乎减半 model WhisperModel(large-v2, devicecuda, compute_typeint8_float16)对照基准数据large-v2 在 3070 Ti 上fp16 占 4.5GB 显存跑 1m03sint8 占 2.9GB 跑 59s——量化后速度略降显存几乎砍半。解码侧beam_size默认 5追求极限速度可降到 1但要留意不同 beam size 下各实现的 WER词错误率不可直接横向比较。排查手册现象GPU 模式报 CUDA / cuBLAS 相关错误 →原因缺 cuBLAS 或 cuDNN 9或 CUDA 版本对不上新版 ctranslate2 只支持 CUDA 12→处理装 CUDA 12 版库CUDA 11 老环境降到ctranslate23.24.0CUDA 12 cuDNN 8 降到4.4.0。现象日志提示 no speech detected →原因静音占比过高或音频偏小 →处理开vad_filterTrue或调低no_speech_threshold默认 0.6纯静音音频本来就没有输出。现象拿到segments后打印为空或程序没动 →原因它是生成器转录尚未开始 →处理for循环迭代或list(segments)。现象CPU 上转录太慢 →原因默认 fp32 且线程没配好 →处理compute_typeint8并用OMP_NUM_THREADS8 python3 script.py固定线程数。延伸更完整的模型与解码选项都在 faster_whisper/transcribe.py 的WhisperModel类里想在自己的硬件上验证速度直接跑 benchmark/speed_benchmark.py 即可。模型下载、模型转换和clip_timestamps等进阶用法README 的对应章节都有覆盖。【免费下载链接】faster-whisperFaster Whisper transcription with CTranslate2项目地址: https://gitcode.com/GitHub_Trending/fa/faster-whisper创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考