尧图精选

faster-whisper:从单文件到批量处理的 4 倍速语音转文字实战

🕒 发布时间:2026/9/5 22:26:57 📁 来源:尧图网络
faster-whisper从单文件到批量处理的 4 倍速语音转文字实战【免费下载链接】faster-whisperFaster Whisper transcription with CTranslate2项目地址: https://gitcode.com/GitHub_Trending/fa/faster-whisperfaster-whisper 是基于 CTranslate2 推理引擎重新实现的 OpenAI Whisper在相同准确率下最多可提速 4 倍且内存占用更低在 CPU 和 GPU 上启用 8 位量化还能进一步压缩内存开销。它支持 90 余种语言的自动检测、词级时间戳和内置 VAD 静音过滤并通过 PyAV 完成音频解码无需在系统中单独安装 FFmpeg。 模型与计算类型选型速览WhisperModel构造时的device与compute_type组合决定了速度与内存的平衡常见搭配如下compute_type硬件建议模型规模适用场景float16NVIDIA GPUmedium / large-v3 / turbo显存充足追求最高质量int8_float16NVIDIA GPUlarge-v3 / turbo显存有限约省 1/3 显存int8CPUsmall / medium无 GPU 环境float32CPUtiny / base / small轻量任务、快速验证注意最新版本的 ctranslate2 仅支持 CUDA 12 cuDNN 9旧驱动环境需按「调参与排错」一节处理版本。 快速验证5 分钟跑通首次转录要求 Python 3.9 以上一条命令安装pip install faster-whisper接着用最小示例跑通转录3 行from faster_whisper import WhisperModel model WhisperModel(small, devicecpu, compute_typeint8) segments, info model.transcribe(audio.mp3)按模型规模命名如small加载时对应 CTranslate2 权重会自动下载并缓存。info.language给出检测到的语言及概率注意segments是生成器只有遍历它时才真正开始转录用list(segments)即可一次性执行到完成。核心能力多语言检测与词级时间戳不指定language时模型会先检测语言对中英混说等场景需传multilingualTrue。需要逐词时间轴做卡拉OK字幕、高亮定位时加word_timestampsTrue随后遍历segment.words读取每个词的起止时间。产品名、专有名词等易错词可用hotwords参数直接给出提示文本例如model.transcribe(audio.mp3, hotwordsComfyUI)。语言与分词逻辑位于 tokenizer.py。VAD 静音过滤与批量推理vad_filterTrue会用内置的 Silero VAD 先切出语音段再送模型减少纯静音带来的耗时和幻觉。默认行为偏保守仅剔除超过 2 秒的静音可通过vad_parameters微调如vad_parametersdict(min_silence_duration_ms500)全部参数见 vad.py。批量场景下BatchedInferencePipeline是WhisperModel.transcribe的即插即用替代品from faster_whisper import WhisperModel, BatchedInferencePipeline model WhisperModel(turbo, devicecuda, compute_typefloat16) pipeline BatchedInferencePipeline(modelmodel) segments, info pipeline.transcribe(audio.mp3, batch_size8)批量推理默认开启 VAD 过滤batch_size越大吞吐越高但显存/内存占用也随之上升。典型工作流单条视频转字幕时间轴输入任意视频文件mp4 等。处理时由内置 PyAV 完成解码与 16kHz 重采样转录默认使用 beam_size5逐段输出文本与起止时间音频解码实现在 audio.py。开启word_timestampsTrue后还能得到词级时间轴。输出即segment.start / end / text三元组按 SRT 格式写出就是可用的字幕文件。会议录音批量转录输入多场会议录音。用BatchedInferencePipeline统一处理batch_size提供并行吞吐默认启用的 VAD 跳过长时间静音。输出为每场会议的文本与时间线把各段起止时间写入磁盘即可得到结构化纪要也便于后续按时间检索。完整参数清单见 transcribe.py 中WhisperModel类。⚙️ 调参与排错遇到问题查这里问题原因解法调用 CUDA 报库错误最新 ctranslate2 仅支持 CUDA 12 cuDNN 9CUDA 11 环境降级ctranslate23.24.0CUDA 12 cuDNN 8 降级4.4.0拿到结果但转录一直没跑segments是生成器遍历时才执行segments list(segments)显存/内存不足模型规模或精度超出可用容量换int8_float16/ 更小模型或降低batch_size长静音处出现重复幻觉文本模型在无声段自行填充内容开启vad_filterTrue并调小min_silence_duration_msCPU 上的速度还受线程数影响可通过OMP_NUM_THREADS环境变量或WhisperModel的cpu_threads参数控制与其他实现对比速度时需保证 beam size 与 WER 相近才具可比性。延伸方向自训模型复用用ct2-transformers-converter把微调后的 Whisper 模型转换为 CTranslate2 格式再WhisperModel(./whisper-ct2)直接加载本地目录。近实时流式场景将长音频按策略切片、逐段送模型可实现会议直播字幕类的低延迟转录。【免费下载链接】faster-whisperFaster Whisper transcription with CTranslate2项目地址: https://gitcode.com/GitHub_Trending/fa/faster-whisper创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
上一篇/下一篇内容由系统自动关联 返回资讯列表 →