What it is and who it's for
Kokoro TTS is a tiny (82M parameters) open speech synthesis model that, in blind tests, sounds on par with far heavier systems. For a developer who needs local, free, private voiceover that fits on modest hardware. What sets it apart: a unique size-to-quality ratio — top-tier results at minimal requirements.
Key features
- 82M parameters — runs on CPU or a modest GPU, synthesizes fast.
- Open weights (Apache) — free for commercial use, offline, no fees.
- Several voices and languages; a
kokoropackage for Python. - High prosody quality for its size (top of TTS Arena).
- Easy to plug into local pipelines and services.
- Low latency — good enough for near-real-time.
Get started in 5 minutes
- Install the package:
pip install kokoro soundfile
- Generate speech:
from kokoro import KPipeline; import soundfile as sf
pipe = KPipeline(lang_code="a")
audio = next(pipe("Привет, мир", voice="af_heart"))[2]
sf.write("out.wav", audio, 24000)
- Cycle through voices and languages until the sound fits.
When to take it, and when not
- ✅ Take it if: you need free local voiceover with excellent quality on weak hardware.
- ✅ Take it if: privacy, offline use and a commercially friendly license matter.
- ❌ Skip it → "Chatterbox" is better if you need voice cloning from a sample (Kokoro doesn't do that).
- ❌ Skip it → "ElevenLabs" is better if you want maximum emotion, dubbing and a mature cloud ecosystem.
The honest price
Completely free (Apache license), no cloud bills. The only thing you "pay" is your own CPU/GPU. Exact system requirements depend on batch size and language.
Gotchas
- No voice cloning — built-in voices only.
- Language support and per-language quality are uneven; test Russian on your own text.
- Less emotional expressiveness than the top clouds.
- Expect a bit of fiddling with the Python environment and dependencies.
🤖 Prompt accelerator
"I want free local voiceover with Kokoro TTS for <DESCRIBE: clips / notifications / a prototype> in Russian. Help me install the package, pick a voice and
lang_code, write a synthesis script that saves to wav, and tell me how to normalize the text (numbers, abbreviations) for clean pronunciation. Estimate whether my <CPU/GPU> can handle it."