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 都能提供可靠、高效的語音識別能力。
該項目特別適合以下場景: