faster-whisper 语音转文字 4 倍速完全指南:13 分钟音频 1 分钟出结果
2026/9/5 15:45:03 网站建设 项目流程

faster-whisper 语音转文字 4 倍速完全指南:13 分钟音频 1 分钟出结果

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

13 分钟的会议录音,原版 Whisper 转一遍要 2 分多钟?faster-whisper 是 OpenAI Whisper 的加速语音转文字实现,精度不变,速度最高提升 4 倍,内存还更省。

🧠 原理一句话:模型没变,换的是引擎

faster-whisper 不是重写模型,而是换了推理引擎:加载同一份 Whisper 权重,用 CTranslate2 这个 Transformer 推理引擎来跑——同一辆车,换了台更快更省油的发动机。

13 分钟音频、large-v2 模型在 GPU 上的官方基准:

实现方式精度耗时显存
openai/whisperfp162分23秒4708MB
faster-whisperfp161分03秒4525MB
faster-whisper(批量 8)fp1617秒6090MB
faster-whisperint859秒2926MB

这意味着:精度不动,速度提升约 2.5 倍;再上 int8 量化,显存直接砍半;批量推理还能把 13 分钟压到 17 秒。

⚡ faster-whisper 上手:三步跑通

环境与依赖

  • Python 3.9 及以上
  • 不用单独装 FFmpeg,PyAV 库已打包好解码组件
  • GPU(可选):CUDA 12 对应的 cuBLAS 和 cuDNN 9
  • CUDA 11 用户:降级ctranslate2==3.24.0

一条命令安装

装包只需要一行:

pip install faster-whisper

首次加载模型时会自动从 Hugging Face Hub 下载对应权重,网络要通。

最小可运行示例

下面这段代码加载模型、转写音频,并把带时间戳的逐段结果打出来:

from faster_whisper import WhisperModel # 加载模型:GPU + FP16(无卡可改 device="cpu", compute_type="int8") model = WhisperModel("large-v3", device="cuda", compute_type="float16") segments, info = model.transcribe("audio.mp3", beam_size=5) print(f"检测到语言: {info.language} (概率 {info.language_probability:.2f})") for segment in segments: # 每个片段自带起止时间戳和对应文本 print(f"[{segment.start:.2f}s -> {segment.end:.2f}s] {segment.text}")

注意:segments是生成器,不迭代就不会真正开始转写。想立即跑完就segments = list(segments)

进阶:单词级时间戳

下面的代码把结果细化到每个单词,输出每个词的开始和结束时间:

segments, _ = model.transcribe("audio.mp3", word_timestamps=True) for segment in segments: for word in segment.words: print(f"[{word.start:.2f}s -> {word.end:.2f}s] {word.word}")

音频里静音很多时,加个vad_filter=True就能自动跳过静音段,更省时。

🎛 调优与避坑:实操清单

模型越大越准?不一定,怎么选看场景:

模型选择:如果你……就选……

  • 如果你要最高精度且多语言,选large-v3
  • 如果你想省一半时间,选turbodistil-large-v3
  • 如果你只有 CPU,选smallbase,配int8省内存
  • 如果你对延迟敏感,选tiny

性能加速要点

  1. 用 int8 量化(compute_type="int8"):内存大降,精度几乎不掉
  2. GPU 上换BatchedInferencePipeline批量推理:13 分钟音频从 1 分钟干到 17 秒
  3. 调低beam_size(默认 5):越小越快,精度略降
  4. CPU 场景设置OMP_NUM_THREADS:固定线程数,性能稳定可复现

三个常见坑

⚠️现象transcribe返回了,却什么都没打印。 原因:segments是生成器,转写还没真正开始。 解法:迭代它,或先list(segments)

⚠️现象:GPU 加载报找不到 cuBLAS / cuDNN。 原因:最新版 ctranslate2 只支持 CUDA 12 + cuDNN 9。 解法:装对应 NVIDIA 库;CUDA 11 就降级ctranslate2==3.24.0

⚠️现象:实测速度跟官方基准对不上。 原因:beam_size、线程数等设置不一致。 解法:先固定beam_sizeOMP_NUM_THREADS再对比。

🗺 源码地图:5 个核心文件

  • faster_whisper/transcribe.py — 主转写逻辑:模型加载、分段转写、单词时间戳
  • faster_whisper/audio.py — 音频解码并重采样为 16kHz 单声道
  • faster_whisper/feature_extractor.py — 波形转 log-mel 频谱特征
  • faster_whisper/tokenizer.py — 多语言分词与时间戳 token 处理
  • faster_whisper/vad.py — 语音活动检测,过滤无语音片段

🔗 上下游生态

  • WhisperX — 在它之上加说话人分离和更精准的词级时间戳
  • speaches — OpenAI 兼容的 API 服务器,支持流式转写
  • whisper-diarize — 基于它和 NVIDIA NeMo 的说话人分离工具
  • WhisperLive — 准实时转写,以它为后端
  • whisper-standalone-win — 免装环境的独立 CLI 工具包

📦 谁该用这个

做会议转写、视频字幕、长音频批处理的人,直接用;要真流式实时场景的,去看基于它做的 Whisper-Streaming 这类项目。拿到源码就能开始:

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

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询