ARTICLE DETAIL

资讯详情

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

离线语音识别 | 本地跑通 Whisper.cpp 只需 5 分钟

离线语音识别 | 本地跑通 Whisper.cpp 只需 5 分钟 离线语音识别 | 本地跑通 Whisper.cpp 只需 5 分钟【免费下载链接】whisper.cppPort of OpenAIs Whisper model in C/C项目地址: https://gitcode.com/GitHub_Trending/wh/whisper.cppWhisper.cpp 是 OpenAI Whisper 语音识别模型的 C/C 移植版一个完全无网络的推理引擎不依赖云端、不收费、音频数据不出本机。三条命令就能跑起本地语音转文字。为什么要把语音识别放到本地把音频交给云端 API 有三个实际问题数据落在第三方服务器医疗、法务、企业内部等敏感场景无法过隐私这一关车机、工厂、断网会议这类无网络环境云端服务直接失效API 按音频时长计费批量转写时成本不可控。Whisper.cpp 的定位一句话讲清纯 C/C、零第三方依赖同一份代码能在 macOS、Linux、Windows、Android 上编译运行甚至可以通过 WebAssembly 跑在浏览器里让任意设备都能做离线语音识别。 5 分钟跑通第一个离线语音识别第一步环境准备只需要一个编译器和 CMake3.14 以上不用安装任何额外依赖。克隆仓库git clone https://gitcode.com/GitHub_Trending/wh/whisper.cpp cd whisper.cpp第二步拉取与编译Makefile 已经把「下载模型 编译 运行」的流程打包好了一行命令全部完成make base.en它会下载 base.en 模型约 142 MiB编译整个项目并对samples/里的示例音频跑一次推理。如果打算开启 CUDA、Vulkan 等加速改用cmake -B build cmake --build build --config Release手动编译模型单独用 models/download-ggml-model.sh 脚本下载。第三步跑第一个样例对仓库自带的肯尼迪演讲片段做转写./build/bin/whisper-cli -f samples/jfk.wav -m models/ggml-base.en.bin输出是一段 11 秒的经典台词带时间戳逐行打印And so my fellow Americans, ask not what your country can do for you, ask what you can do for your country.⚙️ 它凭什么快和稳核心推理只有两个文件。模型逻辑全部在include/whisper.h和src/whisper.cpp里张量层是自研的 ggml 库权重、mel 滤波器、词表打包进一个.bin文件推理过程零内存分配。相当于开会前把座位一次分好会中不用排队、没有碎片延迟稳定。按架构做 SIMD 与 GPU 卸载。ggml 自带针对不同芯片的手写内核Apple Silicon 走 NEON、Accelerate 和 Metalx86 走 AVX/AVX2/AVX512Android 有完整的 ARM 优化。Apple Silicon 上推理可以完全在 GPU 上跑再配合 Core ML 放到神经引擎官方标注比纯 CPU 快 3 倍以上。整数量化。支持 q4_0、q5_0 等量化档模型体积缩 60%~70%——large-v3 从 2.9 GiB 压到 1.1 GiB——部分硬件上计算量变小推理速度也随之提升。 按设备选模型档位模型磁盘体积运行内存适用场景tiny.en75 MiB~273 MB树莓派、嵌入式实时优先base.en142 MiB~388 MB通用均衡上手首选medium1.5 GiB~2.1 GB桌面/服务器高精度多语种转写带.en的模型只支持英语需要多语种就用对应不带.en的版本如medium。追求更高精度还有 2.9 GiB 的large-v3空间紧张可换 1.1 GiB 的large-v3-q5_0量化版。️ 踩坑记录与下一步音频格式不对直接报错。whisper-cli只认 16 位、16kHz、单声道 WAV其他格式先转一下ffmpeg -i input.mp3 -ar 16000 -ac 1 -c:a pcm_s16le output.wav线程数与硬件不匹配。用-t设成物理核数即可树莓派这类弱硬件建议-t 3配 tiny 模型甚至-t 1比开满线程更稳。模型太大装不下。编译完执行./build/bin/quantize models/ggml-base.en.bin models/ggml-base.en-q5_0.bin q5_0做量化运行时用-m指定量化后的文件即可。跑通之后别只停留在命令行examples 目录里 examples/stream 是麦克风实时转写examples/command 是能执行语音指令的助手想集成进自己的项目Go、Java、Ruby 等语言绑定在 bindings/go 等目录里都有现成实现。clone 下来跑一遍make base.en5 分钟后你就有一条完全离线、无网络依赖的语音转写流水线。【免费下载链接】whisper.cppPort of OpenAIs Whisper model in C/C项目地址: https://gitcode.com/GitHub_Trending/wh/whisper.cpp创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表