whisper.cpp
whisper.cpp 是 OpenAI Whisper 自动语音识别模型的 C/C++ 移植版,以无依赖、高性能推理为目标,支持 CPU 以及 Apple Silicon、NVIDIA、AMD、Vulkan、OpenVINO、Ascend NPU、Moore Threads 等多种硬件加速后端。
访问 ggml-org/whisper.cpp项目简介
whisper.cpp 以纯 C/C++ 实现 OpenAI Whisper 自动语音识别模型的高性能推理。实现轻量,便于集成到不同平台和应用中,支持纯 CPU 推理,并可在 Apple Silicon、NVIDIA GPU、AMD GPU、Vulkan、OpenVINO、Ascend NPU、Moore Threads GPU 等目标上加速。
核心功能
- 纯 C/C++ 实现,无依赖。Apple Silicon 优化:ARM NEON、Accelerate 框架、Metal 和 Core ML。x86 的 AVX 指令集、POWER 的 VSX 指令集、F16/F32 混合精度。支持整数量化。支持纯 CPU 推理,以及 CUDA、ROCm、Vulkan、OpenVINO、CANN、MUSA 等后端加速。提供 C 风格 API 和语音活动检测(VAD)。
适用场景
- 在 iOS、Android、WebAssembly、Raspberry Pi 和桌面系统等平台上进行端侧、离线语音识别。从麦克风实时转写音频。构建离线语音助手应用。转写音频并生成时间戳、词级时间戳、说话人分割以及卡拉 OK 风格影片。
快速开始
- 克隆 whisper.cpp 仓库。下载转换为 ggml 格式的 Whisper 模型,例如运行 sh ./models/download-ggml-model.sh base.en。使用 cmake -B build 和 cmake --build build -j --config Release 构建项目。使用 ./build/bin/whisper-cli -f samples/jfk.wav 转写 16 位 WAV 文件。快速演示可运行 make base.en。
部署与要求
- 使用 CMake 构建项目。需要转换为自定义 ggml 格式的 Whisper 模型。whisper-cli 示例目前仅支持 16 位 WAV 文件,因此可能需要用 ffmpeg 等工具转换输入。可选加速后端有各自的依赖,例如 CUDA、Vulkan、ROCm、OpenVINO、CANN、MUSA、Core ML 和 ANEForge。提供用于 CPU、CUDA、MUSA 和 Vulkan 配置的 Docker 镜像。
采用前须知
- 许可证:MIT。在使用、修改或分发项目前,请确认其具体条款。
