-
Notifications
You must be signed in to change notification settings - Fork 35
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Evaluate TTS Engines #60
Comments
Mycroft's Mimic 3 engine is licensed as AGPL, which has some considerable legal implications. I'd also be hesitant to use anything Mycroft based as their future is uncertain. You can see from both Mimic and Piper they're using a lot of the same standard components as the frameworks above - VITS, espeak-ng, etc. |
Strong advocate of Coqui. I tried a lot of voices and frameworks and liked it the best in German and English. Here is a little python code for trying it out. I wrote a helper function for saying long texts. The first sentence voice gets generated and played, then the next et cetera. If one would compute all the sentences at once, there would be a huge delay. It works nicely on CPU in sub-realtime, so maybe plays nice with your GPU focused STT and LLM. Great work by the way! Please mind my non-coding background when trying out my code ;) Also on second execution the audio files will be reused with a hash. So they won't get generated by say().
|
That's a vote for coqui! Yes, we will use caching but my preferred approach is to go about it a little differently. For WIS itself TTS output to HTTP response should be bytesIO() at a minimum, and this was a little painful last I looked at coqui. Our plan is to cache TTS output at the network/transport layer for architecture abstraction, scalability, and to do things like enable the use of a CDN for large scale deployments like our hosted community WIS instance. If you're going to use caching the cache hit request shouldn't touch WIS at all. We have CDN with tiered caching and reserve caching setup already for community hosted WIS and that will provide response times that are ridiculously fast for users around the world with TTS. |
Discussed in #78 but also casting my vote here for Coqui 😄 |
Have you considered OpenVoiceOS plugin manager for this? it provides a lot of TTS options (and several other things such as STT, VAD....) behind a unified api https://github.com/OpenVoiceOS?q=tts&type=all&language=&sort= |
Try Bark, it's MIT licensed. |
Think bark was looked at but the performance unfortunately isn't where it needs to be for a good user experience for a voice assistant (TTS generation on an enterprise GPU is at best real time, and on lesser gpus it is less than real time). |
@nikito is correct in terms of performance. Bark also has a strange tendency to insert random "ummm" sounds in the audio output as documented in this issue. |
Yeah that's true, because it's using a generative pre-transformer model rather than true text to speech. It hallucinates similarly to Stable Diffusion and ChatGPT. |
We're on a constant hunt for a TTS implementation that provides better quality and more flexibility than SpeechT5 with comparable performance. It's at the top of my list in terms of ongoing WIS improvements but I've yet to find such a thing... |
Hi. is there something new about TTS? Thanks. |
Yes, we have some new engines in process. They aren't in the main branch yet, but you can experiment with them in the feature/split_arch branch. |
Thanks, i will try it |
strong vote for coqui, specially with their xtts v2 model since fine tuning is super easy |
Just saw this on Hacker News, it's the best I've heard so far: https://github.com/collabora/WhisperSpeech |
Hello, will it be possible to add other languages? I would like to add it as an additional file. If possible |
I switched to split_arch branch using coqui and TTS seems much improved. Numbers are spoken out. |
I've used coqui earlier but later found this to be more flexible with variant voice tweaks https://github.com/2noise/ChatTTS Update: Unfortunately, it is AGPL licensed |
SpeechT5 is included because it's in Transformers and it's an easy first pick for TTS.
There are several others (in no particular order):
Tortoise
Coqui
Toucan
MMS
Now that WIS has been released I'm very interested in feedback from the community to evaluate different engines, voices, etc so we can select the best default for future versions of WIS.
The text was updated successfully, but these errors were encountered: