Tool
whisper.cpp
A C/C++ port of OpenAI’s Whisper models for speech recognition that runs on your machine — CPU or GPU — without sending every recording to a cloud STT API.
What it is
whisper.cpp (maintained under ggml-org; historically associated with Georgi Gerganov’s ggml stack) implements Whisper inference in C/C++ with bindings and examples for CLI use. You convert or download GGML/GGUF-style weights, point the binary at an audio file, and get text out. Faster-Whisper (Python + CTranslate2) is a common alternative if you prefer a Python stack — same model family, different runtime.
What it replaces
For many transcription jobs it replaces paid cloud speech-to-text (OpenAI Whisper API, Google, Azure, etc.) when latency, cost, or privacy matter more than a hosted SLA. It does not replace a production streaming ASR product with speaker diarization polish out of the box — you assemble that yourself — and accuracy still tracks the Whisper model size you load.
License
The whisper.cpp repository is licensed under the MIT License (GitHub license metadata on ggml-org/whisper.cpp). MIT covers the inference code. Whisper model weights carry OpenAI’s model terms; always check the model card for the size you download. MIT on the runner ≠ “do anything” with every checkpoint.
Where it falls over
- Large models need RAM/VRAM; tiny models are fast and worse on noisy audio.
- Real-time streaming and diarization need extra glue — the core is batch-friendly transcription.
- GPU builds vary by platform (CUDA, Metal, Vulkan); “it compiles” is not the same as “it’s fast.”
- Hallucinated phrases on silence/noise still happen — Whisper’s known failure mode.
Who it's for
People who want local, scriptable STT without a Python-heavy stack, or who already live in ggml/llama.cpp land. Python shops often prefer Faster-Whisper; both are honest local options.
Hardware that usually matters
The apps on these pages are free or free-to-use. The recurring cost is usually the machine: VRAM first, then system RAM, then disk for weights. Example Amazon listings skewed toward entry and mid budgets for beginners checking fit — not endorsements; stock and price move constantly.
- GIGABYTE GeForce RTX 3060 Eagle OC 12GB — entry 12 GB VRAM pattern many beginners still use for 7B–13B quantized chat before spending mid-range money.
- GIGABYTE GeForce RTX 4060 Ti AERO OC 16GB — mid 16 GB VRAM path when 12 GB starts feeling tight; still not an honest “70B fully on-GPU” card.
- EVGA GeForce RTX 3090 XC3 Ultra 24GB (Renewed) — older 24 GB class for larger local models / less painful offload; renewed stock and warranties differ from new.
- CORSAIR Vengeance LPX DDR4 32GB (2×16GB) — cheaper system RAM path for older DDR4 boxes when layers spill or you CPU-offload.
- Patriot Viper Venom DDR5 32GB (2×16GB) — DDR5 kit for newer boards; 32 GB is a common “I might spill layers” starting point.
- Samsung 990 EVO Plus 1TB NVMe SSD — entry NVMe for a first model library; step up when pulls fill the drive.
- Samsung 990 PRO 2TB NVMe SSD — default library disk for a mixed set of 7B/13B quants without deleting every Tuesday.
Some links are Amazon Associates. We may earn a commission if you buy.
Related in this cluster
- Aider — terminal coding agent in the same cluster
- ComfyUI — local generative media when VRAM is the bottleneck
- Ollama — local LLM runner if you need text models next
- AnythingLLM — chat over docs after you have transcripts
Verdict
Use whisper.cpp when you want local Whisper without shipping audio to a vendor. Pick the model size for your hardware, read the model terms, and keep a cloud API for the edge cases where quality or ops matter more than privacy.