whisper.cpp - 高性能Whisper语音识别推理

文章目录


一、关于 whisper.cpp

1、项目概览

whisper.cpp 是 OpenAI Whisper 自动语音识别(ASR)模型的高性能推理实现,具有以下技术特性:

  • 纯C/C++实现,无外部依赖
  • 针对Apple Silicon优化(ARM NEON/Accelerate/Metal/Core ML)
  • 支持x86架构的AVX指令集
  • 支持POWER架构的VSX指令集
  • 混合F16/F32精度
  • 支持整数量化
  • 运行时零内存分配
  • 支持Vulkan/NVIDIA GPU加速
  • 支持CPU-only推理
  • 提供C风格API
  • 支持语音活动检测(VAD)

2、相关链接资源


3、功能特性

  1. 多平台支持
    • Mac OS (Intel/Apple Silicon)
    • iOS/Android
    • Linux/Windows/FreeBSD
    • WebAssembly/Raspberry Pi
  2. 硬件加速支持
    • Apple Neural Engine (Core ML)
    • NVIDIA CUDA
    • Vulkan跨平台GPU加速
    • OpenBLAS CPU加速
    • Ascend NPU支持
  3. 高级功能
    • 实时音频输入处理
    • 置信度颜色标注
    • 词级时间戳
    • 说话人分离
    • 卡拉OK式视频生成

二、安装配置

git clone https://github.com/ggml-org/whisper.cpp.git cd whisper.cpp sh ./models/download-ggml-model.sh base.en cmake -B build cmake --build build --config Release 

三、使用示例

1、基础转录

./build/bin/whisper-cli -f samples/jfk.wav 

2、实时音频处理

./build/bin/whisper-stream -m ./models/ggml-base.en.bin -t 8 --step 500 --length 5000

3、量化模型使用

./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 ./samples/gb0.wav 

四、高级功能

1、Core ML加速(Mac)

./models/generate-coreml-model.sh base.en cmake -B build -DWHISPER_COREML=1 cmake --build build -j --config Release 

2、OpenVINO加速

python convert-whisper-to-openvino.py --model base.en cmake -B build -DWHISPER_OPENVINO=1 cmake --build build -j --config Release 

3、NVIDIA CUDA加速

cmake -B build -DGGML_CUDA=1 cmake --build build -j --config Release 

五、性能参考

模型磁盘占用内存占用
tiny75 MiB~273 MB
base142 MiB~388 MB
large2.9 GiB~3.9 GB

六、扩展支持

1、Docker使用

docker run -it --rm \ -v path/to/models:/models \ whisper.cpp:main "whisper-cli -m /models/ggml-base.bin -f ./samples/jfk.wav"

2、语言绑定

  • Python/Rust/Go/Java/Ruby/.NET等
  • iOS(Swift)/Android(Java)移动端支持

七、注意事项

  1. 当前仅支持16-bit WAV音频输入
  2. 首次运行Core ML/OpenVINO需要编译时间
  3. 实时处理需要SDL2库支持

伊织 xAI 2025-05-18(日)

Could not load content