A 2013 Intel CPU nearly ties an M2 Pro at local text-to-speech, no GPU
Kokoro reads a paragraph about Jupiter aloud in under five seconds on a decade-old Intel desktop, and the GPU never wakes — it stays free for the language model that wrote the text.
Kokoro packs roughly 50 voices into 82M parameters, from a developer who goes by Hexgrad. The post wires it up as a container with an OpenAI-compatible API, so a local LLM can hand off its text and get audio back without renting a cloud voice.
The thread reads less like a debate than a deployment log: a door intercom, Home Assistant over Sonos speakers, epub audiobooks, a Japanese-tutor app. The asterisk comes from someone shipping it in an accessibility product — ask Kokoro to say just 'six' and it blurts 'ah-six-ah'.
What 82M parameters actually buy

Ariya Hidayat's walkthrough starts from one bet: a text-to-speech model small enough to leave the GPU alone. Kokoro, from a developer who goes by Hexgrad, is 82M parameters with roughly 50 voices and support for English, Mandarin and Hindi. He runs it as a Kokoro-FastAPI container exposing an OpenAI-compatible endpoint, so a local language model can pipe its text straight into speech while the GPU stays busy with inference.
The headline evidence is a timing table for one short paragraph, best of three runs on the am_eric voice:
| CPU | Time |
|---|---|
| Intel Core i7-4770K (2013) | 4.7 s |
| Apple M2 Pro | 4.5 s |
| AMD Ryzen 7 8745HS | 1.5 s |
A decade-old desktop chip lands within a fifth of a second of an M2 Pro; a recent laptop Ryzen laps both. The cost he's honest about: the container weighs around 5 GB.
Where the thread already runs it
Instead of debating whether Kokoro is good, the HN thread mostly reports where it already ships. One reader wired it into a door intercom he built; another drives Home Assistant announcements over Sonos with it; a self-described GPU-poor tinkerer runs articles through a GTX 1650 and serves them back as a podcast for his morning drive.
The most useful caveat came from an engineer shipping Kokoro inside an accessibility product. Short utterances break it:
"Try having it say simply 'six' and it almost always says something like 'ah-six-ah'. … If you give it a longer sentence … it will say it fine. The Kokoro API gives you the timestamp of each word … so you can crop out just the word you care about." — an engineer who ships Kokoro in an accessibility product
He also notes Kokoro accepts manual IPA pronunciation guides for homographs, the kind of control commercial voices rarely expose.
On quality, the recurring yardstick is ElevenLabs:
"The comparative quality of Kokoro keeps up really well until you get to their larger models with their professional voices." — an engineer who ran an app on Kokoro for a year and a longtime ElevenLabs subscriber
There is speed left on the table, too. The developer behind a local translator app spent a day dropping Kokoro's expensive layers and got it running 3x faster on a phone CPU, with quality "very close."
Not everyone was sold:
"It crashes as soon as you put a little paragraph of text on Apple M2 Pro. Hard pass." — a developer who ran the demo on an M2 Pro
The bigger signal isn't Kokoro by itself. A developer running an all-local voice pipeline pointed out that every piece now has a local model good enough to ship: Kokoro for speech out, Parakeet for speech in, a small model for text formatting. The story here isn't one fast TTS model. It's that the last cloud-only corner of the voice stack just went local too.
Get breakdowns like this every day
The top Hacker News stories, unpacked — by email, Telegram, or RSS.
A free extension deletes Amazon's junk brands. An Amazon seller says it's guessing wrong
Search Amazon for a dog bed and half the results are brands like SZHLUXE and HORUSDY, random-looking strings that disappear within a month. Knockoff, a Chrome extension, wipes them from the page using a 5,000-brand list and a heuristic that flags vanishing vowels and unpronounceable consonant runs.