| # Tutorial For Nervous Beginners |
|
|
| ## Installation |
|
|
| User friendly installation. Recommended only for synthesizing voice. |
|
|
| ```bash |
| $ pip install TTS |
| ``` |
|
|
| Developer friendly installation. |
|
|
| ```bash |
| $ git clone https://github.com/coqui-ai/TTS |
| $ cd TTS |
| $ pip install -e . |
| ``` |
|
|
| ## Training a `tts` Model |
|
|
| A breakdown of a simple script that trains a GlowTTS model on the LJspeech dataset. See the comments for more details. |
|
|
| ### Pure Python Way |
|
|
| 0. Download your dataset. |
|
|
| In this example, we download and use the LJSpeech dataset. Set the download directory based on your preferences. |
| |
| ```bash |
| $ python -c 'from TTS.utils.downloaders import download_ljspeech; download_ljspeech("../recipes/ljspeech/");' |
| ``` |
| |
| 1. Define `train.py`. |
|
|
| ```{literalinclude} ../../recipes/ljspeech/glow_tts/train_glowtts.py |
| ``` |
| |
| 2. Run the script. |
|
|
| ```bash |
| CUDA_VISIBLE_DEVICES=0 python train.py |
| ``` |
| |
| - Continue a previous run. |
|
|
| ```bash |
| CUDA_VISIBLE_DEVICES=0 python train.py --continue_path path/to/previous/run/folder/ |
| ``` |
| |
| - Fine-tune a model. |
|
|
| ```bash |
| CUDA_VISIBLE_DEVICES=0 python train.py --restore_path path/to/model/checkpoint.pth |
| ``` |
| |
| - Run multi-gpu training. |
|
|
| ```bash |
| CUDA_VISIBLE_DEVICES=0,1,2 python -m trainer.distribute --script train.py |
| ``` |
| |
| ### CLI Way |
|
|
| We still support running training from CLI like in the old days. The same training run can also be started as follows. |
|
|
| 1. Define your `config.json` |
|
|
| ```json |
| { |
| "run_name": "my_run", |
| "model": "glow_tts", |
| "batch_size": 32, |
| "eval_batch_size": 16, |
| "num_loader_workers": 4, |
| "num_eval_loader_workers": 4, |
| "run_eval": true, |
| "test_delay_epochs": -1, |
| "epochs": 1000, |
| "text_cleaner": "english_cleaners", |
| "use_phonemes": false, |
| "phoneme_language": "en-us", |
| "phoneme_cache_path": "phoneme_cache", |
| "print_step": 25, |
| "print_eval": true, |
| "mixed_precision": false, |
| "output_path": "recipes/ljspeech/glow_tts/", |
| "datasets":[{"formatter": "ljspeech", "meta_file_train":"metadata.csv", "path": "recipes/ljspeech/LJSpeech-1.1/"}] |
| } |
| ``` |
| |
| 2. Start training. |
| ```bash |
| $ CUDA_VISIBLE_DEVICES="0" python TTS/bin/train_tts.py --config_path config.json |
| ``` |
| |
| ## Training a `vocoder` Model |
|
|
| ```{literalinclude} ../../recipes/ljspeech/hifigan/train_hifigan.py |
| ``` |
|
|
| ❗️ Note that you can also use ```train_vocoder.py``` as the ```tts``` models above. |
|
|
| ## Synthesizing Speech |
|
|
| You can run `tts` and synthesize speech directly on the terminal. |
|
|
| ```bash |
| $ tts -h # see the help |
| $ tts --list_models # list the available models. |
| ``` |
|
|
|  |
|
|
|
|
| You can call `tts-server` to start a local demo server that you can open it on |
| your favorite web browser and 🗣️. |
|
|
| ```bash |
| $ tts-server -h # see the help |
| $ tts-server --list_models # list the available models. |
| ``` |
|  |
|
|