ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

如何用 faster-whisper 做语音转文字:基于 CTranslate2 的 Whisper 重实现,推理快数倍

如何用 faster-whisper 做语音转文字:基于 CTranslate2 的 Whisper 重实现,推理快数倍 如何用 faster-whisper 做语音转文字基于 CTranslate2 的 Whisper 重实现推理快数倍【免费下载链接】faster-whisperFaster Whisper transcription with CTranslate2项目地址: https://gitcode.com/GitHub_Trending/fa/faster-whisper如果你在本地跑过 OpenAI 的 Whisper大概率体会过长音频转录慢、显存吃得多的问题。faster-whisper 就是为此而生一个用 CTranslate2 推理引擎重写的 Whisper Python 包官方数据表明在相同准确率下它比原始实现快至 4 倍且内存占用更低CPU 和 GPU 上都支持 8 位量化进一步压缩开销。安装与首次转录环境要求只有一个Python 3.9 及以上。一条命令装好pip install faster-whisper和原始 openai-whisper 不同它不需要在系统里单独装 FFmpeg——音频解码由 PyAV 库完成FFmpeg 的库文件已随包一起分发。装好后转录一段音频只需几行代码from faster_whisper import WhisperModel model WhisperModel(base, deviceauto) segments, info model.transcribe(audio.mp3) for segment in segments: print([%.2fs - %.2fs] %s % (segment.start, segment.end, segment.text))WhisperModel接收模型尺寸tiny 到 large-v3、turbo、distil-large-v3 等对应转换好的 CTranslate2 模型会自动从 Hugging Face Hub 下载并缓存不用手动管理模型文件。info对象里可以拿到自动检测到的语言和置信概率。有一个新手常踩的坑值得注意transcribe返回的 segments 是生成器转录真正开始于你迭代它的那一刻。想先触发任务、之后再处理结果需要segments list(segments)让它跑完。常见配置与版本兼容坑GPU 需要 CUDA 12 cuDNN 9 组合最新版 ctranslate2 只支持这套版本。CUDA 12 配 cuDNN 8 的环境需执行pip install --force-reinstall ctranslate24.4.0更老的 CUDA 11 环境则需降到 3.24.0。Linux 上也可以直接用pip install nvidia-cublas-cu12 nvidia-cudnn-cu129.*装库但启动 Python 前要设置好 LD_LIBRARY_PATH。设备与精度device支持 cpu、cuda、autocompute_type控制精度GPU 常用 float16CPU 常用 int8。量化后内存明显下降是显存紧张时的首选。VAD 过滤传vad_filterTrue会用内置的 Silero VAD 跳过无语音的片段。默认策略偏保守只移除超过 2 秒的静音可用vad_parameters字典调整批量转录模式下该过滤默认开启。默认 beam_size 是 5官方 openai-whisper 的 transcribe 默认 beam size 为 1。拿两者的速度或准确率对比时先对齐 beam size、WER 和 CPU 线程数OMP_NUM_THREADS否则结论没有可比性。功能一览转录与翻译task参数取 transcribe 做语音转文字取 translate 则是把语音翻译成英语文本。多语言非 .en 后缀的模型可自动识别语种也可手动指定language跳过检测。词级时间戳word_timestampsTrue可拿到每个单词的起止时间适合做逐词对齐的场景。批量转录用BatchedInferencePipeline包一层 WhisperModeltranscribe接口不变多份音频按 batch_size 并行跑速度收益明显但显存换吞吐。模型转换官方模型或自己微调过的模型可用 ct2-transformers-converter 转成 CTranslate2 格式后直接按本地目录加载。性能表现与适用边界官方基准RTX 3070 Ti 上转录 13 分钟音频large-v2 模型faster-whisper 的 fp16 约 1 分 03 秒原始 openai/whisper 为 2 分 23 秒换 int8 后显存从约 4.5GB 降到 2.9GB 左右。CPU 侧用 small 模型加批量与量化13 分钟音频约 51 秒而原始实现需要接近 7 分钟。它适合批量离线转录服务、会议和播客存档、对内存敏感或想用 int8 量化的部署以及需要时间戳后处理对齐、分轨、字幕的管线。不太适合只想要一条命令行工具而无意写 Python 的场景——它是库不是 CLI社区才有基于它的命令行封装CUDA 11 老环境需要额外降级处理实时流式识别也不直接支持Whisper 本身是离线模型流式要靠外部调度实现。进一步资料核心转录逻辑与全部可选参数都写在 faster_whisper/transcribe.py 的WhisperModel类中VAD 过滤的默认参数和可调项见 faster_whisper/vad.py。项目采用 MIT 许可贡献流程与开发环境说明在 CONTRIBUTING.md 中装完pip install -e .[dev]即可本地开发。【免费下载链接】faster-whisperFaster Whisper transcription with CTranslate2项目地址: https://gitcode.com/GitHub_Trending/fa/faster-whisper创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表