Wow, it seems like this might beat out flite for very-low-memory TTS? I ended up abandoning a project of mine because I couldn't get high enough quality or low enough memory usage out of flite, so I'm very excited to try this out.
The voice activity detection alone here is compelling - very useful for doing things like highlighting a speaker who's transmitting in realtime. At that rate the impact on perf will be so minimal that you could easily run it in the browser across devices.
This looks like an extreme point for AI-based TTS, as formant/tract modeling synths tend to be more accurate if you want TTS in a tiny amount of compute, but sound distinctly robotic.
That's the error rate for STT, not TTS. TTS is generally easier than STT because you only need to produce one valid pronunciation and don't need to handle variation within and between individuals.
this is good to see. i also trained a stt under 500kb for sub dollar chips. it had about 20 words that it could understand(like start, stop, left, right, go, up etc) and then the spell mode where you could say the word spell and then say the individual english alphabets and close with spell. it was super fun to work on. these tend to be extremely unstable though, like confusion between p and t (at least for my accent). will have to try this one now.
It looks great, thank you! I'll see if I can use it for my in browser AI assistant project's ( https://aidekin.com ) voice part. It's currently using Nemotron-3.5-ASR and supertonic-3 but overall it requires 1.2gb download.
I made a little python wrapper around it to serve an HTTP endpoint that’s OpenAI/elevenlabs compatible https://github.com/clayrosenthal/bootlegger
Quick link to the video where he demos it: https://www.youtube.com/watch?v=kMliOFYBiz4
Wow, it seems like this might beat out flite for very-low-memory TTS? I ended up abandoning a project of mine because I couldn't get high enough quality or low enough memory usage out of flite, so I'm very excited to try this out.
Flite for comparison: https://github.com/festvox/flite
I installed the command line version using uv
super nice to be able to run it to test it like thisgood job on a clear readme.md tbh
`uvx moonshine-voice mic --language en` That is even simpler.
The voice activity detection alone here is compelling - very useful for doing things like highlighting a speaker who's transmitting in realtime. At that rate the impact on perf will be so minimal that you could easily run it in the browser across devices.
This looks like an extreme point for AI-based TTS, as formant/tract modeling synths tend to be more accurate if you want TTS in a tiny amount of compute, but sound distinctly robotic.
TTS (neural diphone synth @ 16 kHz) ~1.8 MiB voice pack
This is in the realm of Microsoft Sam.
Do you have any accuracy benchmarks?
I’ve worked in this space. TTS in a small footprint isn’t the hard part —- it’s doing it accurately that’s hard.
Although for the use cases OP is targeting, lower accuracy may be good enough!
> I’ve worked in this space. TTS in a small footprint isn’t the hard part —- it’s doing it accurately that’s hard.
This actually holds for everything in AI.
Very true!
If you look at this chart here it seems the tiny model has a WER of ~12%… not sure about the micro model:
https://github.com/moonshine-ai/moonshine#when-should-you-ch...
That's the error rate for STT, not TTS. TTS is generally easier than STT because you only need to produce one valid pronunciation and don't need to handle variation within and between individuals.
For TTS I wonder how this compares to nanotts[1] with the en-GB voice, which is sort of unreasonably good.
[1] https://github.com/gmn/nanotts
this is good to see. i also trained a stt under 500kb for sub dollar chips. it had about 20 words that it could understand(like start, stop, left, right, go, up etc) and then the spell mode where you could say the word spell and then say the individual english alphabets and close with spell. it was super fun to work on. these tend to be extremely unstable though, like confusion between p and t (at least for my accent). will have to try this one now.
I remember someone training smart kettle to use its speaker as microphone
It looks great, thank you! I'll see if I can use it for my in browser AI assistant project's ( https://aidekin.com ) voice part. It's currently using Nemotron-3.5-ASR and supertonic-3 but overall it requires 1.2gb download.
Very cool. I've done TTS on a 32K Arduino but it was pretty croaky. https://youtu.be/ErGDboTpwM0
Is the dataset open
very nice I love it
Thank you for this. I love your work on Curb Your Enthusiasm.
What work?
Possibly Cousin Andy? https://curb-your-enthusiasm.fandom.com/wiki/Andy_David
Played by the great Richard Kind, who my wife swears she saw on the Highline in NYC.
Probably a joke that the author looks like someone on the show? I'm puzzled as well.
ngl, it looks incredible
Great work!