SnailText
EN

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.

Not a pip install. These .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 CPUggml-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
```