The smallest neural text-to-speech family we know of — and it plays right here, live, in your browser.
a full neural stack — duration → acoustic → decoder — quantized to int8, phonemizer and all. Below: hear every released voice, then synthesize live on this page.
One fresh sentence per voice, rendered by the models themselves. 745k to 1.8M parameters — every voice fits in a few megabytes.
| Language | Voice | Listen |
|---|---|---|
| English 🇺🇸 | amy1.46M params SCOREQ 4.13 |
|
kristin1.40M params SCOREQ 4.09 |
||
hfc1.83M params SCOREQ 3.94 |
||
amy-small1.08M params SCOREQ 3.70 |
||
robot (on-device)745k params int8 · on-chip
the model that runs faster than real time on a $3 ESP32-S3 — same weights, same phonemizer |
||
| Nepali 🇳🇵नमस्ते! तपाईंलाई भेटेर खुशी लाग्यो। | Nepali1.47M params |
|
| Hindi 🇮🇳नमस्ते! आपसे मिलकर बहुत खुशी हुई। | Hindi1.50M params |
|
| Vietnamese 🇻🇳Xin chào! Rất vui được gặp bạn hôm nay. | Vietnamese1.46M params |
|
| Indonesian 🇮🇩Halo! Senang bertemu dengan Anda hari ini. | Indonesian1.46M params |
|
| Chinese 🇨🇳你好!很高兴今天见到你。 | Chinese1.50M params |
Measured with our no-reference harness (SCOREQ / UTMOS / DNSMOS-SIG) on the same 24-sentence diverse set, run identically across every model below.
Size comparison (parameters)
Kokoro is 45× larger than our largest voice — and 110× larger than our smallest.
Shipped-file sizes: sanoTTS amy 2.8 MB fp16 and TinyTTS 3.5 MB fp16, both verified from the released files; Kokoro's ~330 MB fp32 is its widely cited public figure.
Three metrics, head to head
| sanoTTS amy1.46M params | TinyTTS1.62M params | Inflect Nano4.63M params | |
|---|---|---|---|
| SCOREQ | 4.13 | 3.94 | 3.81 |
| UTMOS | 4.10 | 3.65 | 3.65 |
| DNSMOS-SIG | 3.61 | 3.62 | 3.58 |
Same 24-sentence set, three independent no-reference metrics; best value per row in crimson. sanoTTS leads on SCOREQ and UTMOS; on DNSMOS-SIG TinyTTS edges us by 0.01 — no single metric tells the whole story.
The size-quality frontier we traced
Same voice (amy), same duration/acoustic recipe — only decoder size changes. Quality lives in the decoder: doubling it from 1.09M to 1.84M params moves SCOREQ from 3.70 to 4.16.
Type anything. The text is phonemized by espeak-ng compiled to WebAssembly (the same 275 KB port that runs on the chip) and spoken by that voice's own neural stack — all client-side, no server. Pick a voice:
| Phonemes | — |
| Audio produced | — |
| Compute time (this CPU) | — |
| Speed on this machine | — |
The speed shown is this browser on your CPU — the on-device English voice runs at 0.22× real time on an ESP32-S3. Every mascot above (marked ●) synthesizes your typed text live, right here, with no server involved.
Open source under GPL-3.0 — builds on piper and espeak-ng. Distill your own tiny voice: github.com/Ampixa/sanoTTS.
© 2026 Ampixa