尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

三步跑通本地语音转写:faster-whisper 语音转文字完整指南

三步跑通本地语音转写:faster-whisper 语音转文字完整指南 三步跑通本地语音转写faster-whisper 语音转文字完整指南【免费下载链接】faster-whisperFaster Whisper transcription with CTranslate2项目地址: https://gitcode.com/GitHub_Trending/fa/faster-whisper本地跑 Whisper 做语音转写常见卡点是三件事环境难配、转得慢、吃内存。faster-whisper 用 CTranslate2 重写了 Whisper 的推理层给出的答案是同等准确率下最高快 4 倍占用更少内存。 能力速览能力你得到什么语音转录与翻译一次调用输出带起止时间的文本tasktranslate还能翻译成英文免装 FFmpeg音频解码由 PyAV 包内置系统层少装一个大依赖8-bit 量化int8 模式下 large-v2 显存从 4525MB 降到 2926MB词级时间戳加一个word_timestampsTrue逐词的起止时间就有了VAD 过滤 批量转写静音片段直接跳过批处理模式把 GPU 利用率提上去 三步跑起来第 1 步安装只需 Python 3.9一条命令装完无需单独安装 FFmpegpip install faster-whisper第 2 步写最小示例from faster_whisper import WhisperModel model WhisperModel(base, devicecpu, compute_typeint8) segments, info model.transcribe(audio.mp3) for segment in segments: print([%.2fs - %.2fs] %s % (segment.start, segment.end, segment.text))第 3 步理解两个行为细节第一次运行WhisperModel(base)时CTranslate2 格式的模型会自动下载并缓存到本地之后离线可用。另一个容易踩的点transcribe返回的segments是生成器不迭代就什么都不算——你以为调了接口其实还没开始转写循环一次或list(segments)之后才会真正执行。⚙️ 进阶配置GPU 与量化最常卡的几个地方GPU 必须匹配 CUDA 12 cuDNN 9。最新的 ctranslate2 只支持这套组合Linux 上可以这样装运行库pip install nvidia-cublas-cu12 nvidia-cudnn-cu129.*装完记得在启动 Python 前把这两个包的 lib 目录加进LD_LIBRARY_PATH。如果你的环境是 CUDA 11 cuDNN 8 且无法升级需要降级 ctranslate2 到 3.24.0CUDA 12 cuDNN 8 则用 4.4.0。不这么做的后果版本不匹配时模型加载直接报错GPU 跑不起来而且错误信息往往指向不明显的地方。显存紧张就上 int8 量化。GPU 用compute_typeint8_float16CPU 用int8。不这么做的后果large-v2 在 float16 下占 4525MB 显存8GB 的卡几乎没留余量换个更长的音频就容易 OOM。长音频或批量任务用批处理。BatchedInferencePipeline是WhisperModel.transcribe的即插即用替代配合batch_size16使用。不这么做的后果单流推理时 GPU 利用率不高同样的 large-v2 音频单流要 59 秒批处理只要 16 秒见下节数据。vad_filterTrue过滤静音批处理模式默认开启。不这么做的后果长录音里的静音段也会占用推理时间转写白白变慢。 内部构造核心逻辑集中在 faster_whisper/transcribe.py 的WhisperModel类里音频加载、语言检测、分段生成、词级时间戳对齐都挂在它身上。解码环节在 faster_whisper/audio.py基于 PyAV静音过滤在 faster_whisper/vad.pySilero VAD 模型。想搞清楚某个参数为什么没生效从这两个文件读起最省时间。 性能与实测以下数据来自项目自带基准13 分钟音频GPU 为 RTX 3070 Ti 8GBCUDA 12.4。large-v2 GPU 配置耗时显存openai/whisperfp162m23s4708MBfaster-whisperfp161m03s4525MBfaster-whisperint859s2926MBfaster-whisperint8 batch_size816s4500MBCPU 侧small 模型i7-12700K 8 线程openai/whisper 需要 6m58sfaster-whisper int8 单流 1m42s加批处理压到 51s内存也从 2335MB 降到 1477MB单流 int8。另外针对蒸馏模型 distil-large-v3在大规模数据集上 faster-whisper 耗时 25m50s而 transformers 实现要 46m12s且词错率WER反而更低。没有 GPU 也不影响上手CPU int8 跑 small 模型13 分钟音频两分钟内出结果体感完全够用。 社区与许可项目采用 MIT 许可证见 LICENSE商用无限制。开发环境按 CONTRIBUTING.md 的方式安装即可参与贡献。README 中维护了一份社区集成清单包括说话人分离、独立 CLI 打包、实时转写等方向想找现成方案可以从中挑。遇到问题时先看 tests/ 目录下的用例了解预期行为解决不了再去项目提 issue。最稳的上手路径先用 base 模型在 CPU 上转一条短音频确认链路通再逐步上 GPU 和量化。踩坑先看 tests/ 里的示例定位问题定位不了就直接向项目提 issue。【免费下载链接】faster-whisperFaster Whisper transcription with CTranslate2项目地址: https://gitcode.com/GitHub_Trending/fa/faster-whisper创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表