
faster-whisper 语音识别入门用 CTranslate2 加速 Whisper 的完整方法【免费下载链接】faster-whisperFaster Whisper transcription with CTranslate2项目地址: https://gitcode.com/GitHub_Trending/fa/faster-whisperfaster-whisper 是基于 CTranslate2 推理引擎重新实现的 Whisper 语音识别库在保持相同识别精度的前提下显著提升了转录速度并降低内存占用适合需要批量处理录音、讲座或视频音频的开发者与内容创作者。适合哪些场景把会议、课程、访谈等长音频批量转成文字稿替代逐条手工处理。为视频自动生成带时间戳的字幕需要词级对齐时可直接扩展。本地部署离线语音识别服务不依赖云端 API音频数据留在自己的机器上。用有限内存跑大模型int8 量化让大模型在普通显卡甚至 CPU 上可用。官方 README 给出的实测数据13 分钟音频环境耗时内存/显存faster-whisper int8CPUsmall 模型1分42秒约 1.5GBfaster-whisper int8GPUlarge-v2 模型59 秒约 2.9GBopenai/whisperCPUsmall 模型6分58秒约 2.3GBopenai/whisperGPUlarge-v2 模型2分23秒约 4.7GBREADME 描述其比 openai/whisper 最高快 4 倍、占用更少内存上表为官方 Benchmark 中两组典型环境的对比测试于 NVIDIA RTX 3070 Ti 与 Intel i7-12700K。faster-whisper 一键安装步骤环境要求只有 Python 3.9 或更高版本。与 openai-whisper 不同它不要求系统安装 FFmpeg——音频解码由 PyAV 库完成该库自带 FFmpeg 组件。# 从 PyPI 一键安装依赖会自动处理 pip install faster-whisper装好后运行这段最短转录代码即可验证环境from faster_whisper import WhisperModel model WhisperModel(small, devicecpu, compute_typeint8) # 小模型 int8内存占用低 segments, info model.transcribe(audio.mp3, beam_size5) for seg in segments: # 必须迭代才会真正开始转录 print(f[{seg.start:.2f}s - {seg.end:.2f}s] {seg.text})验证方法运行后终端打印出检测到的语言、置信度及带起止时间的文本片段即说明安装与模型加载都正常。首次运行会自动从 Hugging Face 下载对应模型之后走本地缓存。核心能力拆解分段转录与自动语言检测不指定语言时模型会先检测语言再转录info里返回语言代码与概率每个片段自带start/end时间戳可直接用于字幕轴。词级时间戳开启word_timestampsTrue后每个片段下的words字段给出逐词的起止时间适合做歌词对齐、卡拉 OK 式高亮等细粒度需求segments, _ model.transcribe(audio.mp3, word_timestampsTrue) for segment in segments: for word in segment.words: print(word.start, word.end, word.word)VAD 语音活动过滤库内置 Silero VAD 模型先裁掉纯静音部分再转录长录音中能省下不少时间。默认策略较保守只去掉超过 2 秒的静音可通过vad_parameters收紧# 只过滤超过 500ms 的静音 segments, _ model.transcribe(audio.mp3, vad_filterTrue, vad_parametersdict(min_silence_duration_ms500))批处理批量转录多文件、高吞吐场景可换用BatchedInferencePipeline它是WhisperModel.transcribe的直接替身在 GPU 上配合batch_size能进一步压缩耗时README 实测 large-v2 加batch_size8可压到 16 秒int8 下显存约 4.5GBfrom faster_whisper import WhisperModel, BatchedInferencePipeline model WhisperModel(turbo, devicecuda, compute_typefloat16) batched_model BatchedInferencePipeline(modelmodel) segments, info batched_model.transcribe(audio.mp3, batch_size16) # VAD 在此模式下默认开启另外distil-whisper 系列如distil-large-v3的权重与本项目兼容可按同样方式加载。参数与配置要点deviceauto/cpu/cuda。GPU 需系统安装 cuBLAS 与 cuDNNCUDA 12。compute_typefloat16速度最快且精度最稳int8最省内存int8_float16兼顾两者。beam_size默认 5数值越大解码越仔细、耗时越高追求速度可降到 1。language不传则自动检测仅英语的.en模型会忽略此参数并回退为en。word_timestamps/vad_filter分别控制词级时间戳与静音过滤按需开启。场景推荐组合有 GPU追求精度large-v3float16有 GPU追求速度turbo或distil-large-v3float16可上批处理纯 CPUsmall或baseint8项目结构速览README.md安装、用法、GPU 依赖与 Benchmark 数据。faster_whisper/transcribe.pyWhisperModel、BatchedInferencePipeline与转录参数定义所在。faster_whisper/audio.py基于 PyAV 的音频解码与重采样。faster_whisper/vad.pySilero VAD 静音过滤逻辑与可调参数。常见坑与对策调用transcribe后没有任何输出segments是生成器真正转录发生在你迭代它的时候用list(segments)收集结果才会完整跑完。GPU 加载报错找不到 cuBLAS/cuDNN按 README 安装对应 CUDA 12 的库若只能用 CUDA 11/12 cuDNN 8可将ctranslate2降级到 3.24.0 或 4.4.0。想要词级时间戳却发现没有words字段转录时必须显式传word_timestampsTrue默认是关闭的。普通模式与批处理模式结果不一致vad_filter在WhisperModel.transcribe中默认关闭在BatchedInferencePipeline中默认开启显式传参可统一行为。int8 下个别片段识别变差量化会小幅牺牲精度精度敏感的场景改用 GPU float16。下一步建议先用small或distil-large-v3把完整流程跑通确认时间戳与语言检测符合预期后再按精度需求换large-v3多文件批量处理时切换到BatchedInferencePipeline并调大batch_size。更多转录参数可在 WhisperModel 实现 中直接查看。【免费下载链接】faster-whisperFaster Whisper transcription with CTranslate2项目地址: https://gitcode.com/GitHub_Trending/fa/faster-whisper创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考