faster-whisper 4倍速转录选型指南 faster-whisper 4倍速转录选型指南【免费下载链接】faster-whisperFaster Whisper transcription with CTranslate2项目地址: https://gitcode.com/GitHub_Trending/fa/faster-whisperfaster-whisper 是用 CTranslate2一个面向 Transformer 模型的高性能推理引擎重写的 Whisper 语音转文字库。同样精度下它能把 13 分钟音频的转录时间压到 1 分钟以内8 位量化后内存还能再降一半。适合要批量处理会议录音、视频字幕的开发者以及只想在 CPU 上跑通转录的普通用户。✅ 先看结论官方基准显示同样 13 分钟音频GPU 上它比 openai/whisper 快一倍以上1 分 03 秒 vs 2 分 23 秒开启批处理后 int8 配置可压到 16 秒。门槛低不需要在系统里装 FFmpeg音频解码由随包安装的 PyAV 完成CPU 上 int8 量化也能跑small 模型内存约 1.4 GB。用法简单一行加载模型、一行拿结果支持词级时间戳和 VADVoice Activity Detection语音活动检测用来自动判断音频里哪些地方有人在说话过滤。 快速开始faster-whisper 安装命令与最小示例环境要求 Python 3.9 及以上。安装只需一条命令pip install faster-whisper然后是最短可运行的脚本把audio.mp3换成你自己的音频文件from faster_whisper import WhisperModel model WhisperModel(large-v3, devicecpu, compute_typeint8) # CPU 8位量化最省内存 segments, info model.transcribe(audio.mp3, beam_size5) # beam_size 是波束搜索大小越大越准越慢 print(检测到语言:, info.language, 概率:, info.language_probability) for segment in segments: # 迭代到这里转录才真正开始执行 print(f[{segment.start:.2f}s - {segment.end:.2f}s] {segment.text})注意segments是一个生成器懒加载的迭代器transcribe()返回时并没有做计算。想让它立即跑完把结果包一层list(segments)即可。 模型选型指南模型对比与量化配置模型选型对比表所有模型名都可以用available_models()在运行时查到模型定位推荐场景tiny / base最小最快实时预览、对精度不敏感的草稿small速度与精度平衡日常批量转录medium精度更高转录质量要求较高的场景large-v3精度最高、多语言正式交付、多语言音频distil-large-v3蒸馏模型主打英文英文量大、追求速度turbo即 large-v3-turbo高速变体有 GPU、希望低延迟量化配置怎么选配置显存/内存速度什么时候用GPU float16中等最快显存充足时的默认选择GPU int8_float16明显更低4525MB → 2926MB略慢显存紧张时CPU int8最低small 约 1477MB最慢没有 GPU 的机器官方基准数据13 分钟音频配置耗时显存openai/whisper fp162 分 23 秒4708MBfaster-whisper fp161 分 03 秒4525MBfaster-whisper int859 秒2926MBfaster-whisper int8 batch_size816 秒4500MB数据来自仓库 README 的官方基准NVIDIA RTX 3070 Ti、CUDA 12.4、beam_size5。CPU 上 small 模型的完整对比对比 whisper.cpp 等也在 README 的 Benchmark 一节。 场景实操批量转录、词级时间戳与蒸馏模型批量转录多个音频推荐 GPUBatchedInferencePipeline是WhisperModel.transcribe的批量版替代VAD 在它上面默认开启from faster_whisper import WhisperModel, BatchedInferencePipeline model WhisperModel(large-v3, devicecuda, compute_typefloat16) batched BatchedInferencePipeline(modelmodel) segments, info batched.transcribe(audio.mp3, batch_size16) # 批量推理VAD 默认开启 for segment in segments: print(f[{segment.start:.2f}s - {segment.end:.2f}s] {segment.text})基准数据里同样的 GPU int8 配置批处理能把 13 分钟音频从 59 秒压到 16 秒代价是显存升高。生成词级时间戳字幕场景复用上面创建的model加两个参数就能拿到每个词的精确时间segments, _ model.transcribe( audio.mp3, word_timestampsTrue, # 每个词单独打时间戳 vad_filterTrue, # 先用 VAD 过滤无人声片段 vad_parametersdict(min_silence_duration_ms500), ) for segment in segments: for word in segment.words: print(f[{word.start:.2f}s - {word.end:.2f}s] {word.word})VAD 默认比较保守只移除超过 2 秒的静默用vad_parameters里的min_silence_duration_ms调得更激进。运行 distil-large-v3蒸馏模型官方推荐搭配下面两个参数使用model WhisperModel(distil-large-v3, devicecuda, compute_typefloat16) segments, _ model.transcribe( audio.mp3, beam_size5, languageen, condition_on_previous_textFalse )⚠️ 避坑指南新手常见报错与解决办法Python 版本不够要求 3.9。安装报错先检查 Python 版本别急着怀疑依赖冲突。GPU 依赖版本不匹配最新版 ctranslate2 只支持 CUDA 12 cuDNN 9。用 CUDA 11 的要降级到ctranslate23.24.0CUDA 12 但只有 cuDNN 8 的降到4.4.0pip install --force-reinstall ctranslate24.4.0。加载模型时报 cuBLAS/cuDNN 相关错误基本都出在这里。transcribe 后没花时间segments是生成器不迭代就不计算。结果没被迭代等于没转录。VAD 默认值不一致WhisperModel.transcribe的vad_filter默认是False批量版默认是True。两边切换时别以为结果行为一样。distil-large-v3 参数照搬通用写法官方示例明确要求传languageen和condition_on_previous_textFalse仿写时不要省略。 进阶与生态核心模块路径主转录逻辑WhisperModel、BatchedInferencePipeline、全部 transcribe 参数在 faster_whisper/transcribe.py。VAD 参数定义VadOptions含默认值和说明在 faster_whisper/vad.py。音频解码基于 PyAV不依赖系统 FFmpeg在 faster_whisper/audio.py。周边生态上WhisperX 基于它做说话人分离和词级对齐speaches 把它包装成兼容 OpenAI 的 API 服务可以按需选型。faster-whisper 让你用几行代码把 Whisper 跑起来。源码获取方式git clone https://gitcode.com/GitHub_Trending/fa/faster-whisper【免费下载链接】faster-whisperFaster Whisper transcription with CTranslate2项目地址: https://gitcode.com/GitHub_Trending/fa/faster-whisper创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考