AX 爱鲜报

whisper.cpp

OpenAI Whisper 语音识别模型的纯 C/C++ 高性能推理实现,无第三方依赖,支持 CPU 与多种 GPU/NPU 加速,可在 Mac、iOS、Android、Linux、Windows、树莓派与 WebAssembly 上离线运行。

过去 7 天收获 2 颗 Star

爱鲜报评分

0.0

0 人评分

55k

星数

否

中文

C++

主语言

是

活跃

1098

贡献者

人工分析

EDITORIAL

推荐理由

把 Whisper 从 Python 生态搬到 C/C++,让语音转文字可以零依赖地嵌入桌面、移动端和嵌入式设备,是本地 ASR 落地的首选方案之一。项目由 ggml 团队维护,5.4 万 Star、生态成熟,配套 CLI、示例与多语言绑定齐全。对需要离线、隐私敏感或低延迟语音识别的团队,值得优先评估。

适用场景

  • 本地离线语音转文字
  • 移动端/嵌入式端侧 ASR
  • 会议录音与字幕生成
  • 语音助手与命令词识别
  • 长音频批量转写流水线

优点

  • 纯 C/C++ 实现,无第三方依赖,集成成本低
  • 跨平台覆盖广:macOS/iOS/Android/Linux/Windows/WASM/树莓派
  • 支持 Metal、Core ML、CUDA、Vulkan、ROCm、OpenVINO 等多种加速后端
  • 支持整数量化,模型体积与内存占用可大幅压缩
  • 提供 C 风格 API 与多语言绑定,示例丰富
  • MIT 协议,商用友好

缺点

  • CLI 示例仅接受 16kHz 单声道 16bit WAV,需先用 ffmpeg 转码
  • 模型文件需单独下载,首次使用有额外准备步骤
  • 不同硬件后端编译参数不同,调优需要一定经验
  • 大模型(large)内存占用较高,低配设备需量化或选小模型
上手难度 进阶

项目简介

whisper.cpp 是 OpenAI Whisper 自动语音识别(ASR)模型的 C/C++ 高性能推理实现。它把原本依赖 PyTorch 的模型移植到轻量级 C/C++ 运行时,使语音转文字可以离线运行在从手机到服务器的各类设备上。

模型的高层实现集中在 whisper.h 与 whisper.cpp,底层张量计算由同团队的 ggml 机器学习库提供。

核心特性

  • 零依赖:纯 C/C++ 实现,不引入 Python 运行时
  • 多平台:macOS、iOS、Android、Linux、FreeBSD、Windows、WebAssembly、树莓派、Docker
  • 多硬件加速:Apple Silicon(NEON / Accelerate / Metal / Core ML)、x86 AVX、POWER VSX、NVIDIA CUDA、Vulkan、AMD ROCm、OpenVINO、昇腾 NPU 等
  • 量化支持:可将模型量化为 Q5_0 等整型格式,显著降低内存与磁盘占用
  • 运行时零内存分配,适合对实时性有要求的场景
  • 内置 VAD(语音活动检测),便于处理长音频
  • C 风格 API,并提供 Java、.NET、Node.js 等绑定

快速上手

克隆仓库并下载 ggml 格式模型:

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

使用 CMake 构建并转写音频:

cmake -B build
cmake --build build -j --config Release
./build/bin/whisper-cli -f samples/jfk.wav

注意 CLI 示例只接受 16kHz 单声道 16bit WAV,其他格式可先用 ffmpeg 转换:

ffmpeg -i input.mp3 -ar 16000 -ac 1 -c:a pcm_s16le output.wav

模型与资源占用

模型 磁盘 内存
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

资源受限的设备可优先选择 tiny/base 或使用量化模型。

量化示例

./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

适用建议

如果目标是构建离线、隐私友好的语音转写能力,或需要把 ASR 嵌入移动端与嵌入式设备,whisper.cpp 是目前最成熟的方案之一。初次接入建议先用 base.en 跑通流程,再根据硬件选择加速后端与量化等级。

评论

登录后才可评论与评分

0 条评论

  • 暂无评论,来写第一条吧。