尧图精选

17秒转写13分钟音频:faster-whisper Whisper语音识别加速完整指南

🕒 发布时间:2026/10/2 1:53:51 📁 来源:尧图网络
17秒转写13分钟音频faster-whisper Whisper语音识别加速完整指南【免费下载链接】faster-whisperFaster Whisper transcription with CTranslate2项目地址: https://gitcode.com/GitHub_Trending/fa/faster-whisperfaster-whisper 是基于 CTranslate2 推理引擎实现的 OpenAI Whisper 语音识别方案模型权重与原版一致识别准确率不变。同一段 13 分钟音频GPU 批处理下 17 秒转完CPU 上 int8 量化 1 分 42 秒约为 openai/whisper 原版 6 分 58 秒的三分之一显存与内存占用同步下降。13分钟音频对比4种实现的耗时与内存数据来自项目 README 基准测试GPU 环境为 NVIDIA RTX 3070 Ti 8GBCUDA 12.4CPU 环境为 Intel i7-12700K8 线程GPUlarge-v2 模型实现精度耗时显存openai/whisperfp162m23s4708MBfaster-whisperfp161m03s4525MBfaster-whisperbatch_size8fp1617s6090MBfaster-whisperint859s2926MBfaster-whisperbatch_size8int816s4500MBCPUsmall 模型实现精度耗时内存openai/whisperfp326m58s2335MBfaster-whisperfp322m37s2257MBfaster-whisperint81m42s1477MBdistil-large-v3 任务上batch_size16 的 faster-whisper 比 transformers 快约 1.8 倍25m50s 对 46m12sWER 13.527 对 14.801精度也占优。另有两处工程上的简化无需系统级 FFmpeg音频解码由 pip 包内的 PyAV 完成内置 Silero VAD转写前即可滤掉静音段。环境清单Python 3.9、免 FFmpeg、CUDA 12 依赖Python ≥ 3.9当前发布版本 1.2.1核心依赖由 pip 自动解析ctranslate24.x、onnxruntime、av、tokenizers无需安装系统级 FFmpegGPU可选NVIDIA 显卡 CUDA 12 cuBLAS cuDNN 9仍在用 CUDA 11 或 cuDNN 8需固定ctranslate24.4.0更老环境用 3.24.0没有 GPU 也能跑CPU 配 int8 量化即可覆盖多数离线场景。 安装与首次转写三步拿到时间戳pip install faster-whisper python -c import faster_whisper; print(faster_whisper.__version__)打印出版本号 1.2.1 即安装成功。接着用 small 模型 int8 量化在 CPU 上转写仓库自带示例音频from faster_whisper import WhisperModel model WhisperModel(small, devicecpu, compute_typeint8) segments, info model.transcribe(tests/data/jfk.flac, beam_size5) for segment in segments: print(f[{segment.start:.2f}s - {segment.end:.2f}s] {segment.text})首次运行会从 Hugging Face 下载模型权重并缓存之后你会看到形如[0.00s - 2.44s] And so my fellow Americans...的带时间戳输出。一个易踩的坑segments 是生成器遍历前不会真正开始转写。需要全部结果时用list(segments)或 for 循环强制执行。参数速查表7个常用配置与适用场景参数常用取值适用场景devicecpu / cuda有 GPU 选 cudacompute_typefloat16 / int8_float16 / int8GPU 首选 float16显存紧张 int8_float16CPU 用 int8beam_size1–5默认 5越小解码越快越大识别越稳batch_size8 / 16长音频批量转写需 BatchedInferencePipelinevad_filterTrue过滤静音段阈值用 vad_parameters 调word_timestampsTrue词级时间戳用于字幕对齐、热词定位languageen / zh 等已知语种时跳过自动检测完整参数在 faster_whisper/transcribe.py 的 transcribe 方法签名与注释中逐项都有说明。3个高频场景批量转写、静音过滤、词级对齐批量转写BatchedInferencePipeline 的 transcribe 是常规调用的即插即用替换吞吐明显更高from faster_whisper import WhisperModel, BatchedInferencePipeline model WhisperModel(turbo, devicecuda, compute_typefloat16) pipeline BatchedInferencePipeline(model) segments, info pipeline.transcribe(audio.mp3, batch_size16)同一段 13 分钟音频large-v2 在 batch_size8 下从 1 分 03 秒压到 17 秒。静音过滤会议录音长段沉默多的传vad_filterTrue即可默认只移除超过 2 秒的静音判定阈值在 faster_whisper/vad.py 中可调segments, _ model.transcribe( audio.mp3, vad_filterTrue, vad_parametersdict(min_silence_duration_ms500), )注意批处理管线中 VAD 默认就是开启的。词级对齐需要字幕级对齐时传word_timestampsTrue从每个 segment 的 words 字段读各词起止时间。报错速查表GPU 报错、OOM、无输出现象可能原因解决办法加载 GPU 报 CUDA 相关错误缺 cuBLAS/cuDNN或 CUDA 11 配了新版 ctranslate2按 CUDA 12 安装 cuBLAS 与 cuDNN 9或降级ctranslate24.4.0GPU 显存不足OOM模型过大或 fp16 占用偏高compute_type 改 int8_float16或换更小模型转写速度远低于预期CPU 跑大模型或 beam_size 偏高小模型 int8或上 GPU长音频走批处理调用 transcribe 后一直无输出segments 是生成器遍历前不执行for 循环或 list(segments) 强制执行首次运行特别慢首次加载会从 Hugging Face 下载权重等待一次即可也可转换模型目录后直接加载延伸指引源码读参数基准脚本复现数字全部转写参数与默认值faster_whisper/transcribe.pyVAD 参数定义与默认阈值faster_whisper/vad.py复现前文数据运行 benchmark/ 下的速度、内存与 WER 脚本示例音频tests/data/含多语种、热词与说话人分离用例【免费下载链接】faster-whisperFaster Whisper transcription with CTranslate2项目地址: https://gitcode.com/GitHub_Trending/fa/faster-whisper创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
上一篇/下一篇内容由系统自动关联 返回资讯列表 →