
faster-whisper 语音转文字4倍速入门实战【免费下载链接】faster-whisperFaster Whisper transcription with CTranslate2项目地址: https://gitcode.com/GitHub_Trending/fa/faster-whisperfaster-whisper 是一个基于 CTranslate2 推理引擎重写的 Whisper 语音转文字工具。它在与原版 openai/whisper 保持相同准确率的前提下速度最快提升 4 倍并且占用更少的内存让普通 CPU 也能在可接受的时间内完成较长录音的转写。一分钟认识 faster-whisper读完这一节你会知道 faster-whisper 和原版 Whisper 的关系以及它的核心性能指标。它是 OpenAI Whisper 模型用 CTranslate2 推理引擎做的重新实现也就是说模型能力与原版一致换的只是跑得动的引擎。除速度外它支持 8-bit 量化在 CPU 和 GPU 上都能进一步省内存。指标说明定位OpenAI Whisper 的 CTranslate2 重实现模型兼容速度同等准确率下比 openai/whisper 最快快 4 倍内存13 分钟音频、large-v2 模型、GPU 上int8 量化仅 2926MB原版 fp16 为 4708MBCPU 表现13 分钟音频、small 模型int8 下 1m42s原版 fp32 为 6m58s环境要求Python 3.9不需要单独安装 FFmpegPyAV 已打包 FFmpeg 库 先跑起来faster-whisper 安装教程读完这一节你能在本地跑通第一段音频转写。faster-whisper 通过 PyPI 发布一条命令即可安装要求 Python 3.9 或更高版本。和原版 whisper 不同它不要求系统里装 FFmpeg音频解码由 PyAV 库完成。pip install faster-whisper下面是最小可运行示例用 base 模型处理一段音频from faster_whisper import WhisperModel model WhisperModel(base, deviceauto, compute_typedefault) segments, info model.transcribe(audio.mp3) print(fDetected language: {info.language} ({info.language_probability:.2f})) for segment in segments: print(f[{segment.start:.2f}s - {segment.end:.2f}s] {segment.text})deviceauto会自动选择可用的设备。运行后屏幕上先打印一行检测到的语言及置信度随后逐段输出带起止时间的文本形如[0.00s - 2.34s] Hello everyone。注意首次运行会从 Hugging Face Hub 自动下载对应模型并缓存到本地需要等待下载完成之后再次运行就不会重复下载。3个马上用得上的功能读完这一节你会拿到三个最常用的参数词级时间戳、静音过滤和批量推理。词级时间戳让每个词都带起止时间做字幕对齐、逐词分析时直接可用。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})静音过滤VAD内置 Silero VAD把没有人声的片段跳过长音频里大量停顿不再浪费算力。默认行为比较保守只过滤超过 2 秒的静音可以通过vad_parameters调整所有参数和默认值见 vad.py。segments, _ model.transcribe( audio.mp3, vad_filterTrue, vad_parametersdict(min_silence_duration_ms500), )批量推理BatchedInferencePipeline是WhisperModel.transcribe的替代品传入batch_size后可显著加快长音频处理README 基准中 large-v2 在 GPU 上处理 13 分钟音频可从 1m03s 降到 17sbatch_size8。from faster_whisper import WhisperModel, BatchedInferencePipeline model WhisperModel(turbo, devicecuda, compute_typefloat16) batched_model BatchedInferencePipeline(modelmodel) segments, info batched_model.transcribe(audio.mp3, batch_size16)⚙️ 配置怎么选模型与量化速查读完这一节你不用再纠结 model_size、device 和 compute_type 三个参数怎么填。device支持cpu、cuda、auto默认compute_type默认是defaultGPU 上推荐float16CPU 或显存紧张时推荐int8。模型从 tiny 到 turbo 都有完整列表见 transcribe.py 中WhisperModel的文档字符串。使用场景推荐配置一句话理由只有 CPU、日常转写base或smallcompute_typeint8small 模型 int8 下 13 分钟音频 1m42s内存约 1477MBNVIDIA GPU、追求精度large-v3compute_typefloat16README 默认示例的组合精度最高GPU 显存紧张large-v2或large-v3int8large-v2 显存从 4525MB 降到 2926MB批量处理长音频BatchedInferencePipelinebatch_size8GPU 上 13 分钟音频从 1m03s 降到 17s只转英文音频tiny.en、base.en、small.en等官方模型列表中提供的英文专用变体⚠️ 新手翻车记录3个高频坑读完这一节你能对上号地避开新手最常踩的三个问题。坑一调用 transcribe 后屏幕上什么都没输出像是卡住了。原因segments是一个生成器只有开始迭代时转写才真正启动。 解决用for segment in segments:遍历或先执行segments list(segments)跑完全部转写。坑二首次运行非常慢还伴随着下载进度条。原因按尺寸如WhisperModel(base)加载时模型会自动从 Hugging Face Hub 下载并缓存。 解决属正常现象等待首次下载完成即可之后运行直接走本地缓存。坑三想用 GPU 加速却报找不到 cuBLAS / cuDNN 的错。原因GPU 运行需要单独安装 CUDA 12 的 cuBLAS 和 cuDNN 9pip install faster-whisper不会替你装。 解决按 NVIDIA 官方文档安装这两套库或用带 cuDNN 的 CUDA Docker 镜像环境没配好时先退回devicecpu。❓ 常见问题读完这一节你能确认几个新手最关心的问题依赖、模型来源、语言、自定义模型。Q1需要单独安装 FFmpeg 吗不需要。音频解码由 PyAV 库完成FFmpeg 库已打包在 PyAV 里。Q2默认 beam size 是多少faster-whisper 默认 beam size 为 5而 openai/whisper 默认为 1跨实现对比时要注意这一差异。Q3可以指定识别语言吗可以给transcribe()传language参数如languageen不传则自动检测语言并给出置信度。Q4GPU 上 float16 和 int8 怎么选显存充足用float16显存紧张用int8large-v2 在 GPU 上显存可从 4525MB 降到 2926MB耗时 59s。Q5自己微调过的 Whisper 模型能用吗能。仓库提供ct2-transformers-converter转换脚本把模型转成 CTranslate2 格式后把本地目录路径传给WhisperModel即可加载。更多模型和转写选项的说明可以看 WhisperModel 源码想复现性能数据可以看 benchmark/ 目录下的基准脚本。行动清单现在就能做的3步执行pip install faster-whisper确认 Python 版本为 3.9 或更高。准备一段音频文件运行上面先跑起来一节的最小示例等待首次模型下载完成后查看带时间戳的输出。对照配置怎么选的速查表按你的硬件CPU 或 NVIDIA GPU确定 model_size 和 compute_type再试一次词级时间戳和 VAD 过滤。【免费下载链接】faster-whisperFaster Whisper transcription with CTranslate2项目地址: https://gitcode.com/GitHub_Trending/fa/faster-whisper创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考