5分钟跑通本地语音识别:whisper.cpp 从单个音频文件到实时麦克风
5分钟跑通本地语音识别whisper.cpp 从单个音频文件到实时麦克风【免费下载链接】whisper.cppPort of OpenAIs Whisper model in C/C项目地址: https://gitcode.com/GitHub_Trending/wh/whisper.cppwhisper.cpp 是 OpenAI Whisper 语音识别模型的纯 C/C 移植版让你在本机完全离线地完成语音转文字。这篇文章写给想在自己机器上部署语音识别的开发者跟着读完你能完成模型下载、编译构建、文件转写和实时流式识别并知道怎么按设备选模型、开硬件加速。它解决什么问题大部分开源语音识别方案要么依赖 Python 生态、环境又重又难装要么必须调用云端 API、音频要离开本机。whisper.cpp 用纯 C/C 重写同一套 Whisper 模型运行时零外部依赖编译后就是一个可以直接跑的可执行文件天然适合离线场景。它覆盖 macOS、Linux、Windows、iOS、Android、WebAssembly 等平台并附带 C、Go、Java、Ruby 等语言绑定C 风格接口集中在 include/whisper.h 一个头文件里方便嵌入自己的项目。最短路径跑起来在终端依次执行下面的命令每一步后面都标注了作用git clone https://gitcode.com/GitHub_Trending/wh/whisper.cpp # 拉取代码 cd whisper.cpp # 进入项目目录 sh ./models/download-ggml-model.sh base.en # 下载约 142MB 的英文模型 cmake -B build # 生成构建脚本 cmake --build build --config Release # 编译出全部示例工具 ./build/bin/whisper-cli -f samples/jfk.wav # 转写仓库自带的示例音频如果最后一条命令输出了带时间戳的英文文本说明链路已经通了。赶时间的话make base.en一条命令可以替代中间几步下载模型、编译并对samples/下所有 wav 跑一遍转写。核心能力速览先跑通实时流麦克风持续转写whisper-stream工具每 500 毫秒采样一次麦克风并持续输出转写结果做语音助手、实时字幕的原型验证就靠它cmake -B build -DWHISPER_SDL2ON # 开启 SDL2 以获取麦克风输入 cmake --build build --config Release ./build/bin/whisper-stream -m ./models/ggml-base.en.bin -t 8 --step 500 --length 5000把它当作麦克风输入版的 whisper-cli来理解即可滑窗模式与 VAD 语音活动检测的细节可以看 examples/stream/README.md。按内存和精度预算挑模型模型越大识别越准但吃内存。base.en约 142MB内存占用约 388MB是精度和资源的平衡点推荐作为起点sh ./models/download-ggml-model.sh tiny.en sh ./models/download-ggml-model.sh small.en各档位的磁盘与内存占用tiny 75MiB/约273MBbase 142MiB/约388MBsmall 466MiB/约852MBmedium 1.5GiB/约2.1GBlarge 2.9GiB/约3.9GB完整清单见 models/README.md。带.en后缀的只识别英文但更准不带后缀的多语言模型适合需要中英混读的场景。用整数量化压缩模型体积量化把模型权重压成整数磁盘和内存占用都更小在部分硬件上推理还更快。两条命令完成转换和使用./build/bin/quantize models/ggml-base.en.bin models/ggml-base.en-q5_0.bin q5_0 ./build/bin/whisper-cli -m models/ggml-base.en-q5_0.bin -f samples/jfk.wav内存紧张的设备比如只有 4GB 内存的服务器上这一步基本是必做项。调优与配置音频与加速相关的常用开关每条配一句说明ffmpeg -i input.mp3 -ar 16000 -ac 1 -c:a pcm_s16le output.wav——whisper-cli目前只读 16 位 WAV其他格式先转一下。cmake -B build -DGGML_CUDA1—— 有 NVIDIA 显卡时开启 CUDA 加速编译前需装好 CUDA。cmake -B build -DGGML_VULKAN1—— 跨显卡厂商的通用 GPU 加速方案AMD、Intel 显卡可优先考虑。cmake -B build -DWHISPER_COREML1—— Apple 设备上把编码器交给 ANE 神经引擎官方称比纯 CPU 快 3 倍以上。cmake -B build -DGGML_BLAS1—— 没有 GPU 时用 OpenBLAS 加速 CPU 上的编码器计算。加速开关都是在首次cmake -B build时带上对应的-D参数改完参数需要重新编译。踩坑速查现象可能原因解法加载音频报错或没输出输入不是 16 位单声道 WAV先用上面的 ffmpeg 命令转码第一次运行特别慢模型首次加载Core ML/OpenVINO 首次会编译模型正常现象第二次运行即恢复速度进程崩溃或内存不足模型规格超出机器内存换更小模型或使用量化版转写速度太慢纯 CPU 跑大模型换 small 及以下模型或开启 CUDA/Vulkan 加速找不到 whisper-stream 可执行文件编译时没开 SDL2重新构建并加-DWHISPER_SDL2ON收尾这套组合适合三类人需要在内网或离线环境做语音转文字的开发者、想在树莓派或手机上跑语音功能的工程师以及想给自己的桌面应用加转写功能的独立开发者。进阶方向如说话人分割、卡拉OK式字幕视频等仓库的 examples 目录里都有现成示例可参考。现在就可以执行上面的 6 条命令5 分钟后你手上会有一个能离线转写音频的本地工具。【免费下载链接】whisper.cppPort of OpenAIs Whisper model in C/C项目地址: https://gitcode.com/GitHub_Trending/wh/whisper.cpp创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
上一篇/下一篇内容由系统自动关联
返回资讯列表 →