TTS icon indicating copy to clipboard operation
TTS copied to clipboard

[Feature request] Tutorial should mention when to use Espeak (or Espeak-ng) and when to use Gruut phonemizer

Open Ca-ressemble-a-du-fake opened this issue 2 years ago • 1 comments

🚀 Feature Description

It seems that the tutorial deals with Gruut ("If you use phonemes for training and your language is supported here, you don’t need to set your character list.") but some models provided with YourTTS contain Espeak as phonemizer (like the English one). By reading some comments here and there (discussion) some users even report using espeak-ng.

Solution

Tutorial should explain when to use one phonemizer over the other and what the differences in the config.json should be.

Alternative Solutions

Additional context

Ca-ressemble-a-du-fake avatar Aug 23 '22 18:08 Ca-ressemble-a-du-fake

Hello, if you feel something is missing or would be helpful for the community, please contribute by issuing a PR. Thanks a lot!

p0p4k avatar Aug 24 '22 16:08 p0p4k

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. You might also look our discussion channels.

stale[bot] avatar Sep 23 '22 22:09 stale[bot]

@p0p4k now that things are clearer, I will try and write something. According to @WeberJulian in gitter :

No it was for a time since phonemizer wasn't in a compatible licence But we wrote our own espeak wrapper Now it's supported and espeaker is prefered over gruut

So espeak should be used when training from scratch. When fine tuning a model (restore_path) or continuing a previous one (continue_path), then the same phonemizer than used in the original config.json has to be used.

Ca-ressemble-a-du-fake avatar Sep 27 '22 10:09 Ca-ressemble-a-du-fake

Yeah, you can also finetune from gruut to espeak. By default you should use espeak.

WeberJulian avatar Sep 27 '22 11:09 WeberJulian

Good to know thank you @WeberJulian !

Ca-ressemble-a-du-fake avatar Sep 27 '22 11:09 Ca-ressemble-a-du-fake

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. You might also look our discussion channels.

stale[bot] avatar Oct 28 '22 17:10 stale[bot]

How to use espeak-ng instead of espeak? I got this error: Traceback (most recent call last): File "/home/ubuntu/TTS/vctk_vits_train.py", line 100, in tokenizer, config = TTSTokenizer.init_from_config(config) File "/home/ubuntu/TTS/TTS/tts/utils/text/tokenizer.py", line 198, in init_from_config phonemizer = get_phonemizer_by_name(config.phonemizer, **phonemizer_kwargs) File "/home/ubuntu/TTS/TTS/tts/utils/text/phonemizers/init.py", line 75, in get_phonemizer_by_name raise ValueError(f"Phonemizer {name} not found") ValueError: Phonemizer espeak-ng not found

naveed81 avatar Oct 27 '23 09:10 naveed81