faster-whisper 语音转文字实战:1 小时录音 5 分钟转完,Whisper 模型如何做到 4 倍速
faster-whisper 语音转文字实战1 小时录音 5 分钟转完Whisper 模型如何做到 4 倍速【免费下载链接】faster-whisperFaster Whisper transcription with CTranslate2项目地址: https://gitcode.com/GitHub_Trending/fa/faster-whisperfaster-whisper 是一个开源的语音识别语音转文字项目它用 CTranslate2 推理引擎重写 OpenAI 的 Whisper 模型识别准确率与原版相同速度最高提升 4 倍8 位量化后内存占用还能继续减半且完全离线运行。本文从安装讲起带你完成第一次音频转文字再覆盖模型选型、进阶参数与常见问题排查。3 分钟跑通第一次转录安装与最小示例只需一条命令安装要求 Python 3.9 及以上pip install faster-whisper与 openai/whisper 不同它不需要单独安装 FFmpeg——音频解码由 PyAV 库完成FFmpeg 的解码库已经打包在里面。最小可运行示例约 10 行代码from faster_whisper import WhisperModel # 首次运行会自动下载 base 模型约 140MB model WhisperModel(base, deviceauto, compute_typedefault) segments, info model.transcribe(audio.mp3) print(检测到语言:, info.language, 置信度:, round(info.language_probability, 2)) for seg in segments: print(f[{seg.start:.2f}s - {seg.end:.2f}s] {seg.text})两点提醒segments是生成器真正的转写在遍历时才开始执行for 循环跑完转写才算跑完。首次运行会从 Hugging Face Hub 自动下载模型之后走本地缓存可离线使用。跑完后你会得到带起止时间的转录文本。想要全部参数说明可以直接看 transcribe.py 里transcribe方法的文档字符串。为什么它比原版 Whisper 快 4 倍原因不复杂共 4 点换了推理引擎。原版 Whisper 用 PyTorch 跑推理faster-whisper 改用 CTranslate2——一个专门优化 Transformer 推理的引擎算子层面更快。支持 8 位量化int8。模型权重压缩到 8 位显存/内存占用直接减半且精度损失很小。支持批量推理。BatchedInferencePipeline把多个 30 秒窗口拼成一批并行处理GPU 利用率更高。VAD 静音过滤。内置 Silero VAD 先切掉无语音片段模型只处理真正有人声的部分。项目 README 里 13 分钟音频的实测数据large-v2 模型NVIDIA RTX 3070 Ti原版 openai/whisperfp162 分 23 秒显存 4708MBfaster-whisperint859 秒显存 2926MBfaster-whisperint8 batch_size816 秒CPU 端同样受益small 模型下原版 6 分 58 秒 / 2335MBfaster-whisper int8 为 1 分 42 秒 / 1477MB。模型与硬件怎么选一张对照表WhisperModel接受的模型名包括 tiny、tiny.en、base、base.en、small、small.en、medium、medium.en、distil-small.en、distil-medium.en、large-v1/v2/v3、distil-large-v2/v3、large-v3-turbo别名 turbo以及本地目录路径。带.en后缀的是仅支持英语的变体文件更小。选型建议模型参数量下载体积(约)硬件要求适用场景tiny / tiny.en~39M100MB任意 CPU快速草稿、低质量音频粗转base / base.en~74M~140MB4GB 内存的 CPU 即可日常会议记录、语音备忘速度与精度平衡small / small.en~244M~460MB8GB 内存 CPU 或任意 GPU中文场景、对精度有初步要求medium / medium.en~769M~1.5GB8GB 显存 GPU 或 16GB 内存 CPU精度优先、批量离线处理large-v3 / turbo~1.55B / ~809M~3GB / ~1.6GB8GB 显存 GPU正式交付级转录turbo 在 GPU 上速度显著更快配套的计算类型选择# 有 NVIDIA 显卡 model WhisperModel(large-v3, devicecuda, compute_typefloat16) # 显卡显存紧张如 8GB 以内 model WhisperModel(large-v3, devicecuda, compute_typeint8_float16) # 纯 CPU model WhisperModel(small, devicecpu, compute_typeint8)注意GPU 运行需要 NVIDIA 的 cuBLAS 和 cuDNN 9CUDA 12库安装方式见 README 的 GPU 章节拿不准就先用deviceauto自动探测。进阶参数速查3 个高频功能词级时间戳做字幕给每个词单独的起止时间精度 0.02 秒直接用于字幕对齐segments, _ model.transcribe(audio.mp3, word_timestampsTrue) for seg in segments: for w in seg.words: print(f[{w.start:.2f} - {w.end:.2f}] {w.word})适用场景视频字幕制作、逐词校对。多语言识别与翻译transcribe / translate多语言模型可自动检测语言也可指定tasktranslate可把任意语言翻译成英语蒸馏模型 distil-large-v3 支持多语对多语# 自动检测语言并转写 segments, info model.transcribe(audio.mp3) # 指定日语并翻译成英语 segments, _ model.transcribe(audio.mp3, languageja, tasktranslate)适用场景外语视频、多国语言会议素材。静音过滤 VAD长音频提效启用 Silero VAD先剔除无人声片段再送入模型长音频可省 30%~50% 的无效算力。默认只去掉超过 2 秒的静音参数可按需调完整定义见 vad.py 的VadOptionssegments, _ model.transcribe( audio.mp3, vad_filterTrue, vad_parametersdict( min_silence_duration_ms500, # 静音超过 500ms 即切分 threshold0.5, # 语音判定阈值 ), )适用场景访谈、课堂录音等停顿多的长音频批量推理管道默认已开启 VAD。按角色选路线4 类用户的起步配置用户推荐配置起步动作学生base CPU课堂录音转文字做笔记外语听力材料转写对照学习职场人small GPU/CPU VAD会议录音转纪要长录音开vad_filterTrue省时创作者small 或 turbo GPU 词级时间戳视频先转文字再配字幕word_timestampsTrue直接导出开发者large-v3 int8 BatchedInferencePipeline批量推理管道接入服务num_workers开启多路并行问题排查速查表现象、原因与解决办法现象可能原因解决办法脚本卡住没有输出segments是生成器未遍历就不会执行用 for 循环遍历或list(segments)跑完全程首次运行下载模型很慢Hugging Face Hub 网络不稳定设置镜像环境变量后重试或手动下载模型放入 HF 缓存目录可用download_root参数指定本地目录GPU 报 CUDA / 加载失败缺少 cuBLAS、cuDNN 9CUDA 12库按 README GPU 章节安装 NVIDIA 库或先用 CPU 跑通再配 GPU显存不足OOM模型太大或精度过高换 int8compute_typeint8_float16或改小模型转写出现重复、乱码模型陷入失败循环condition_on_previous_textFalse批量场景可加hallucination_silence_threshold10中文识别不准误用.en英语模型或未指定语言换多语言模型如 small、large-v3必要时languagezh音频里混入背景人声电视、广播未用专用模型使用.en变体模型英语场景对非人声更鲁棒安装失败Python 版本低于 3.9升级到 Python 3.9pip install --upgrade pip后重装效率组合玩法2 个可直接照搬的工作流组合一批量音频处理管道适合职场人、开发者用BatchedInferencePipeline包装模型batch_size16并行处理 30 秒窗口开启 VAD批量管道默认已开跳过静音片段多线程调用transcribe配合num_workers参数获得真正并行。收益同样硬件下吞吐量数倍提升README 实测 13 分钟音频从 1 分 03 秒降到 17 秒。from faster_whisper import WhisperModel, BatchedInferencePipeline model WhisperModel(turbo, devicecuda, compute_typefloat16) batched BatchedInferencePipeline(modelmodel) segments, info batched.transcribe(audio.mp3, batch_size16)组合二字幕生产线适合创作者word_timestampsTrue转写拿到逐词时间戳把word.start/word.end写入 SRT 文件每段取若干词合并需要多语言字幕时再用tasktranslate出一版译文。收益一个视频的字幕生成压缩到分钟级且词级对齐可直接导入剪辑软件精修。动手清单pip install faster-whisper用 base 模型转一段 5 分钟音频确认环境跑通对照上表按硬件升级模型有 GPU 上 large-v3 int8纯 CPU 用 small int8长音频加vad_filterTrue做字幕加word_timestampsTrue需要吞吐时改用BatchedInferencePipeline批量推理。按这个顺序推进从第一次转录到稳定的批处理流程每一步都有明确产出。【免费下载链接】faster-whisperFaster Whisper transcription with CTranslate2项目地址: https://gitcode.com/GitHub_Trending/fa/faster-whisper创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考