

Discussion summary
Kokoro is a local, CPU-friendly TTS model with some users praising its quality, but others report crashes on Apple M2 Pro. Discussions include performance comparisons and potential mobile porting.
What the discussion says
- Some users find Kokoro's quality high but experience crashes on certain hardware.
- Performance varies significantly between Apple M2 Pro and AMD Ryzen 7.
- Developers discuss ease of use with FastAPI and GPU acceleration.
- Interest in mobile porting of Kokoro is mentioned.
“Kokoro is a good TTS model.”
“It crashes as soon as you put a little paragraph on Apple M2 Pro.”
Join the discussion
Write your take first — we'll ask for email only when you're ready to publish.
- Hacker News
- I'm using exactly this TTS engine for my intercom door system I built. The quality of the TTS is very good.by kn100
- Cool I actually got it ported to iPhone’s ANE finally yesterday! So we can get both rt natural local TTS and 4x less battery drainage and thermalsby mowmiatlas
- lol, I just finished a port to the iPhone ANE as well. I would love to compare notesby tigerquoll
- kokoro is decent but pocket-tts is much better especially when you rip a good voice. https://github.com/kyutai-labs/pocket-tts
the onnx version of pocket-tts does perform better. https://huggingface.co/KevinAHM/pocket-tts-onnx
by teravor - I've found that for CPU inference the PyTorch-based (non-quantized) version of Pocket TTS actually performs (both speed and quality-wise) better than the ONNX version, even after fiddling with all of the knobs that ONNX provides.by mscdex
- I agree, pocket-tts is quite good. It is also very easy to make new voices from small sample files with pocket-tts.by psanford
- I'm using Kokoro for a fun little side-project browser-based game I'm working on. It's legitimately super good for being only 85mb (for the wasm version) or 300mb (for the webgpu version).by dvt
- I spent a day fiddling with AI and dropping the expensive layers in kokoro, on phones, on CPU, on MNN, it runs 3x faster.
Quality is very close.
Will vary in your setup, but here is my script: https://github.com/DavidVentura/translator-rs/blob/master/sc...
by deivid - TTS has come incredible long way, there are so many options. There is Kokoro of course, then there is Pocket TTS which is also a tiny 100M model that allows voice cloning. There is also Chatterbox Turbo, which is bit bigger but also allows for more emotional control of the voice. And then finally there is the Fish Audio S2, which is even bigger but allows even larger and essentially unbounded finegrained control of tone and emotion. And all of these can easily run on your Macbook.by armcat
- Dunno why people still write about Kokoro, there are better alternatives. Pocket TTS has more natural intonation and voice cloning. Supertonic 3 is another great model in the same weight class, which is the only one that can autodetect language and make a mix of different languages sound good.by olq_plo
- Super cool!!
I've been using my own solution since January. I'm on Linux, and can't use Aqua, Whipsrflow etc... So i made my own.
Recently cleaned it up and made it install friendly.
If anyone is interested, you can check it out here: https://github.com/Hugo0/voiceio
It's self-improving over time, runs on your local machine, and is generally decent software. 60% of my interaction with my PC nowadays is pure voice input.
- This is text to speech, yours is speech to text. (But also thanks, your STT looks interesting)by yjftsjthsd-h
- This repo is a good starting point for comparing TTS models https://github.com/5uck1ess/tts-bench
Kokoro is a really good model, considered it’s released 1.5 years ago. It’s punching above its weight https://5uck1ess.github.io/tts-bench/scores.html
by karimf - Love this model. I’m GPU poor and have had FOMO that I haven’t played with local models at all. About a month ago I setup Kokoro on my GTX1650 to do TTS for an article reader. A simple WebUI lets me paste a URL or a chunk of copy pasted text. Python cleans it up and sends to Kokoro for TTS and it’s then served via RSS for Apple Podcasts. Then for my morning drive I’ll catch up on articles or blog posts I’ve gathered.
At some point I’d like to play with separate voices and see if I could build something like NotebookLM for kind of like a radio morning show of news items I’ve gathered.
by bronco21016 - Check Open Notebook:by mstkllah
- A couple months back I wrote a chrome extension that does this on any webpage, with simultaneous highlighting of the sentence being read. Skips both the container launching step and the copy pasting website contents step. Might be useful to anyone trying to use kokoro ergonomically.
https://chromewebstore.google.com/detail/local-reader-ai-on-...
by SambhavGupta - Fun... This is something I actually care about...
I used to keep a version of whisperx around, because I think it's important to have not just transcription, but also timing and speaker identification (e.g. for subtitles)... It depends on pyannote, though, which has some wierd licensing (and is tougher to script the installs because of it), so I wanted to look at something that both had better transcription, and supported diarization (the speaker and timing). I decided on parakeet for the transcription with softformer (the diarization), but most of the available engines for it don't include softformer.
I coded up an OpenAI compatible server for parakeet-rs ( https://github.com/altunenes/parakeet-rs ) (which does support softformer) and I've been using it with OpenWhispr (a desktop app for transcription that handles all sorts of neat thing).
I'm doing CPU-only transcription (because I use my GPUs for other stuff and haven't gotten around to adding in the GPU-path), but it's incredibly empowering to be able to have local transcriptions at will.
by dmayle - Likewise with simple whisper.cppby arikrahman
- This is TTS. Not STT.
For what you are doing, Senko works really well for diarization along with parakeet.
Faster and more accurate than Pyannote and whisper on my MacBook anyway.
by dghlsakjg - I have used Kokoro fairly extensively for an accessibility product. I have loved working with it (especially because I don't have an NVidia GPU like many TTS of similar quality require).
I particularly appreciate the fact that it lets you manually add IPA pronunciation guides. There have been some cases where an important word is a homograph and Kokoro assumed the wrong pronunciation.
The place where it falls a little short is in saying just a single word or two. Try having it say simply "six" and it almost always says something like "ah-six-ah". I found a way around that though. If you give it a longer sentence to say (eg "The word is: six") it will say it fine. The trick is that the Kokoro API gives you the timestamp of each word in the sentence. So you can have a Python script crop out just the word you care about. The intonation is a little flat this way, but is very reliable.
I asked about this on the discord, and was told that it is a limitation of the small parameter size. But in fairness to Kokoro, even eleven-labs' voices suffer from this occasionally.
by sudobash1 - Great technique, thanks for sharingby dr_dshiv
- It is indeed a common weakness of TTS models.
Unfortunately it makes it unsuited for my use case, which is almost entirely single words, as I don't particularly want to deal with stitching/segmenting input/output.
by cdr - Same trick with many others. I say "Knight" to Wispr or Google and see "night". I say "Knight to f3", and just backspace out "to f3".by QuantumGood