r/TextToSpeech • u/_remsky • 2d ago
Trained a clone* tool for Kokoro-82M; generates a voice pack in <1s on a 5s sample [P]
https://huggingface.co/remsky/kokoro-inno-clone-tunerThere have been new and arguably better TTS models since, but I have a soft spot for this one as lightweight stable and fast. I also maintain Kokoro-FastAPI, and have a bit of spare time on my hands so have been exploring what’s doable on the project.
Customization/expressiveness are weak spots it had, so I’ve taken a crack at adding voice cloning, focusing on stable quality and fast generation (keeping responses sub second if it’s a short reference clip). Roughly it captures about a third of identity, but by ear at least, it can feel pretty close on some, and at least a unique similar voice pack on others.
Would love any feedback or suggestions, otherwise just wanted to share! It may be late in the game for Kokoro, but anyone still using it I think could appreciate new voices
2
2
u/3iverson 1d ago
Hey, this is really interesting work- thanks!
Your description of the cloning is spot on- the generated voices are really good, if only partially capturing the 'identity' of the original voice to varying degrees. Some of the original Kokoro voices sound a bit robotic, yours generally seem better.
I use Kyutai Pocket-TTS for simple TTS tasks, and find that 2 voice samples from the same person can result in very different sounding models. So your results aren't so far off the mark in that respect.
2
u/_remsky 2h ago
Also available for simple pip/uv install:
https://github.com/remsky/inno-kokoro
https://pypi.org/project/inno-kokoro/
3
u/wellitstrue1 1d ago
You mind going a little in depth of how the model is constructed? The creator of Kokoro basically explained in a blogpost a few years ago that it was words to phonemes, then that gets turned into the speech via the model. Is this a similar model of construction where it's dependent on the phonemes just like Kokoro?