What's Changed
Tokenizer API
Tokenizer API is defined by the TTSTokenizer class. It is intended to provide all the text processing functionalities to a tts model. New tokenizers can also be added by subclassing the TTSTokenizer class.
Phonemizer API
Phonemizer API is defined by the BasePhonemizer class and implemented by the ESpeak and Gruut wrappers, ZH_CH,
JP_JA phonemizers. New phonemizers can be added by implementing the BasePhonemizer class.
BaseCharacters
BaseCharacters class provides an API to define the model vocabulary and provide the dictionary to map characters to
token IDs and back. There are two pre-defined classes inheriting from BaseCharacters. IPAPhonemes and Graphemes that respectively define the IPA phoneme character set for models using phonemes and grapheme set for models using raw characters.
Punctuations class
Punctuations class to strip out punctuations and restore them when needed.
Language specific text normalization routines under TTS.tts.utils.text
Under TTS.tts.utils.text
there are folders for each language to accommodate the text normalization routines that
are designed for the language.
👟Trainer
We separate the trainer as a new repo 👟Trainer. It is a general-purpose model trainer for Pytorch with certain design choices in mind.
- Support for different experiment tracking dashboards like ClearML, Tensorboard, MLFlow, and W&Bs.
- Flexible to train any kind of DL model.
- Simple code base and easily expandable.
- Easy to debug.
It is a very early-stage and monolithic library currently. Feel free to share your ✨feedback✨ and ✨contribute✨.
VITS implementation update
With this version of VITS model, we get rid of some of the issues that affect the model performance. It also illustrates well how you could adapt any open-source model implementation to 🐸TTS and 👟Trainer without even knowing the rest for 🐸TTS library.
Full Changelog: v0.5.0...v0.6.0
New Models
-
GlowTTS + HifiGAN Turkish by 👑Fatih Akademi
$ tts --model_name tts_models/tr/common-voice/glow-tts --text "Bu bizim için oluşturulmuş bir örnek sevgili dostum."
-
VITS and GlowTTS Italian by 👑@nicolalandro using MAI Italian male and female subsets.
Female VITS model
$ tts --model_name tts_models/it/mai_female/vits --text "Questo è un esempio per noi, mio <200b><200b>caro amico."
Male VITS model
$ tts --model_name tts_models/it/mai_male/vits --text "Questo è un esempio per noi, mio <200b><200b>caro amico."