
4 倍速转写、显存省 35%faster-whisper 多语种会议录音转文字教程【免费下载链接】faster-whisperFaster Whisper transcription with CTranslate2项目地址: https://gitcode.com/GitHub_Trending/fa/faster-whisperfaster-whisper 是一个多语言语音识别工具解决会议录音转文字又慢、又吃内存的痛点它把 13 分钟音频的转写压到 1 分多钟显存最多省 35%。它是用 CTranslate2 引擎重写的 Whisper音频解码靠 PyAV不用单独装 FFmpeg一条命令就能装好。三分钟上手3 条命令安装并跑通 faster-whisper假设你还没装过任何 AI 工具只需要 Python 3.9 及以上先执行pip install faster-whisper安装时会自动带上 CTranslate2、PyAV、onnxruntime 等依赖。音频解码由 PyAV 完成所以系统里不用另外装 FFmpeg。装好就能跑。这段代码加载模型、转写一段音频并打印每句的时间戳和文字from faster_whisper import WhisperModel model WhisperModel(small, devicecpu, compute_typeint8) segments, info model.transcribe(audio.mp3, beam_size5) print(语言: %s, 概率: %.2f % (info.language, info.language_probability)) for seg in segments: print([%0.2fs - %0.2fs] %s % (seg.start, seg.end, seg.text))几个点先说清楚device填cpu或cudacompute_type填int8CPU或float16/int8_float16GPU。beam_size决定模型一次保留几个候选词去比较值越大越准但越慢默认是 5。注意segments是生成器只有你真正遍历它时转写才开始想一口气跑完用list(segments)兜住。混合语言实战自动检测加 VAD 过滤会议录音真实会议常常中英夹杂甚至中途切到别的语言。你不用提前告诉它说的是什么把language留空让它自己判断即可。再开一个 VAD 过滤——先用一个小模型扫一遍整段音频把没人说话的静音切掉只把有语音的部分交给主模型既省时间又少出废话。segments, info model.transcribe( meeting.mp3, languageNone, # 留空自动检测 beam_size5, vad_filterTrue, vad_parametersdict(min_silence_duration_ms500), ) print(主语言: %s (%.2f) % (info.language, info.language_probability))min_silence_duration_ms控制多长的静音才算停顿默认是 2000也就是只切 2 秒以上的长静音调成 500 对短句更友好。各参数的默认值都能在 faster_whisper/vad.py 里查到。想直接练手tests/data/ 里有一段多语种样本multilingual.mp3。它为什么快INT8 量化与 CTranslate2 引擎先体验速度再回头看原理就不抽象了核心是三件事换引擎它不是给 openai/whisper 打补丁而是用 CTranslate2 这个 Transformer 推理引擎重写了一遍推理阶段做了层融合和内存复用同样精度下最高能快 4 倍。量化INT8把模型权重从 16 位浮点压成 8 位整数体积和显存直接减半精度基本不掉后面 GPU 表里 int8 那行就是它的效果。少算VAD 先把静音切掉、批量推理一次喂多条音频都能砍掉无效计算。数据说话速度、显存与准确率对比以下数字全部来自仓库 benchmark/ 的实测音频统一为 13 分钟beam 宽度统一为 5。GPUlarge-v2 模型NVIDIA RTX 3070 Ti 8GBCUDA 12.4实现精度耗时显存openai/whisperfp162m23s4708MBfaster-whisperfp161m03s4525MBfaster-whisperbatch8fp1617s6090MBfaster-whisperint859s2926MBfaster-whisperbatch8int816s4500MBCPUsmall 模型Intel Core i7-12700K8 线程实现精度耗时内存openai/whisperfp326m58s2335MBwhisper.cppfp322m05s1049MBfaster-whisperfp322m37s2257MBfaster-whisperbatch8fp321m06s4230MBfaster-whisperint81m42s1477MBfaster-whisperbatch8int851s3608MB看两个点CPU 上 int8 的 faster-whisper 用 1m42s 跑完是 openai/whisper6m58s的约 4 倍速度内存还从 2335MB 降到 1477MBGPU 上 int8 相比 fp16 显存少了约 35%。准确率方面仓库在 YT Commons 数据集上测了蒸馏模型 distil-large-v3WER 越低越好faster-whisper 用 fp16 批量跑得到 13.527比 transformers 的 14.801 更低耗时也从 46m12s 降到 25m50s。逐语种的 WER 仓库没有提供这里不编造想自己测可以用benchmark/wer_benchmark.py基于 LibriSpeech跑一遍。部署与调优Docker 部署与量化策略速查Docker 部署仓库提供了现成镜像基于 NVIDIA CUDA 12 cuDNN 9用docker build -t fw -f docker/Dockerfile .构建 docker/Dockerfile再docker run --gpus all fw即可跑仓库里docker/infer.py的示例。模型选型要极致速度选tiny/base日常平衡选small/medium多语言要准就上large-v3或蒸馏版distil-large-v3、turbo。量化策略CPU 用int8GPU 用float16显存够或int8_float16显存紧。批量推理多条音频一次处理用BatchedInferencePipeline它默认开启 VADbatch_size越大 GPU 利用率越高但显存占用也更高。避坑清单低质量音频先降噪再转写静音多的会议记得开vad_filterTrue否则短停顿会被切成很多碎句。超长音频单文件别硬转按 30 分钟左右分段再拼时间戳或直接走批量推理接口分摊。自定义/微调模型Whisper 原版或你微调过的模型要先用ct2-transformers-converter转成 CTranslate2 格式再加载不能直接喂。GPU 找不到 cuBLAS/cuDNN新版 CTranslate2 只支持 CUDA 12 cuDNN 9老环境要么升级要么降级 CTranslate2 版本。对比不公平跟别家实现比速度时beam 宽度、线程数OMP_NUM_THREADS要先对齐否则数字没有可比性。faster-whisper 适合多语种转写、会议录音转文字、播客字幕这类既要准又要快的场景从 Python API 到 Docker 都有现成方案。更多转写选项可看 faster_whisper/transcribe.py实测脚本都在 benchmark/。觉得有用给仓库点个 Star 收藏下次找起来更快。【免费下载链接】faster-whisperFaster Whisper transcription with CTranslate2项目地址: https://gitcode.com/GitHub_Trending/fa/faster-whisper创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考