faster-whisper 4倍速语音转文字实践:从安装到量化参数配置 faster-whisper 4倍速语音转文字实践从安装到量化参数配置【免费下载链接】faster-whisperFaster Whisper transcription with CTranslate2项目地址: https://gitcode.com/GitHub_Trending/fa/faster-whisperfaster-whisper 是一个基于 CTranslate2一个 Transformer 模型推理加速引擎重写的 Whisper 语音转文字库在保持相同准确度的前提下官方基准显示转录速度最高提升 4 倍并支持 99 种语言的识别。我为什么选它先说问题OpenAI 原版 Whisper 的 Python 实现用 PyTorch 做推理处理 13 分钟音频时GPU 上耗时约 2 分 23 秒、占用 4.7GB 显存CPU 上更是需要近 7 分钟。对于批量处理音频的场景这个等待时间和内存开销都偏大。faster-whisper 的思路是把同一个 Whisper 模型迁移到 CTranslate2 引擎上推理并对 CPU 和 GPU 都支持 8 位整型量化INT8。模型能力不变只是计算方式更省。下面这张表合并了 README 基准测试中 GPU 与 CPU 两组数据同一台机器、相同 beam_size5 设置测试条件openai/whisperfaster-whisper浮点精度faster-whisperINT8 量化GPU13 分钟音频large-v2RTX 3070 Ti2m23s显存 4708MB1m03s显存 4525MB59s显存 2926MBCPU13 分钟音频small 模型i7-12700K6m58s内存 2335MB2m37s内存 2257MB1m42s内存 1477MB可以看到CPU 上 INT8 版本相对原版约快 4 倍显存/内存占用也明显下降GPU 上若再开启批量解码batch_size8官方数据可压缩到 17 秒。从安装到第一次转录一行命令安装pip install faster-whisper要求 Python 3.9 及以上。与其他 Whisper 实现不同它不需要系统单独安装 FFmpeg音频解码由内置的 PyAV 库完成。最短转录示例from faster_whisper import WhisperModel model WhisperModel(large-v3, devicecuda, compute_typefloat16) segments, info model.transcribe(audio.mp3, beam_size5) for seg in segments: print(f[{seg.start:.1f}s - {seg.end:.1f}s] {seg.text})运行后控制台会先输出自动检测到的语言及置信度info.language与info.language_probability随后逐行打印每个语音片段的开始时间、结束时间和识别文本。需要注意的是segments是一个生成器只有真正迭代它时转录才会开始因此循环打印本身就是跑完转录的过程。完整参数说明可参考 faster_whisper/transcribe.py 中的transcribe方法文档。超越基础转录多语言自动检测不指定language参数时库会用音频开头约 30 秒推断语种覆盖 99 种语言。混语播客、用户留言合集这类不确定语料的批量任务可以省去逐条标注语言的步骤若语种已知显式传入languagezh这类代码会更稳。VAD 静音过滤长音频里常有几秒甚至几分钟的空白直接转录既浪费时间又容易在静音段产生幻觉文本。开启vad_filterTrue后内置的 Silero VAD 语音活动检测模型会先切掉无人声的片段再送模型处理默认只过滤超过 2 秒的静音可通过vad_parameters微调相关实现见 faster_whisper/vad.py。词级时间戳段落级时间戳适合粗定位而生成字幕、做引文核对这类任务需要精确到每个词。传入word_timestampsTrue后每个segment会附带words列表其中每个词都有独立的 start/end 字段可以直接驱动逐字高亮的字幕效果。常用调优参数量化参数怎么配是最常被问到的问题。原则很简单显存或内存吃紧就降精度追求极限速度就加批量。常用参数整理如下参数作用何时使用device指定执行设备cuda或cpu有 NVIDIA 显卡时选cudacompute_type推理精度如float16、int8_float16、int8GPU 上int8_float16性价比最高CPU 内存紧张时选int8beam_size束搜索候选路径数越大越准也越慢默认 5赶时间出初稿可降到 1language语种代码如en、zh语种已知时显式指定跳过自动检测vad_filter是否用 Silero VAD 剔除无人声片段长音频、静音多时开启vad_parametersVAD 细选项如min_silence_duration_ms默认过滤力度不合适时微调batch_size批量解码多段并行推理GPU 显存充足、批量转录时调大hotwords提示词引导识别特定词汇人名、品牌名等专有名词频繁识别错误时另外提醒CUDA 12 环境需要 cuBLAS 与 cuDNN 9这是 GPU 模式唯一的额外依赖CPU 模式则无此要求。适用场景与注意事项视频字幕生成长视频一次跑完并按时间戳导出是它最典型也最划算的用法。会议与播客批量处理配合 VAD 过滤和batch_size大批量音频的排队等待时间显著缩短。首次运行会自动从 Hugging Face 下载对应模型权重请确保网络稳定内网环境建议预先拉取模型文件。transcribe返回的是生成器忘记迭代会看似跑完实际没跑写批处理脚本时要留意。faster-whisper 面向的是完整音频文件的离线转录如果要做低延迟的实时流式转写需要在它基础上使用社区的流式方案。建议先按上文示例用默认float16跑通一遍再切换int8_float16用自己的音频对比一次速度与错误率即可判断哪种配置适合自己。【免费下载链接】faster-whisperFaster Whisper transcription with CTranslate2项目地址: https://gitcode.com/GitHub_Trending/fa/faster-whisper创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考