免费获取学习方案
ARTICLE DETAIL

资讯详情

深耕编程基础知识与建站技术分享的一线实战洞察。

faster-whisper 完全指南:用 Whisper 语音识别快速把音频转成带时间戳的文本

faster-whisper 完全指南:用 Whisper 语音识别快速把音频转成带时间戳的文本 faster-whisper 完全指南用 Whisper 语音识别快速把音频转成带时间戳的文本【免费下载链接】faster-whisperFaster Whisper transcription with CTranslate2项目地址: https://gitcode.com/GitHub_Trending/fa/faster-whisperfaster-whisper 是基于 CTranslate2 推理引擎重新实现的 OpenAI Whisper 语音识别库用一条 pip 命令即可把音频转写成带时间戳的文本同时解决原版 whisper 速度慢、内存占用高的问题。它适合需要处理会议录音、播客文稿、视频字幕的开发者也适合想在 CPU 上低成本跑语音转写的场景。 三步跑通安装 faster-whisper 并完成第一次语音转写先给结论装包、建模型、调 transcribe三步就能拿到结果。第一步安装。要求 Python 3.9 及以上音频解码由 PyAV 库内置完成无需单独安装 FFmpegpip install faster-whisper装完执行python -c import faster_whisper无报错即安装成功。第二步加载模型。直接写模型尺寸名tiny、base、small、medium、large-v3、turbo 等对应的 CTranslate2 模型会自动从 Hugging Face Hub 下载并缓存from faster_whisper import WhisperModel model WhisperModel(base, deviceauto, compute_typedefault)第三步转写音频。预期输出是按时间顺序排列的分段文本每段带起止时间segments, info model.transcribe(audio.mp3, beam_size5) print(info.language, info.language_probability) for seg in segments: print(f[{seg.start:.2f}s - {seg.end:.2f}s] {seg.text})运行后会先打印检测到的语言及置信度再逐行输出类似[0.00s - 3.20s] Hello everyone...的分段结果。 功能拆解faster-whisper 语音识别核心能力以下能力都已在源码中落地逐项说明实际能帮你做什么。分段识别与语言自动检测transcribe返回(segments, info)元组info里包含language与language_probability不指定语言时会自动用音频前 30 秒判断语种。VAD 静音过滤内置 Silero VAD 模型vad_filterTrue可先剔除无语音片段再转写长音频能省下可观算力可调参数见 vad.py 源码。词级时间戳word_timestampsTrue后每个 segment 内再多一层words可拿到每个单词的起止时间做字幕对齐很方便。批量转写BatchedInferencePipeline是WhisperModel.transcribe的替代品传入batch_size即可批量处理VAD 过滤在该模式下默认开启。热词增强hotwords参数可传入领域专有名词文本提升人名、术语的识别准确率。完整参数与多 GPU 支持全部转写选项和多卡并行device_index传列表 num_workers都集中在 transcribe.py 的WhisperModel与transcribe方法里按需求查阅即可。⚙️ 关键配置一览faster-whisper 参数对照表只收录真实存在且最常用的配置默认值均取自源码签名参数作用建议值model_size_or_path模型尺寸名或已转换模型的本地目录日常用base/small精度优先选large-v3或turbodevice计算设备auto自动选择有 N 卡可写cudacompute_type精度与量化方式GPU 用float16CPU 用int8省内存beam_size束搜索宽度影响解码质量默认5language指定音频语言跳过自动检测已知语种直接填如zhtask任务类型transcribe转写或translate翻译成英文word_timestamps输出词级时间戳做字幕时设Truevad_filter启用 VAD 过滤无语音段长音频建议True批量转写模式默认开启hotwords注入领域词汇提升准确率填常出现的专有名词文本log_progress显示进度条处理长文件时设True 实战场景faster-whisper 语音识别怎么用场景一会议录音转文字。做法加载small或turbo模型vad_filterTrue过滤会议中的长停顿initial_prompt填参会人姓名。收益一份小时级录音直接得到可检索、带时间定位的文稿。场景二批量生成字幕。做法用word_timestampsTrue拿词级时间戳或走BatchedInferencePipeline配合batch_size批量跑多个文件。收益导出 SRT 字幕的时间轴更贴合发音节奏吞吐更高。场景三领域音频微调。做法先用ct2-transformers-converter把自训练的 Whisper 模型转成 CTranslate2 格式再以本地目录路径传给WhisperModel。收益私有术语、口音更准推理速度不受影响。⚠️ 避坑指南高频问题一句话解法调了 transcribe 却迟迟不跑segments是生成器不遍历就不开始转录先list(segments)或用for循环消费。GPU 报错找不到 cuBLAS/cuDNN当前ctranslate2只支持 CUDA 12 cuDNN 9按官方文档装库或直接使用 NVIDIA 官方 CUDA 12 的 Docker 镜像。只有 CUDA 11 环境降级ctranslate23.24.0CUDA 12 cuDNN 8 则用4.4.0即可跑通。对比性能时对不上注意原版 openai/whisper 默认beam_size1而这里默认 5CPU 上还应固定OMP_NUM_THREADS后再比较。下一步建议先用base模型跑通一段你自己的音频把输出时间轴核对一遍之后再换turbo模型并启用BatchedInferencePipeline实测批量处理时的耗时变化。【免费下载链接】faster-whisperFaster Whisper transcription with CTranslate2项目地址: https://gitcode.com/GitHub_Trending/fa/faster-whisper创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表