A faster reimplementation of OpenAI's Whisper speech-to-text model on the CTranslate2 inference engine, with lower memory use and 8-bit quantization.
ggml-org/whisper.cpp
C/C++ port of OpenAI's Whisper speech recognition model for fast, offline, dependency-free speech-to-text on CPU and GPU.
Open-source alternative to:Otter.ai
Google Cloud Speech-to-Text
- Stars
- 54,500
- Forks
- 6,271
- Open issues
- 353
- Last commit
- yesterday
What is it?
whisper.cpp is a plain C/C++ implementation of OpenAI's Whisper automatic speech recognition model. It runs transcription locally without Python or heavy runtime dependencies, which makes it practical to embed in desktop, mobile, and embedded applications.
The project covers many hardware backends, including Apple Silicon through Metal and Core ML, NVIDIA via CUDA, AMD via HIP/ROCm, and Vulkan, plus AVX, ARM NEON, OpenBLAS, OpenVINO, and several NPUs. Models are stored in a custom ggml format, and integer quantization is available to reduce memory and disk use. Voice activity detection can be enabled to skip silent portions before transcription.
Beyond the whisper-cli tool, the repository includes an HTTP server with an OpenAI-style API, a real-time microphone streaming example, and bindings for languages such as Rust, Go, Ruby, JavaScript, and .NET. It also builds to WebAssembly and runs on iOS, Android, and Raspberry Pi.
Key features
- 01Runs fully offline in plain C/C++ with no required dependencies.
- 02Accelerates inference on Metal, Core ML, CUDA, Vulkan, HIP/ROCm, and OpenVINO backends.
- 03Supports integer quantization to shrink model size and memory use.
- 04Includes voice activity detection to process only speech segments.
- 05Provides an HTTP server, real-time streaming, and language bindings.
Use cases
- Adding offline speech-to-text to a desktop or mobile app without a cloud API.
- Transcribing audio files from the command line or in batch scripts.
- Running a self-hosted transcription endpoint on a local GPU or CPU server.
- Building a voice command or assistant on an embedded device such as a Raspberry Pi.
Quick start
- 1
Clone the repository
git clone https://github.com/ggml-org/whisper.cpp.git - 2
Enter the project directory
cd whisper.cpp - 3
Download a base.en model
sh ./models/download-ggml-model.sh base.en - 4
Build whisper-cli and transcribe a sample file
cmake -B build && cmake --build build -j --config Release && ./build/bin/whisper-cli -f samples/jfk.wav
Things to know
- The whisper-cli example only accepts 16-bit WAV files, so other formats must be converted first, for example with ffmpeg.
- Some accelerated paths such as Core ML, OpenVINO and the AMD NPU require extra setup and specific hardware.
Topics
FAQ
- What is whisper.cpp?
- C/C++ port of OpenAI's Whisper speech recognition model for fast, offline, dependency-free speech-to-text on CPU and GPU. whisper.cpp is a plain C/C++ implementation of OpenAI's Whisper automatic speech recognition model. It runs transcription locally without Python or heavy runtime dependencies, which makes it practical to embed in desktop, mobile, and embedded applications.
- Is whisper.cpp free to use? What license does it have?
- whisper.cpp is open source under the MIT license. Check the license terms before using it in commercial products.
- Is whisper.cpp still maintained?
- Actively maintained. The last commit to whisper.cpp was on Oct 19, 2026.
- What can I use whisper.cpp for?
- Adding offline speech-to-text to a desktop or mobile app without a cloud API. Transcribing audio files from the command line or in batch scripts. Running a self-hosted transcription endpoint on a local GPU or CPU server. Building a voice command or assistant on an embedded device such as a Raspberry Pi.
- How do I install whisper.cpp?
- Clone the repository: git clone https://github.com/ggml-org/whisper.cpp.git Enter the project directory: cd whisper.cpp Download a base.en model: sh ./models/download-ggml-model.sh base.en Build whisper-cli and transcribe a sample file: cmake -B build && cmake --build build -j --config Release && ./build/bin/whisper-cli -f samples/jfk.wav
- Where can I get whisper.cpp?
- The source code and installation instructions are on GitHub: https://github.com/ggml-org/whisper.cpp
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Desktop app that transcribes audio and video fully offline on your own device, using Whisper and other speech models.
Open-source speech-to-text built on Whisper that adds word-level timestamps via forced alignment and optional speaker diarization.
Desktop app that transcribes and translates audio and video offline on your computer, built on OpenAI's Whisper.
Local-first AI subtitle generator that runs offline and plugs into DaVinci Resolve, Premiere Pro and After Effects.
Open-source, local-first AI dictation app that turns speech into text on macOS and Windows, working offline with Whisper.