Methodology
Facts
Every field (license, commercial use, parameters, memory, streaming, cloning, languages) comes from the model's Hugging Face card, its GitHub README, or its LICENSE file, and links to that source. If the source doesn't say, we show Unknown instead of guessing. Release date is the Hugging Face repo creation date unless noted.
Commercial use is Yes when the license permits it (attribution may still be required, e.g. CC-BY-4.0), No for non-commercial licenses, and Conditional when it depends on revenue caps, copyleft (GPL) terms, or contacting the vendor. This is not legal advice. Read the license.
Hardware evidence levels
We sort hardware into six classes: Raspberry Pi 5, CPU-only x86 (N100 mini-PC up to desktop), Apple Silicon Mac, and NVIDIA GPUs with 8, 12–16 and 24+ GB. For each model and class we assign one evidence level:
- Measured by us: we ran it, and the exact machine is printed next to the number.
- Sourced statement: the model authors, or third-party docs like Home Assistant or whisper.cpp, say something specific about that hardware. We quote it, link it and label who said it.
- Fits stated memory: the model's stated memory need is at or below the device's memory. Nobody has published a run on it.
- CPU supported, no device data: CPU inference is documented, but there's nothing about this device.
- Estimate: GPU and Mac classes only. Parameter count × 2 bytes (fp16) + 20% headroom. This is a rough guess that ignores activations, codecs and KV cache.
- Unknown: none of the above.
A /models/<model>/on/<device>/ page exists only for levels 1 and 2. We don't publish thin pages for guesses.
Benchmarks
- RTF (real-time factor) = wall-clock processing time ÷ audio duration. 0.05 means 20× faster than real time. Model load time is reported separately.
- TTS: a fixed 2-sentence English passage (~10–11 s of audio). Time to first audio comes from the model's streaming or sentence API when it has one.
- STT: a 10.1 s English clip synthesized with Piper (en_US-lessac-medium), resampled to 16 kHz, language forced to English, beam size 5 for every runtime. WER against the script is a sanity check on clean synthetic speech, not real-world accuracy.
- Memory: peak resident memory (RSS) of the whole process, sampled every 20 ms, including weights.
- One warm-up run, then the median of 5 runs. One benchmark at a time on the machine.
- Hardware labels are exact. Our CPU numbers so far come from a cloud x86 VM (8 vCPU Intel Xeon, 16 GB RAM, no GPU). That isn't an N100 or a Pi, and those will be slower.
- Runtime versions (2026-10-21): faster-whisper 1.2.1 (CTranslate2 4.8.3, int8), pywhispercpp 1.5.1 (prebuilt whisper.cpp wheel built with AVX2 but not AVX-512, ggml fp16 weights), kokoro-onnx 0.6.1 and piper-tts 1.8.0 (onnxruntime 1.31.0 CPU). A native whisper.cpp build tuned for the CPU may be faster than the wheel.
Accuracy
We don't run accuracy evals. The Hugging Face Open TTS Leaderboard and the Hugging Face Open ASR Leaderboard already do this well, with open eval code. We link to them.
Money
Sponsor slots and affiliate links are labelled. Outbound money links go through /go/<name>/ redirect pages so we can count clicks with cookie-free Cloudflare Web Analytics. Rankings, picker results and benchmark numbers can never be bought. Sponsor policy
The harness is open source (bench/run.py) so anyone can reproduce a number.