whisper.cpp · GGML models
GGML Whisper model files
Direct download links for all ggml-*.bin files from the official
ggerganov/whisper.cpp HuggingFace repository.
These are not pip packages — they are binary model weights for whisper.cpp, the C++ port of OpenAI Whisper.
.bin files are GGML tensor weights, not Python packages.
You place them in a directory and point whisper.cpp (or any app using it) at the file path.
There is no pip install ggml-base.
| Model | File | Size | WER (EN) | RTF (CPU) | Best for |
|---|---|---|---|---|---|
| tiny | ggml-tiny.bin | 75 MB | ~10% | ~0.05× | Fastest. For real-time dictation on CPU or low-end hardware. |
| tiny.en | ggml-tiny.en.bin | 75 MB | ~8% | ~0.05× | English-only version of tiny. Slightly more accurate than multilingual tiny for EN. |
| base | ggml-base.bin | 142 MB | ~7% | ~0.1× | Good balance of speed and accuracy on CPU. Default in many apps including SnailText. |
| base.en | ggml-base.en.bin | 142 MB | ~6% | ~0.1× | English-only base. Best choice for English dictation without GPU. |
| small | ggml-small.bin | 466 MB | ~5% | ~0.3× | Noticeably better accuracy. Still manageable on CPU; faster with GPU. |
| small.en | ggml-small.en.bin | 466 MB | ~4% | ~0.3× | English-only small. Recommended for English-only use on mid-range hardware. |
| medium | ggml-medium.bin | 1.5 GB | ~3% | ~1× | High accuracy. Needs GPU (Vulkan/Metal/CUDA) for real-time use. Good for batch. |
| medium.en | ggml-medium.en.bin | 1.5 GB | ~2.5% | ~1× | English-only medium. Best accuracy without the full large-v3 weight. |
| large-v2 | ggml-large-v2.bin | 2.9 GB | ~2.2% | ~2× | Near-best accuracy. Requires GPU with 4+ GB VRAM for real-time. |
| large-v3 | ggml-large-v3.bin | 2.9 GB | ~2.0% | ~2× | Best multilingual accuracy. GPU required. Default Pro model in SnailText. |
| large-v3-turbo | ggml-large-v3-turbo.bin | 1.5 GB | ~2.1% | ~0.7× | Distilled large-v3. Near large-v3 quality at medium speed. Best overall value. |
Download via wget or curl
Replace ggml-base.bin with whichever file you need.
Downloads go directly from HuggingFace — no account required.
wget
wget https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-base.bin curl
curl -L -o ggml-base.bin \
https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-base.bin Python (requests)
import requests, pathlib
url = "https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-base.bin"
out = pathlib.Path("ggml-base.bin")
with requests.get(url, stream=True) as r:
r.raise_for_status()
with out.open("wb") as f:
for chunk in r.iter_content(chunk_size=8192):
f.write(chunk) Which model should you use?
For real-time dictation on CPU — start with ggml-base.en.bin (English) or ggml-base.bin (multilingual).
It is 142 MB, transcribes in roughly 0.1× real time on a modern CPU, and accuracy is good enough for everyday dictation.
For highest accuracy with a GPU — use ggml-large-v3-turbo.bin.
It is a distilled version of large-v3 at half the compute cost — near-identical accuracy for most use cases, real-time on a mid-range GPU (RTX 3060, M1 Pro, or similar).
For batch transcription on CPU — ggml-small.bin or ggml-medium.bin are good choices if latency is not a concern.
English-only vs multilingual — the .en variants are 5-10% more accurate for English and slightly faster.
Use them if you only dictate in English.
Quantized variants (Q5, Q8)
The HuggingFace repository also includes quantized variants like
ggml-large-v3-q5_0.bin (1.1 GB vs 2.9 GB for full precision).
These trade a small accuracy penalty for significantly smaller file size and faster CPU inference.
They are available in the same repository under the same naming pattern.
wget https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-large-v3-q5_0.bin Frequently asked questions
Is ggml-base.bin a pip package?
No. There is no pip package called ggml-base.
The ggml-*.bin files are binary model weight files in the GGML tensor format.
You download them with wget/curl and reference their path in your whisper.cpp configuration. The Python package for Whisper from OpenAI is openai-whisper, which downloads its own model files separately.
Why is there no npm or pip install for these models?
Package managers like pip and npm are designed for code, not multi-gigabyte binary weight files. GGML models are distributed as direct file downloads from HuggingFace, which handles large-file hosting with resumable downloads and CDN delivery.
What is the difference between ggml-base.bin and ggml-base.en.bin?
ggml-base.bin is the multilingual model — it handles 99 languages.
ggml-base.en.bin is fine-tuned exclusively on English data.
The English-only version is slightly more accurate for English and about 10% faster, because it skips the language-detection head.
Use the multilingual version if you switch languages; use the English-only version if you only ever dictate in English.
Do I need a GPU to use these models?
No. All GGML Whisper models run on CPU. The smaller models (tiny, base, small) are fast enough for real-time dictation on a modern CPU. Large models (medium, large-v3) are slow on CPU — expect 2-5× slower than real time — so a GPU (Vulkan on Windows, Metal on Mac, CUDA on NVIDIA) is recommended for those. See the GPU requirements guide for benchmark numbers.
How does SnailText use these model files?
SnailText downloads GGML model files automatically when you select a model in Settings.
The files are stored in your app data directory and used locally — no audio is uploaded to any server.
You can also place a manually-downloaded .bin file in the models folder if you prefer.
Download SnailText for Mac or Windows to get started.
Want voice dictation without the setup?
SnailText downloads and manages GGML model files for you. Press a hotkey, speak, text appears at your cursor — offline, on your device.
Download free for Mac or Windows