Kokoro TTS: Proof That a TTS Model Doesn't Need a GPU to Sound Good
Turn text and recordings into audio you can hear
Dubbing, stems, covers, and sound effects — all in the browser.
- Text to speech, plus voice cloning
- Split stems, or generate a cover
- Sign up to preview — listen first, decide later
Most open-source voice models assume you have a GPU sitting idle. Kokoro doesn't make that assumption — at 82 million parameters, it's small enough to run comfortably on a CPU, including a years-old laptop, and it still climbed to the top of the Hugging Face TTS Arena leaderboard against models many times its size. If your project needs natural-sounding speech without provisioning GPU infrastructure, this is the model built for that constraint.
What Is Kokoro?
Kokoro-82M is an open-weight text-to-speech model released by developer hexgrad under the Apache 2.0 license — meaning it's free for commercial use, modification, and self-hosting, with no royalties and no restrictions on closed-source deployment. It's built on a decoder-only architecture combining StyleTTS 2 and ISTFTNet, and despite weighing in at roughly 327MB, it produces clean 24kHz audio that's held its own against models several times larger since its v1.0 release.
The name itself is Japanese for "heart" or "spirit" — a nod to the project's goal of getting genuinely expressive speech out of a model small enough to run anywhere.
Small Model, Real Capability
Kokoro's headline number is 82 million parameters, but the more useful numbers are what that size buys you:
- 54 voices across 8 languages — including American and British English, French, Japanese, Korean, and Mandarin — all shipped in a single ~327MB weight file rather than separate downloads per language.
- CPU-native performance. Kokoro runs at real-time or faster speeds on ordinary CPU hardware, and under 2GB of VRAM if you do have a GPU available — a fraction of what comparable-quality models typically require.
- 510-token generation window per pass, enough for substantial chunks of narration without needing to stream token-by-token.
- ONNX support for near-real-time performance even on constrained hardware like Apple Silicon, via the community
kokoro-onnxpackage.
The trade-off for that footprint is worth knowing upfront: Kokoro doesn't support zero-shot voice cloning, its emotional range is narrower than larger expressive models, and quality on non-English languages is generally less refined than its English output. It's optimized for efficient, reliable narration — not dramatic performance or instant voice cloning.
Getting Started with Kokoro
- Install the system dependency first. Kokoro relies on
espeak-ngfor phonemization — install it via your system package manager (apt-get install espeak-ngon Debian/Ubuntu) before installing the Python package, or setup will fail silently on text-to-phoneme conversion. - Install the Kokoro package.
pip install kokoro soundfilecovers the core dependencies; addmisaki[ja]ormisaki[zh]if you need Japanese or Chinese language support specifically. - Initialize a pipeline and generate. Load
KPipelinewith a language code ('a'for American English,'b'for British English, and so on), pass your text and a voice name likeaf_heartorbm_george, and Kokoro returns audio directly — typically five lines of Python from install to a.wavfile. - Consider the ONNX or Docker path for production. For CPU-only environments or simpler deployment, the community-maintained
kokoro-onnxpackage or thekokoro-fastapiDocker image (which exposes an OpenAI-compatible speech endpoint) are faster paths to a running service than wiring up the raw pipeline yourself. - Test your target hardware early. Kokoro is genuinely usable on hardware as modest as a decade-old CPU, but confirming acceptable latency on your actual deployment target before committing to it avoids surprises later.
Tips for Better Results
- Watch for isolated single-word inputs. Kokoro's phonemizer is tuned for natural sentence context — a single word or number in isolation (like "six" on its own) can occasionally come out mispronounced or oddly emphasized. Feeding full sentences rather than fragments avoids this.
- Chunk long-form content. For book-length or article-length narration, split text into paragraph- or chapter-sized chunks rather than one massive input — this keeps generation predictable and avoids exceeding the per-pass token window.
- Pick voices deliberately, not by default. With 54 voices available, testing two or three candidates against your actual script content is worth the extra few minutes — voice quality varies noticeably by name, and the best fit isn't always the first one you try.
- Don't expect zero-shot cloning. If your project's core requirement is cloning a specific person's voice, Kokoro isn't the right base model — pair it with a cloning-focused model instead, or reserve Kokoro for narration where a fixed voice roster is fine.
- Use the OpenAI-compatible API wrapper if you're replacing a cloud TTS vendor.
kokoro-fastapiis built specifically to be a drop-in local replacement for OpenAI-style TTS API calls, which minimizes changes to existing integration code.
Kokoro vs. Other Lightweight and Cloning-Focused Models
| Kokoro-82M | Chatterbox Turbo | Chatterbox / Dia | |
|---|---|---|---|
| Parameters | 82M | 350M | 500M–1.6B |
| Runs on CPU | Yes, natively | GPU-oriented | GPU-oriented |
| Voice cloning | No | Yes, zero-shot | Yes |
| Languages | 8 | English | English (Multilingual: 23) |
| Best fit | Offline narration, edge devices, cost-sensitive deployment | Real-time voice agents | Expressive dialogue, cloned voices |
| License | Apache 2.0 | MIT | Apache 2.0 / MIT |
Kokoro isn't trying to compete on cloning or emotional range — its entire value proposition is doing solid, reliable TTS on hardware that other models simply can't run on. If cloning or dramatic expressiveness is the priority, a larger model is the better fit; if the priority is "runs cheaply, everywhere, forever," Kokoro is hard to beat.
Frequently Asked Questions
Can Kokoro really run without a GPU? Yes. Kokoro is specifically built to run efficiently on CPU hardware, including older machines, at real-time or near-real-time speed — a GPU is optional, not required.
Does Kokoro support voice cloning? No. Kokoro ships with a fixed set of 54 built-in voices rather than zero-shot cloning from a reference clip. For cloning use cases, a model like Chatterbox is a better fit.
What languages does Kokoro support? Eight, including American English, British English, French, Japanese, Korean, and Mandarin, with English generally offering the most refined output quality.
Is Kokoro free for commercial use? Yes. It's released under the Apache 2.0 license, which permits commercial deployment, modification, and closed-source integration without royalties.
How much does it cost to run Kokoro at scale? Self-hosted, Kokoro is inexpensive to run — community reports put costs as low as a few cents per hour on budget GPU instances, and API providers have offered it at under $1 per million characters of input text.
Try a Comparable Text-to-Speech Feature
Kokoro is available through its open-source implementation and community tools. If you want to create speech in the browser, try Text to Speech as a comparable feature. It is not Kokoro and does not provide its model-specific voices, runtime profile, or self-hosting options, but it lets you create AI voice audio without setting up the model locally.