news 2026/11/5 7:40:13

faster-whisper 安装教程:转录提速 4 倍

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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.93.9 ~ 3.11安装报错时优先升级
FFmpeg无需安装(PyAV 已内置)—不用管
devicecpucuda有 NVIDIA 显卡时打开
compute_typeint8(CPU)GPU 用float16显存吃紧改int8_float16
CUDA12(新版 ctranslate2 只支持)12CUDA 11 环境降级ctranslate2==3.24.0
cuDNN99CUDA 12 + cuDNN 8 降级ctranslate2==4.4.0
模型大小tiny(最快)精度选large-v3,速度选turbo按用途选
beam_size55对比其他实现性能时务必先对齐它
vad_filter普通模式False,批量模式TrueTrue长静音多,省去无效计算

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 12pip 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),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/11/5 7:36:38

基于ADS122U04IPWR与STM32F765ZI的工业及HVAC高精度温度测量方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/11/5 7:34:29

MCP工业自动化平台开发实战指南

1. 项目背景与核心价值MCP&#xff08;Modular Control Platform&#xff09;作为当前工业自动化领域的主流控制平台&#xff0c;其服务器端和工具链的开发一直是系统集成中的关键技术难点。在实际项目中&#xff0c;我们经常遇到传统PLC系统向MCP平台迁移时出现的协议兼容性问…

作者头像 李华
网站建设 2026/11/5 7:34:04

动态网页与数据库交互核心技术解析

1. 网页与数据库交互的核心价值动态网页与静态网页最本质的区别&#xff0c;就在于能否与数据库进行实时交互。我从业十年来见证过太多企业从静态展示站升级为动态系统的案例&#xff0c;其中最典型的转变就是实现了数据驱动展示。想象一下&#xff0c;一个电商网站如果只能展示…

作者头像 李华
网站建设 2026/11/5 7:34:04

Qt 封装 QAxObject 读取 Excel 并显示到 QTableWidget

简介&#xff1a;这是一份面向 Qt 开发者的 Excel 读取与 TableWidget 展示示例&#xff0c;围绕可复用的读取封装和配套演示展开&#xff0c;适合正在使用 Qt5、需要把 Excel 数据导入表格界面的初、中级开发者参考&#xff0c;也可作为小型工具原型的基础素材。压缩包以 rar …

作者头像 李华
网站建设 2026/11/5 7:33:59

考场编排系统设计与SQL窗口函数应用实践

1. 考场编排系统需求分析与设计思路在各类考试组织工作中&#xff0c;考场编排是最基础也是最重要的环节之一。我最近接手了一个省级职业资格考试的考场编排项目&#xff0c;需要处理近万名考生的考场分配问题。这个系统的核心需求是根据准考证号的顺序&#xff0c;将考生合理分…

作者头像 李华
网站建设 2026/11/5 7:33:14

集团企业HR数字化平台架构设计与实施策略

1. 项目背景与核心价值在大型集团化企业的日常运营中&#xff0c;人力资源管理的复杂度往往随着组织规模的扩张呈指数级增长。我曾参与过某跨国制造企业的人力资源系统整合项目&#xff0c;亲眼目睹过这样的场景&#xff1a;当子公司A的优秀员工想要申请调往子公司B时&#xff…

作者头像 李华