faster-whisper 快速上手教程:免费实现比原版快 4 倍的语音转文字
faster-whisper 快速上手教程免费实现比原版快 4 倍的语音转文字【免费下载链接】faster-whisperFaster Whisper transcription with CTranslate2项目地址: https://gitcode.com/GitHub_Trending/fa/faster-whisperfaster-whisper 是一个用 CTranslate2 推理引擎重写的 OpenAI Whisper 语音转文字工具同样的识别准确率下速度最高可达原版的 4 倍占用的内存反而更少。它是免费开源的一条命令安装几行 Python 代码就能把一段录音变成带时间戳的文字。它能帮你做什么你手里有一段 13 分钟的会议录音想 1 分钟内拿到逐字稿它能做。你正在剪辑视频需要词级时间戳来对齐字幕它能做。你攒了一堆语音备忘录想批量转成可搜索的文字它也能做。按项目自带的基准测试用 large-v2 模型在 GPU 上处理 13 分钟音频原版 Whisper 要 2 分 23 秒faster-whisper 只要 1 分 03 秒开启 int8 量化后 59 秒出结果。3 分钟完成 faster-whisper 安装先确认环境Python 3.9 及以上即可。不用装 FFmpeg音频解码由 PyAV 库自带完成比原版少一个麻烦。安装只有一条命令pip install faster-whisper有 NVIDIA 显卡的话还需要装 cuBLASCUDA 12和 cuDNN 9 这两个库才能启用 GPU具体说明见 README.md。没有显卡也完全没问题CPU 模式一样能跑。第一次运行3 行代码转出文字先跑通再说。下面这个例子选 base 模型 CPU int8是新手最不容易出错的组合from faster_whisper import WhisperModel model WhisperModel(base, devicecpu, compute_typeint8) segments, info model.transcribe(audio.mp3) for segment in segments: print(f[{segment.start:.2f}s - {segment.end:.2f}s] {segment.text})它做了三件事加载 base 模型首次运行会自动下载并缓存、转录audio.mp3并自动检测语言、按句子打印每段文字和起止时间。把模型名换成 small、medium、large-v3 就能在速度和精度之间取舍。跟着做一遍时间戳 静音过滤字幕制作最有用的是词级时间戳加一个word_timestampsTrue参数就行segments, _ model.transcribe(audio.mp3, word_timestampsTrue) for segment in segments: for word in segment.words: print(f[{word.start:.2f}s - {word.end:.2f}s] {word.word})segment.words里每个词都带独立的 start/end直接就能导出成 SRT 或逐字稿对齐文件。第二个高频参数是静音过滤。长音频里大量静音段落其实不用送进模型加vad_filterTrue会自动跳过没有说话声的部分底层是 Silero VAD参数细节见 faster_whisper/vad.pysegments, _ model.transcribe( audio.mp3, vad_filterTrue, vad_parametersdict(min_silence_duration_ms500), )默认规则偏保守只剔除超过 2 秒的静音min_silence_duration_ms500表示超过半秒的静音就切掉处理背景音乐多的音频时速度提升很明显。让识别速度再翻倍的设置模型和计算类型是速度、精度、内存三者的调节旋钮模型tiny 最快、small 均衡、medium 偏质量、large-v3 精度最高另有 turbo 和 distil-large-v3 可选distil 模型记得传languageen。计算类型GPU 推荐compute_typefloat16显存紧张换int8_float16纯 CPU 用int8。批量推理显存够的话用BatchedInferencePipeline加batch_size16同一份 13 分钟音频从 63 秒压到 17 秒这是 README 实测数据。int8 量化对速度的帮助同样可观CPU 上 small 模型从 1 分 42 秒int8对比原版的 6 分 58 秒快了一大截。所有参数都在 faster_whisper/transcribe.py 的transcribe方法里可以逐个试。常见问题与避坑Q调用了 transcribe 但打印不出来segments是个生成器转录只在遍历它时才开始执行。用for循环或list(segments)收一遍文字才会真正产出。这是新手最常踩的坑。QGPU 报 CUDA 相关错误最新版 ctranslate2 只支持 CUDA 12 cuDNN 9。如果是 CUDA 11 环境降级pip install ctranslate23.24.0CUDA 12 但 cuDNN 8 则用ctranslate24.4.0。Q需要单独装 FFmpeg 吗不需要。PyAV 已经把 FFmpeg 库打进了 pip 包里直接转 mp3、wav、m4a 都没问题。Q显存不够怎么办先换int8_float16计算类型large-v2 的显存占用从 4525MB 降到 2926MB再不行就降级模型或调小chunk_length。Q能用自己的微调模型吗能。用ct2-transformers-converter把 Transformers 格式的 Whisper 模型转成 CTranslate2 格式后把WhisperModel(本地目录)指向该目录即可方法见 README.md 的 Model conversion 一节。适合哪些场景会议记录长录音一键转逐字稿分段带时间戳方便回查谁在什么时候说了什么。视频字幕word_timestamps输出可直接喂给字幕工具中英混录也能自动识别语言。语音备忘录把零散的语音笔记批量转成文字之后可以搜索、归档。播客与课程长音频配 VAD 静音过滤转写完还能顺手做内容索引。仓库里还带了现成测试音频如 tests/data/jfk.flac和 benchmark/ 下的速度、内存、WER 基准脚本想验证自己机器上的真实表现可以直接跑。写在最后faster-whisper 的价值一句话概括不牺牲准确率的 Whisper 加速版装完三行代码就能用。下一步建议用batch_size试试批量推理能快多少跑一遍 benchmark/speed_benchmark.py 看看自己机器的实测数据最后尝试转换一个自己微调过的模型把这套流程接到真实业务里。【免费下载链接】faster-whisperFaster Whisper transcription with CTranslate2项目地址: https://gitcode.com/GitHub_Trending/fa/faster-whisper创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考