Faster-Whisper 本地语音识别部署:4 倍速、15 分钟上手完整指南
Faster-Whisper 本地语音识别部署4 倍速、15 分钟上手完整指南【免费下载链接】faster-whisperFaster Whisper transcription with CTranslate2项目地址: https://gitcode.com/GitHub_Trending/fa/faster-whisperFaster-Whisper 是把 OpenAI Whisper 搬上 CTranslate2 推理引擎的重实现同等精度下最高 4 倍速int8 量化显存省约 40%且无需安装系统 FFmpeg。本文带你按硬件选模型、跑通第一次转录、避开四个高频坑。先判断该不该用它适合音频涉及隐私或合规要求不能上传云端批量字幕、长音频处理要压住时间与显存成本边缘设备或 CPU 环境做实时 / 近实时识别不适合偶尔用一次、量很小云 ASR API 免去一切运维做研究、需要改模型内部用原版 openai/whisper企业级大规模并发服务专用 ASR 服务更合适它到底是什么一句话把 OpenAI Whisper 搬到 CTranslate2Transformer 推理引擎上的重新实现精度基本不变资源消耗大幅下降。核心代码都在 faster_whisper/ 目录参数最多的入口是 faster_whisper/transcribe.py。最高 4 倍速同等精度下对比 openai/whisper8 位量化后 CPU、GPU 均可用显存省 35% 以上int8 模式 2926MB对比同机 fp16 的 4525MB不用装 FFmpeg音频解码由包内 PyAV 完成少一个系统依赖多语言支持不指定语言时自动从开头 30 秒音频里检测批量管线内置BatchedInferencePipeline是transcribe的即插即用替代当前版本1.2.1要求 Python 3.9按硬件选模型本地部署的关键是模型大小、量化方式和显存匹配8GB 显存的卡硬跑 fp16 大模型加载阶段就 OOM。档位推荐模型compute_type一句话说明高端 GPURTX 3090/4090large-v3 或 turbofloat168GB 以上显存可开批量处理中端 GPURTX 3060/3070medium 或 large-v3int8_float16混合量化显存明显下降纯 CPUsmall 或 baseint8官方 CPU 基准用 8 线程建议对齐快速上手15 分钟一条命令安装pip install faster-whisperGPU 环境额外需要 CUDA 12 的 cuBLAS 和 cuDNN 9。最小可运行代码from faster_whisper import WhisperModel # GPU FP16CPU 可改为 devicecpu, compute_typeint8 model WhisperModel(large-v3, devicecuda, compute_typefloat16) segments, info model.transcribe(audio.mp3, beam_size5) print(f检测到语言: {info.language}) for seg in segments: print(f[{seg.start:.2f}s - {seg.end:.2f}s] {seg.text})注意segments是生成器转录真正开始于你遍历它的那一刻。只保存不遍历一行都不会算要立即跑完就segments list(segments)。模型按名字首次加载时会自动从 Hugging Face Hub 下载 CTranslate2 格式权重第一次稍慢属正常。⚡ 性能验证官方基准13 分钟音频、large-v2 模型、RTX 3070 Ti 8GB、CUDA 12.4实现精度耗时显存openai/whisperfp162m23s4708MBfaster-whisperfp161m03s4525MBfaster-whisperbatch_size8fp1617s6090MBfaster-whisperint859s2926MBfaster-whisperbatch_size8int816s4500MB原版 2 分 23 秒的活单线程 59 秒批量 16 秒干完约 9 倍。int8 下显存从 4525MB 降到 2926MB降 35%。大模型批量场景同样成立distil-large-v3 在 batch_size16 下 25m50s 跑完transformers 需 46m12sWER 还略低13.527 vs 14.801。CPU 侧small 模型i7-12700K8 线程实现精度耗时内存openai/whisperfp326m58s2335MBfaster-whisperfp322m37s2257MBfaster-whisperint81m42s1477MBfaster-whisperbatch_size8int851s3608MB想复现这些数据benchmark/ 目录里有可直接运行的测试脚本。常用功能速查批量推理——一次处理大量音频直接替换transcribefrom faster_whisper import WhisperModel, BatchedInferencePipeline model WhisperModel(turbo, devicecuda, compute_typefloat16) segments, info BatchedInferencePipeline(modelmodel).transcribe(audio.mp3, batch_size16)词级时间戳——做字幕、检索、逐词校对时打开segments, _ model.transcribe(audio.mp3, word_timestampsTrue)VAD 静音过滤——长音频沉默占比高时内置 Silero VAD 自动跳过无声段默认只过滤超过 2 秒的静音segments, _ model.transcribe( audio.mp3, vad_filterTrue, vad_parametersdict(min_silence_duration_ms500), )批量模式默认已启用 VAD无需再传。踩坑速查Q加载模型就 OOM把compute_type改成int8或int8_float16或降一档模型large-v3 → medium批量模式下调小batch_size立刻缓解。Q识别结果不理想显式传language如languagezh保持默认beam_size5背景噪声大时先开vad_filterTrue过滤静音段再转录。QCUDA 版本不兼容新版 ctranslate2 只支持 CUDA 12 cuDNN 9。还在 CUDA 11 cuDNN 8 环境执行pip install --force-reinstall ctranslate23.24.0回退即可。QCPU 跑得太慢换int8量化small 模型 fp32 2m37s → int8 1m42s批量场景直接上批量管线51s。对比速度时记得固定线程数官方基准用的是 8 线程。把上面的代码换成你的硬件配置跑一遍用真实素材对比一次耗时。需要说话人分离的话可以看基于 Faster-Whisper 的 WhisperX。【免费下载链接】faster-whisperFaster Whisper transcription with CTranslate2项目地址: https://gitcode.com/GitHub_Trending/fa/faster-whisper创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考