whisper.cpp setup — build, ggml models, quantization, fixes

Build whisper.cpp, download the right ggml model, choose quantization, and fix build failures, Metal/CUDA flags and garbage output.

Setup that works

1

Build

git clone https://github.com/ggml-org/whisper.cpp && cd whisper.cpp && make — Apple Silicon gets Metal automatically; NVIDIA: make GGML_CUDA=1.

2

Model

bash ./models/download-ggml-model.sh base.en — or grab any ggml-*.bin from Hugging Face.

3

Run

./main -m models/ggml-base.en.bin -f audio.wav -osrt — input must be 16 kHz WAV; convert with ffmpeg first.

Skip the setup — paste the file here

Same Whisper-class accuracy, no install, no model downloads, no GPU questions. Speaker labels, word timestamps and every export (TXT, SRT, VTT, DOCX) included. Free instant preview; credits from $2 and they never expire.

Fixing the common errors

Output is garbage/repeated tokens

Nine times out of ten the input isn't 16 kHz mono WAV. ffmpeg -i in.mp3 -ar 16000 -ac 1 out.wav and retry.

Which quantization should I use?

q5_0 is the sane default — ~½ the size of f16 with barely measurable accuracy loss. q4 saves more memory but degrades noticeably on noisy audio.

make fails with CUDA errors

The GGML_CUDA build needs the CUDA toolkit headers matching your driver. On mismatch, build CPU-only — whisper.cpp's CPU path is already fast.

Streaming/live input?

Use the stream example binary — tiny/base models only if you want it to keep up.

Multi-hour file runs out of RAM

Process in chunks with -ot offsets, or use a smaller quantized model — memory scales with model size, not file length, but the transcript buffer grows.

More on whisper.cpp: the full whisper.cpp page · whisper.cpp alternatives · all transcription tools