faster-whisper 实战教程:13分钟音频语音转写提速4倍,从环境到批处理的完整路径

【免费下载链接】faster-whisper Faster Whisper transcription with CTranslate2 【免费下载链接】faster-whisper 项目地址: https://gitcode.com/GitHub_Trending/fa/faster-whisper

faster-whisper 是基于 CTranslate2 推理引擎重新实现的 Whisper 语音转写工具,解决音频转写慢、占内存高的问题,适合需要在普通硬件上批量处理录音的开发者。下面按实际任务的推进顺序讲:装好环境、跑出第一条带时间戳的转写、调出可用的结果,再处理大批量音频,并给出让结果可验证的调试方法。

准备语音转写环境:Python 3.9 与 GPU 库检查

CPU 环境安装

依赖只有 Python 3.9 及以上。与 openai-whisper 不同,这套实现不需要系统安装 FFmpeg——音频解码由打包了 FFmpeg 库的 PyAV 完成:

pip install faster-whisper

GPU 环境额外检查

GPU 运行需要 NVIDIA 的 cuBLAS 和 cuDNN 9(均对应 CUDA 12)。注意当前 ctranslate2 只支持 CUDA 12 + cuDNN 9;如果你停留在 CUDA 11/cuDNN 8,需把 ctranslate2 降到 3.24.0,CUDA 12 配 cuDNN 8 则降到 4.4.0。Linux 上可以用 pip 装 nvidia-cublas-cu12 和 nvidia-cudnn-cu12==9.*,并在启动 Python 前设置 LD_LIBRARY_PATH;也可以用官方 NVIDIA CUDA 12 Docker 镜像,仓库里就附带了一份示例:docker/Dockerfile 和 docker/infer.py。

跑通第一条转写结果:加载模型与输出时间戳分段

选一个模型大小

按模型名加载时,会从 Hugging Face Hub 自动下载对应的 CTranslate2 模型。faster_whisper/utils.py 中的映射表定义了全部可选尺寸:

模型名说明
tiny / tiny.en最快,精度最低
base / base.en日常任务起点,.en 版本仅英语
small / small.en速度质量平衡点,多语言
medium / medium.en精度更高
large-v3(large)精度最高
distil-large-v3、turbo蒸馏模型,推理更快,适合英文为主的场景

核心入口在 faster_whisper/transcribe.py 的 WhisperModel 类,完整转写流程只有下面几行:

from faster_whisper import WhisperModel

model = WhisperModel("base", device="cpu", compute_type="int8")
segments, info = model.transcribe("audio.mp3")

print(f"检测到语言: {info.language} (置信度 {info.language_probability:.2f})")
for segment in segments:  # segments 是生成器,转写从这里才开始
    print(f"[{segment.start:.2f}s -> {segment.end:.2f}s] {segment.text}")

两个容易踩的点:

  • segments 是生成器,不迭代就不会真正转写;需要整包结果时先 list(segments)。
  • device 支持 "cpu"、"cuda"、"auto";compute_type 控制精度,"int8" 内存占用最低,"float16" 是 GPU 上的常用选择。

调出可用结果:词级时间戳、静音过滤与语言检测

词级时间戳

转写时传 word_timestamps=True,每个 segment 会多出 words 字段,逐项给出 start、end、word 和 probability。做字幕对齐、热词统计时直接遍历即可,不需要额外对齐模型。

VAD 静音过滤

长录音里大量静音会被白白转写一遍。vad_filter=True 会先用内置的 Silero VAD 模型(faster_whisper/vad.py)裁掉无人声区间。默认行为偏保守,只删超过 2 秒的静音;想更激进,通过 vad_parameters 传参,例如 dict(min_silence_duration_ms=500)。批量管线里 VAD 默认就是开启的。

语言检测与指定语言

不传 language 时,模型用音频前 30 秒做自动检测,结果和置信度都在 info 里。语种确定后(比如客服录音固定中文),显式传 language="zh" 能省掉检测成本并减少误判。多语言模型覆盖 99 种语言,具体代码以 supported_languages 属性返回的列表为准。

批量处理大量音频:BatchedInferencePipeline 与 int8 量化

单条音频逐段转写时,GPU 常常喂不饱。仓库提供了 BatchedInferencePipeline,它是 WhisperModel.transcribe 的替换件,支持多路请求并行解码:

from faster_whisper import WhisperModel, BatchedInferencePipeline

model = WhisperModel("large-v3", device="cuda", compute_type="float16")
pipeline = BatchedInferencePipeline(model=model)
segments, info = pipeline.transcribe("audio.mp3", batch_size=16)

README 中的基准数据(13 分钟音频,RTX 3070 Ti,large-v2)可以直观感受量级:

配置耗时显存
openai/whisper(fp16)2m23s4708MB
faster-whisper(fp16)1m03s4525MB
faster-whisper(int8)59s2926MB
faster-whisper(int8,batch_size=8)16s4500MB

CPU 侧(i7-12700K,small 模型):openai/whisper 需 6m58s,faster-whisper int8 为 1m42s、int8 加 batch 8 为 51s——这就是 README 所说"最高提速 4 倍"的出处。int8 量化在 CPU 和 GPU 上都有效,是内存紧张时第一优先项。

验证转写质量与性能:调试手段与公平对比

让对比数据可比

如果你要自己验证性能数字,先确认设置一致(README 专门提醒了这一点):

  • beam size:faster-whisper 默认 beam_size=5,而 openai/whisper 默认是 1,不统一就不可比;
  • CPU 线程:统一 OMP_NUM_THREADS 环境变量再跑;
  • 词错误率(WER):转写速度与文本长度强相关,对比前先确认两边 WER 接近。

调试与查看内部过程

把日志级别调到 DEBUG(logger 名为 faster_whisper)可以看到分块与解码细节。质量验证方面,benchmark/ 目录提供了完整的脚本集:speed_benchmark.py 测速度、memory_benchmark.py 测内存、wer_benchmark.py 结合 evaluate_yt_commons.py 在 YouTube Commons 语料上算 WER,拿来跑自己的音频即可。

另外两个进阶能力值得列入下一步:

  • 蒸馏模型:distil-large-v3 原生适配 faster-whisper 的转写算法,英文场景比 large-v3 快得多(同 GPU 下 25m50s 对 46m12s,WER 还略低);
  • 模型转换:用 ct2-transformers-converter 可以把 OpenAI 原版或自训练的 Whisper 权重转成 CTranslate2 格式,本地目录或 Hub 模型 ID 直接传给 WhisperModel 加载。

想继续深入参数含义,直接读 faster_whisper/transcribe.py 里 TranscriptionOptions 的字段注释,每个解码参数(condition_on_previous_text、hallucination_silence_threshold 等)都有说明;音频解码与特征提取分别见 faster_whisper/audio.py 和 faster_whisper/feature_extractor.py。

【免费下载链接】faster-whisper Faster Whisper transcription with CTranslate2 【免费下载链接】faster-whisper 项目地址: https://gitcode.com/GitHub_Trending/fa/faster-whisper

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐