拓冰建站拓冰建站
首页 / 资讯中心 / 正文

faster-whisper 语音转文字完整指南:从安装到 4 倍速转录的实操教程

faster-whisper 语音转文字完整指南从安装到 4 倍速转录的实操教程【免费下载链接】faster-whisperFaster Whisper transcription with CTranslate2项目地址: https://gitcode.com/GitHub_Trending/fa/faster-whisperfaster-whisper 是一个用 CTranslate2 推理引擎专为 Transformer 模型加速的开源库重新实现的 OpenAI Whisper 语音转文字库在保持与原版相同识别精度的前提下最高可将转录速度提升 4 倍并显著降低内存占用。本文面向没有相关技术背景的读者覆盖安装准备、五分钟上手、核心参数、批量处理与常见避坑带你把一段会议录音完整转成带时间戳的文字稿。faster-whisper 是什么快在哪里Whisper 是 OpenAI 发布的开源语音识别模型本身准确但原版实现用 PyTorch 直接推理速度慢、吃内存。faster-whisper 没有改动模型本身而是把模型权重转换后交给 CTranslate2 来执行推理由此带来三项可验证的收益速度官方基准测试中13 分钟音频用 large-v2 模型在 GPU 上转录原版 openai/whisper 耗时 2 分 23 秒faster-whisper 用 fp16 精度为 1 分 03 秒开启批处理batch_size8后压缩到 17 秒内存同场景下int8 量化8 位整数运算精度略降但速度更快的显存占用从原版的 4708MB 降到 2926MB无额外依赖原版 Whisper 要求系统安装 FFmpeg 来解码音频faster-whisper 改用 Python 库 PyAV自带 FFmpeg 编解码能力装完即用除精度、速度外它还提供词级时间戳、静音过滤VAD、翻译任务、热词提示等开箱即用的能力后面逐一说明。安装与依赖准备faster-whisper 要求Python 3.9 及以上版本安装命令只有一条pip install faster-whisper安装完成后首次运行会自动从 Hugging Face Hub 下载对应的 CTranslate2 模型文件无需手动管理权重。依赖方面只有两类需要留意纯 CPU 使用无需任何额外组件Python 环境装好即可NVIDIA GPU 加速需要系统已安装 CUDA 12 对应的 cuBLAS 和 cuDNN 9 两个运行库。如果手上是 CUDA 11 环境需将 ctranslate2 降级到 3.24.0CUDA 12 cuDNN 8 则降级到 4.4.0否则推理会找不到库而报错模型尺寸从tiny、base、small、medium一直到large-v3、turbo即 large-v3-turbo此外还支持distil-large-v3这类蒸馏模型。选大模型精度更高但更吃资源选小模型则更快可按下文基准数据估算。五分钟跑通第一段转录最小可运行的核心示例如下加载模型并对一个音频文件进行转录输出每段文字的起止时间from faster_whisper import WhisperModel # 加载模型首次会自动下载GPU 用 devicecudaCPU 用 devicecpu model WhisperModel(base, devicecpu, compute_typeint8) # 转录并打印结果 segments, info model.transcribe(audio.mp3) print(检测到的语言: %s (概率 %.2f) % (info.language, info.language_probability)) for seg in segments: print([%.2fs - %.2fs] %s % (seg.start, seg.end, seg.text))两点说明不指定language参数时模型会用音频前 30 秒自动检测语言已知语种时直接传languagezh之类的代码结果更稳segments是一个生成器调用transcribe时并不会立刻开始转录只有遍历它for 循环或list()时推理才真正启动。需要把结果存下来时先转成列表即可核心能力与关键参数说明以下能力都通过model.transcribe()的参数开启按使用频率排列能力关键参数一句话说明词级时间戳word_timestampsTrue每个词单独带上起止时间做字幕、逐词对齐时直接用静音过滤VADvad_filterTrue配vad_parameters内置 Silero VAD 模型先切出有人声的片段再转录默认只过滤超过 2 秒的静音min_silence_duration_ms可改为 500 等更敏感的阈值threshold0~1控制人声判定灵敏度翻译tasktranslate除转写外把任意语言直接翻成英文文本指定片段clip_timestamps0,30,60,90逗号分隔的秒数只转录音频中指定的区间热词提示hotwords术语A 术语B给模型提供专有名词、人名提示改善特定词汇的识别开头提示语initial_prompt...用一段示例文本引导输出风格比如指定标点或措辞习惯语言检测强度language_detection_threshold默认 0.5调整自动判定的置信度门槛上下文条件condition_on_previous_text默认 True关闭后每段独立解码可减少重复循环但长文一致性略降批量处理与模型选择批量推理。WhisperModel.transcribe一次处理一个音频要并行处理大批量音频时用BatchedInferencePipeline包一层模型传入batch_size如 16让多个片段并行解码。官方数据显示13 分钟音频在 GPU 上可再快约 3~4 倍int8 下从 59 秒到 16 秒代价是显存占用上升从 2926MB 到 4500MB。注意批量管线默认开启 VAD 过滤而单文件管线默认关闭对比两者结果时要意识到这个差异。精度与量化的取舍。compute_type常见三档float16GPU 推荐速度、精度平衡点int8_float16GPU或int8CPU内存和显存占用最低CPU 上 small 模型 13 分钟音频约 1 分 42 秒、内存约 1.5GB适合无独显的机器float32最稳但最慢一般不必用CPU 用户的现实预期。官方 CPU 基准Intel i7-12700K8 线程small 模型下原版 Whisper 转录 13 分钟音频需 6 分 58 秒faster-whisper 的 int8 模式为 1 分 42 秒批处理模式 51 秒。日常录音几分钟的体量CPU int8 small 模型是完全够用的组合。常见误区与避坑清单误以为没有输出就是失败segments是惰性生成器忘了遍历就不会执行转录。排查第一步永远是确认循环已跑起来GPU 报缺库错误几乎都是 cuBLAS/cuDNN 版本与 ctranslate2 不匹配。对照上文 CUDA 12 / CUDA 11 的降级方案处理而不是重装整个项目VAD 默认值记反单文件WhisperModel.transcribe的vad_filter默认是False长音频、静音多的录音记得手动开启否则无声音频也会被逐段转录出大量幻觉文字模型下载慢或失败可先调用download_model手动把模型拉到本地缓存或改用本地模型目录/自建 Hub 仓库加载绕开自动下载环节对比性能时参数不一致与原版 Whisper 对比要固定beam_sizefaster-whisper 默认 5原版默认 1和 CPU 线程数可用OMP_NUM_THREADS环境变量固定否则速度差异会来自配置而非实现延伸阅读参数全集与实现细节faster_whisper/transcribe.pytranscribe方法的完整参数注释都在这里VAD 参数默认值faster_whisper/vad.pyVadOptions类注释了每个阈值的含义模型尺寸与 Hub 仓库映射faster_whisper/utils.pyavailable_models与_MODELS音频解码逻辑faster_whisper/audio.py基准测试脚本benchmark/速度、内存、词错率三类评测的复现方式仓库自带的 Docker 推理示例docker/infer.py如果你需要自己微调过的 Whisper 权重官方还提供了一个ct2-transformers-converter转换命令可以把任意 Transformers 兼容的 Whisper 模型包括微调版本转成 CTranslate2 格式后再用本地路径加载相关说明见 README.md 的 Model conversion 一节。【免费下载链接】faster-whisperFaster Whisper transcription with CTranslate2项目地址: https://gitcode.com/GitHub_Trending/fa/faster-whisper创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门