whatisgithub

What is whisper.cpp?

ggml-org/whisper.cpp — explained in plain English

Analysis updated 2026-06-20

49,440C++Audience · developerComplexity · 3/5Setup · moderate

In one sentence

Offline speech-to-text tool that runs OpenAI's Whisper model in pure C and C++, so you can transcribe audio on almost any device, desktop GPU, Raspberry Pi, or iPhone, without cloud services.

Mindmap

mindmap
  root((repo))
    What it does
      Audio to text
      Offline transcription
      Subtitle generation
      Voice commands
    Platforms
      Apple Silicon Metal
      NVIDIA CUDA
      Raspberry Pi
      WebAssembly browser
    Tech Stack
      C and C++
      CMake
      ggml format models
    Who uses it
      Developers
      Privacy-focused users
      Embedded engineers
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Transcribe audio recordings to text entirely offline on your laptop, phone, or embedded device.

USE CASE 2

Embed speech recognition into a non-Python app like a C++ desktop application or mobile game.

USE CASE 3

Generate subtitle files from video recordings without sending audio to any cloud service.

USE CASE 4

Build a voice command interface for a resource-constrained device like a Raspberry Pi.

What is it built with?

CC++CMakeCUDAMetalWebAssembly

How does it compare?

ggml-org/whisper.cppnlohmann/jsonx64dbg/x64dbg
Stars49,44049,58848,291
LanguageC++C++C++
Setup difficultymoderateeasymoderate
Complexity3/52/54/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Requires CMake to build from source and a manual model file download, GPU acceleration needs platform-specific setup.

So what is it?

whisper.cpp is a C and C++ port of OpenAI's Whisper speech recognition model, which converts spoken audio into text. The original Whisper model was released by OpenAI as a Python implementation, which is convenient but requires Python, PyTorch, and significant dependencies to run. This project reimplements the same model inference from scratch in pure C and C++, making it possible to run speech-to-text conversion on almost any device without heavy software dependencies. The core innovation is that the same model can now run efficiently on devices ranging from a desktop GPU down to a Raspberry Pi, an iPhone, or an Android device, entirely offline without sending audio to a server. It achieves this through platform-specific optimizations: on Apple Silicon Macs and iPhones it uses Apple's Metal GPU acceleration and Core ML framework, on NVIDIA GPUs it uses CUDA, on x86 CPUs it uses AVX instructions, and it even supports WebAssembly for running in a browser. The models come in several sizes from tiny to large, trading off accuracy against memory usage and speed. You download a model file in the ggml format, build the project with CMake, and then pass it an audio file to get a transcript. You would use whisper.cpp when you need offline, on-device speech-to-text transcription without cloud services, when you want to embed Whisper into a non-Python application, or when you need to run it on a resource-constrained device. Common applications include transcribing recordings, building voice command interfaces, and generating subtitles. The tech stack is C and C++ with no mandatory external dependencies, built using CMake, with optional hardware-acceleration backends for Apple, NVIDIA, and Vulkan.

Copy-paste prompts

Prompt 1
Using whisper.cpp, show me the CMake build commands and the CLI command to transcribe an MP3 file called recording.mp3 using the small model.
Prompt 2
Write a C++ program using the whisper.cpp API that loads the base model, opens an audio file, and prints the transcription to stdout.
Prompt 3
Help me set up whisper.cpp with Metal acceleration on an Apple Silicon Mac, including which model size to download and how to run it.
Prompt 4
What whisper.cpp model size should I use on a device with only 2GB RAM, and how do I download and run it from the command line?
Prompt 5
Write a shell script that uses whisper.cpp to batch-transcribe all .wav files in a folder and save each transcript as a .txt file with the same name.

Frequently asked questions

What is whisper.cpp?

Offline speech-to-text tool that runs OpenAI's Whisper model in pure C and C++, so you can transcribe audio on almost any device, desktop GPU, Raspberry Pi, or iPhone, without cloud services.

What language is whisper.cpp written in?

Mainly C++. The stack also includes C, C++, CMake.

How hard is whisper.cpp to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is whisper.cpp for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.