faster-whisper 安装教程:转录提速 4 倍
faster-whisper 安装教程:转录提速 4 倍
【免费下载链接】faster-whisperFaster Whisper transcription with CTranslate2项目地址: https://gitcode.com/GitHub_Trending/fa/faster-whisper
faster-whisper 是 OpenAI Whisper 基于 CTranslate2 的加速重实现:相同准确率下转录最高快 4 倍、内存占用更省。一条 pip 命令完成 faster-whisper 安装,再写 6 行代码就能出第一条转录结果,适合要批量做语音转文字的开发者,以及想把 ASR 服务跑在自己机器上的用户。
先想清楚再动手
装之前先回答三个问题,答案直接决定后面的命令:
1. 有没有 NVIDIA 显卡?没有也能跑:device="cpu"配compute_type="int8"同样完整,官方基准里 CPU 上 small 模型转 13 分钟音频只要 1 分 42 秒。
2. 只当库用,还是改源码、跑测试?直接调转录接口 →pip install faster-whisper。要改代码或跑测试 → 按 CONTRIBUTING.md 走可编辑安装:
git clone https://gitcode.com/GitHub_Trending/fa/faster-whisper cd faster-whisper pip install -e .[dev]-e表示仓库里的代码改动即时生效,[dev]会装好 black 23、flake8 6、isort 5、pytest 7 这套开发工具。
3. 只想把自训练的 Whisper 模型转成 CTranslate2 格式?再加pip install "transformers[torch]>=4.23",然后用ct2-transformers-converter --model <模型名> --output_dir <目录>一条命令完成,权重直接落地到本地。
最短路径跑通
第 1 步:确认环境。只需检查 Python 版本:
python3 --version✅ 版本号不低于 3.9(官方分类器列出的支持范围是 3.9 ~ 3.11)。
第 2 步:一条命令安装。
pip install faster-whisper依赖会自动带齐:ctranslate2(推理引擎,要求>=4.0,<5)、onnxruntime(内置 Silero VAD 静音检测)、PyAV(av>=11,打包了 FFmpeg 库,不需要单独安装 FFmpeg)。
✅ 成功信号:python3 -c "import faster_whisper"没有任何报错。
第 3 步:首次调用。仓库里 docker/infer.py 就是一个现成的最小示例(它转录 tests/data/jfk.flac),改成自己的脚本:
from faster_whisper import WhisperModel model = WhisperModel("tiny", device="cpu", compute_type="int8") segments, info = model.transcribe("audio.mp3", beam_size=5) for segment in segments: print(f"[{segment.start:.2f} -> {segment.end:.2f}] {segment.text}")首次运行会从 Hugging Face Hub 自动下载 CTranslate2 格式的权重(tiny是最小模型,下载很快),完成后缓存在本地,第二次加载不再走网络。
✅ 成功信号:控制台按时间戳逐行打印,例如[0.00 -> 4.71] And so my fellow Americans...。
⚠️segments是生成器:transcribe()返回时还没开始转录,只有遍历它才会真正执行。看到"调用了但一直没输出",不是坏了,是你还没遍历——list(segments)一下就好。
配置速查表
| 项目 | 默认值或最低要求 | 推荐值 | 什么时候需要改 |
|---|---|---|---|
| Python | ≥3.9 | 3.9 ~ 3.11 | 安装报错时优先升级 |
| FFmpeg | 无需安装(PyAV 已内置) | — | 不用管 |
device | cpu | cuda | 有 NVIDIA 显卡时打开 |
compute_type | int8(CPU) | GPU 用float16 | 显存吃紧改int8_float16 |
| CUDA | 12(新版 ctranslate2 只支持) | 12 | CUDA 11 环境降级ctranslate2==3.24.0 |
| cuDNN | 9 | 9 | CUDA 12 + cuDNN 8 降级ctranslate2==4.4.0 |
| 模型大小 | tiny(最快) | 精度选large-v3,速度选turbo | 按用途选 |
beam_size | 5 | 5 | 对比其他实现性能时务必先对齐它 |
vad_filter | 普通模式False,批量模式True | True | 长静音多,省去无效计算 |
GPU 模式额外要装 NVIDIA 运行库:cuBLAS + cuDNN 9(CUDA 12)。Linux 下可以pip install nvidia-cublas-cu12 nvidia-cudnn-cu12==9.*,装完先export LD_LIBRARY_PATH再启动 Python;嫌麻烦就用官方 Docker 镜像nvidia/cuda:12.3.2-cudnn9-runtime-ubuntu22.04,仓库 docker/Dockerfile 就是基于它构建的。
高频问题速查
| 现象 | 原因 | 一行解法 |
|---|---|---|
| GPU 启动报 cuBLAS / cuDNN 找不到 | NVIDIA 运行库没装或没进搜索路径 | pip install nvidia-cublas-cu12 nvidia-cudnn-cu12==9.*,先export LD_LIBRARY_PATH再启动 Python |
| CUDA 11 环境报 ctranslate2 版本不兼容 | 新版只支持 CUDA 12 | pip install --force-reinstall ctranslate2==3.24.0 |
| 转录"卡住"没有输出 | segments是生成器,未迭代就不计算 | segments = list(segments)触发实际运行 |
| CPU 上慢、风扇狂转 | 线程数或精度不匹配 | OMP_NUM_THREADS=4固定线程 +compute_type="int8" |
| 首次加载模型极慢 | 正在从 Hub 下载权重 | 属正常,下载一次后本地缓存;也可用本地模型目录跳过网络 |
再快一步
1. INT8 量化—— 精度损失很小,换速度和显存。
model = WhisperModel("large-v3", device="cuda", compute_type="int8_float16")数据佐证:官方基准(RTX 3070 Ti,CUDA 12.4)里 large-v2 模型 fp16 占 4525MB 显存,int8 降到 2926MB;13 分钟音频耗时从 1 分 03 秒降到 59 秒。
2. BatchedInferencePipeline——WhisperModel.transcribe的直接替换,VAD 默认开启,批量吞吐翻倍以上。
from faster_whisper import WhisperModel, BatchedInferencePipeline model = WhisperModel("turbo", device="cuda", compute_type="float16") batched = BatchedInferencePipeline(model=model) segments, _ = batched.transcribe("audio.mp3", batch_size=16)数据佐证:同一 large-v2 模型,GPU 上batch_size=8让 13 分钟音频从 63 秒(1 分 03 秒)降到 17 秒;CPU 上 small 模型 int8 + 批量从 1 分 42 秒降到 51 秒。
3. 按需选模型—— 追求精度选large-v3,追求速度选turbo或distil-large-v3。后者原生适配本库的转录算法:batch_size=16下 25 分 50 秒跑完同一任务,比 transformers(46 分 12 秒)快近一半,WER 还略低(13.527 对 14.801)。需要词级时间戳加word_timestamps=True;VAD 默认只剔除超过 2 秒的静音,可用vad_parameters=dict(min_silence_duration_ms=500)调整,详见 faster_whisper/vad.py。
跑通之后剩下的事就是用参数换性能:6 行代码起步,速度和显存都可以再往下压。更多转录参数默认值看 faster_whisper/transcribe.py,完整基准与模型转换说明见 README.md。
【免费下载链接】faster-whisperFaster Whisper transcription with CTranslate2项目地址: https://gitcode.com/GitHub_Trending/fa/faster-whisper
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考