Whisper.cpp是OpenAI Whisper自动语音识别(ASR)模型的高性能C/C++移植版本。该项目将原本基于Python的Whisper模型重新实现为纯C/C++代码,实现了无依赖、高效率的语音识别功能,特别适合在资源受限的环境和嵌入式设备上运行。
模型 | 磁盘大小 | 内存占用 | 推理速度 | 准确率 |
---|---|---|---|---|
tiny | 75 MiB | ~273 MB | 最快 | 基础 |
base | 142 MiB | ~388 MB | 快 | 良好 |
small | 466 MiB | ~852 MB | 中等 | 很好 |
medium | 1.5 GiB | ~2.1 GB | 较慢 | 优秀 |
large | 2.9 GiB | ~3.9 GB | 慢 | 最佳 |
# 克隆项目
git clone https://github.com/ggml-org/whisper.cpp.git
cd whisper.cpp
# 编译项目
cmake -B build
cmake --build build --config Release
# 下载模型
./models/download-ggml-model.sh base.en
# 转录音频
./build/bin/whisper-cli -f samples/jfk.wav -m models/ggml-base.en.bin
# 下载模型
docker run -it --rm -v $(pwd)/models:/models \
ghcr.io/ggml-org/whisper.cpp:main \
"./models/download-ggml-model.sh base /models"
# 转录音频
docker run -it --rm \
-v $(pwd)/models:/models \
-v $(pwd)/audio:/audio \
ghcr.io/ggml-org/whisper.cpp:main \
"whisper-cli -m /models/ggml-base.bin -f /audio/sample.wav"
Whisper.cpp是一个极其优秀的语音识别解决方案,它成功地将OpenAI的Whisper模型移植到了C/C++平台,实现了高性能、低资源消耗和广泛的平台兼容性。无论是用于移动应用开发、嵌入式系统、还是大规模服务器部署,whisper.cpp都能提供可靠、高效的语音识别能力。
该项目特别适合以下场景: