ggml-org/whisper.cpp
Port of OpenAI's Whisper model in C/C++
What it solves
whisper.cpp is a high-performance, lightweight implementation of OpenAI's Whisper automatic speech recognition (ASR) model. It enables efficient, offline, on-device transcription of audio to text across a vast array of hardware platforms without requiring heavy dependencies.
How it works
Built in plain C/C++, the project uses the ggml machine learning library to handle inference. It optimizes performance through hardware-specific intrinsics (like ARM NEON and AVX) and supports a wide range of accelerators, including NVIDIA GPUs (CUDA), AMD GPUs (ROCm/HIP), Vulkan, Apple Silicon (Metal/Core ML), and various NPUs (AMD Ryzen AI, Ascend, OpenVINO). It also supports integer quantization to reduce memory and disk usage.
Who it’s for
It is designed for developers who want to integrate high-quality speech-to-text capabilities into applications that must run locally, offline, or on resource-constrained devices like iPhones, Android phones, Raspberry Pi, and WebAssembly environments.
Highlights
- Zero-dependency C/C++ implementation: Easy to port and integrate into existing software.
- Broad Hardware Acceleration: Native support for CUDA, ROCm, Metal, Vulkan, and multiple NPU architectures.
- Extreme Portability: Runs on macOS, iOS, Android, Linux, Windows, FreeBSD, and WebAssembly.
- Memory Efficient: Supports integer quantization and zero memory allocations at runtime.
Related
- Project
openai/whisperWhisper is OpenAI’s open‑source, transformer‑based speech‑to‑text system that handles transcription, language identification, and translation across many languages. It ships as a pip‑installable package with six model sizes (tiny → large, plus a fast “turbo” variant). The CLI (`whisper …`) and a simple Python API (`whisper.load_model(...).transcribe(...)`) let you turn audio files into text with just a few commands. The project runs on Python 3.8‑3.11, PyTorch, and requires ffmpeg (and optionally Rust for the tokenizer). All code and model weights are MIT‑licensed.
- Project
sandrohanea/whisper.netDotnet bindings for OpenAI Whisper via whisper.cpp, enabling high-performance speech-to-text transcription and translation in .NET applications.
- Project
0xShug0/audio.cppaudio.cpp is a native C++ inference framework (built on ggml) for a wide range of local audio models—TTS, voice cloning, ASR, diarisation, source‑separation, music generation, etc. It runs on CPU and GPU (CUDA, AMD, Apple Silicon) via a single binary, supports fast GGUF‑quantised models, offers batch and streaming modes, and includes a Web UI for side‑by‑side model comparison. The project is actively maintained, open‑source, and aimed at real‑world deployment.
- Project
OpenWhispr/openwhisprOpenWhispr is a cross‑platform (macOS/Windows/Linux) open‑source desktop app that provides privacy‑first voice‑to‑text dictation, meeting transcription with speaker diarization, and an AI‑assistant interface. It can run entirely offline using local Whisper‑based models or connect to cloud services, and includes note‑taking, semantic search, team sharing, and an extensible public API.
- Project
mybigday/whisper.rnReact Native bindings for whisper.cpp, enabling on-device speech-to-text using Whisper and NVIDIA Parakeet models on iOS and Android.