ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

faster-whisper 快速上手:本地语音转文字,速度提升 4 倍

faster-whisper 快速上手:本地语音转文字,速度提升 4 倍 faster-whisper 快速上手本地语音转文字速度提升 4 倍【免费下载链接】faster-whisperFaster Whisper transcription with CTranslate2项目地址: https://gitcode.com/GitHub_Trending/fa/faster-whisper两小时的客户访谈录音转写稿还没出来纪要却要明天早上交。这个场景就是 faster-whisper 的用武之地它是一款基于 Whisper 模型的开源语音转文字工具在你自己的电脑上离线运行识别准确率与原版保持一致的同时转写速度最高可达 4 倍——官方实测 13 分钟音频最快 59 秒出稿。它是什么解决什么问题 faster-whisper 是一个 Python 库。它用 CTranslate2 推理引擎重新实现了 OpenAI 的 Whisper 语音识别模型覆盖约 100 种语言包括中文、英文、日文。速度快的原因不神秘推理引擎做了深度优化再加上 8 位量化同样的识别质量下算得更少、占得更省。它适合所有要把录音变文字的人会议要纪要、视频要字幕、访谈要归档、播客要文稿。数据不用上传模型一次下载后长期使用软件本身免费。faster-whisper传统做法 / 在线服务运行环境本地 Python 3.9完全离线在线服务依赖网络录音需上传13 分钟音频CPUsmall 模型51 秒原版 openai/whisper 约 6 分 58 秒内存占用int8 量化后约 1.5GB原版约 2.3GB使用成本免费模型自动下载并缓存在线服务按分钟或按次计费五分钟完成安装跑通第一条转写 确认 Python 是 3.9 或更高版本然后执行安装pip install faster-whisper # 音频解码由包内自带的 PyAV 库完成无需单独安装 FFmpeg # GPU 用户额外需要 NVIDIA CUDA 12 cuBLAS cuDNN 9接着是最小可运行示例保存为 .py 文件即可执行from faster_whisper import WhisperModel # 首次运行自动下载 base 模型约 150MBCPU int8 适合大多数电脑 model WhisperModel(base, devicecpu, compute_typeint8) segments, info model.transcribe(audio.mp3) print(检测到语言:, info.language, f({info.language_probability:.2f})) for segment in segments: # 必须迭代才会真正开始转写 print(f[{segment.start:.2f}s - {segment.end:.2f}s] {segment.text})模型分 tiny、base、small、medium、large-v3 五档后缀 .en 的版本只识别英文但更精准另外还有 distil-large-v3 和 turbo 两个精简型号。型号越大越准也越吃资源。[!TIP] 模型首次下载后会缓存在本地下次启动秒级加载。网络环境不稳定时可以提前把模型文件下载到缓存目录用本地路径加载。三个最常见的用法场景 1. 给视频做字幕精确到每个词的时间点句子级时间点对齐字幕总差几帧词级时间戳能解决这个问题。只需要多传一个参数segments, _ model.transcribe(audio.mp3, word_timestampsTrue) for segment in segments: for word in segment.words: # 每个词都带独立的起止时间 print(f[{word.start:.2f} - {word.end:.2f}] {word.word})1 小时录音用 small 模型跑GPU 上约 5 分钟出稿输出的逐词时间点可以直接转成 SRT 字幕文件。2. 处理会议录音把静音部分直接丢掉默认设置下模型也会听静音既拖慢速度又容易输出空行。faster-whisper 内置了 Silero VAD 语音活动检测先把没有说话的部分裁掉segments, _ model.transcribe( meeting.mp3, vad_filterTrue, # 开启静音过滤 vad_parametersdict(min_silence_duration_ms500), )默认只裁掉持续 2 秒以上的静音把 min_silence_duration_ms 调成 500切分更细。30 分钟的会议录音如果三分之一时间在寒暄和停顿实际转写量能接近减半。全部参数默认值可以查看 faster_whisper/vad.py。3. 批量处理素材一次同时转 8 段音频视频库里几十条音频排队跑太慢时改用 BatchedInferencePipeline 类把音频切块后并行转写。官方在 RTX 3070 Ti 上的实测13 分钟音频用 large-v2 模型单路 fp16 要 1 分 03 秒batch_size16 批量推理只要 16 秒。用法示例和更多参数见 README.md。和其他方案横向对比 同一份 13 分钟音频CPU 上用 small 模型、8 线程Intel i7-12700K数据来自官方基准测试方案耗时内存离线成本faster-whisperint8批量51 秒约 3.6GB支持免费faster-whisperint81 分 42 秒约 1.5GB支持免费whisper.cpp2 分 05 秒约 1.0GB支持免费openai/whisper6 分 58 秒约 2.3GB支持免费在线转写服务视网络而定不占本地不支持按量计费GPU 上差距更明显large-v2 模型下faster-whisper int8 转写 13 分钟音频用 59 秒、显存 2.9GB原版 fp16 要 2 分 23 秒、显存 4.7GB。新手最容易踩的 3 个坑 ⚠️坑一调用 transcribe() 之后就不动了。transcribe() 返回的是生成器转写在你迭代它时才真正开始。直接 print(segments) 只会看到一行生成器对象。正确做法外面套一层 list()或者像上文的 for 循环逐段取结果。坑二CUDA 11 的环境装最新版 ctranslate2。4.x 版本只支持 CUDA 12 cuDNN 9旧环境会直接报错加载失败。正确做法CUDA 11 执行 pip install --force-reinstall ctranslate23.24.0CUDA 12 但 cuDNN 8 则装 4.4.0。[!WARNING] GPU 启动时报 cuDNN、cuBLAS 相关错误先核对这三者的版本组合而不是怀疑音频文件有问题。坑三默认都用最大的模型。large-v3 需要 8GB 以上显存速度也最慢。正确做法日常转写用 base 或 small 加 int8确认精度不够、硬件也富余时再上 large-v3。常见问题 ❓问题原因解决方法首次运行卡在模型下载默认从 Hugging Face Hub 拉取模型提前把模型下载到 ~/.cache/huggingface或调用 download_model 指定 output_dir 保存到本地GPU 模式报 CUDA 或 cuDNN 错误ctranslate2 版本与 CUDA/cuDNN 不匹配CUDA 12 cuDNN 9 用最新版CUDA 11 降级 ctranslate23.24.0显存不足OOM模型过大或精度太高换 int8WhisperModel(small, devicecuda, compute_typeint8_float16)中文转写效果不如英文未指定语言自动检测偶尔偏差转写时显式传 languagezhCPU 上处理速度慢未开量化和批量推理compute_type 用 int8长音频用批量推理可用 OMP_NUM_THREADS 控制线程数现在就可以开始的行动清单 ✅检查 Python 版本不低于 3.9执行 pip install faster-whisper 完成安装。准备一段 1 到 2 分钟的 mp3 音频放在当前目录。把快速上手一节的最小示例保存运行确认能输出带时间戳的文本。有 NVIDIA 显卡的话把 device 改成 cuda、compute_type 改成 float16对比一次耗时差异。打开你的电脑把示例里的 audio.mp3 换成一份真实的会议录音运行——你的第一份转写稿 1 分钟内就能出。【免费下载链接】faster-whisperFaster Whisper transcription with CTranslate2项目地址: https://gitcode.com/GitHub_Trending/fa/faster-whisper创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表