Go to file
Raul Puri 1b7b06c75e
model.py 0.4 update
2018-05-03 18:29:37 -07:00
filelists changing structure for better organization 2018-05-03 17:14:45 -07:00
text text/: adding Keith Itos text pre-processing 2018-05-03 15:17:26 -07:00
LICENSE adding readme and license 2018-05-03 15:10:51 -07:00
README.md README.md: including fp16_run params 2018-05-03 17:59:56 -07:00
audio_processing.py adding python files 2018-05-03 15:16:57 -07:00
data_utils.py adding python files 2018-05-03 15:16:57 -07:00
distributed.py adding python files 2018-05-03 15:16:57 -07:00
fp16_optimizer.py adding python files 2018-05-03 15:16:57 -07:00
hparams.py hparams.py: adapting to new structure, deleting filelists from main 2018-05-03 17:16:05 -07:00
inference.ipynb inference.ipynb: updating 2018-05-03 17:08:51 -07:00
layers.py adding python files 2018-05-03 15:16:57 -07:00
logger.py adding python files 2018-05-03 15:16:57 -07:00
loss_function.py adding python files 2018-05-03 15:16:57 -07:00
loss_scaler.py adding python files 2018-05-03 15:16:57 -07:00
model.py model.py 0.4 update 2018-05-03 18:29:37 -07:00
multiproc.py adding python files 2018-05-03 15:16:57 -07:00
plotting_utils.py adding python files 2018-05-03 15:16:57 -07:00
requirements.txt adding txt files 2018-05-03 15:15:53 -07:00
stft.py adding python files 2018-05-03 15:16:57 -07:00
tensorboard.png tensorboard.png: adding tensorboard image 2018-05-03 15:11:54 -07:00
train.py train.py single gpu and 0.4 update 2018-05-03 18:27:18 -07:00
utils.py adding python files 2018-05-03 15:16:57 -07:00

README.md

Tacotron 2 (without wavenet)

Tacotron 2 PyTorch implementation of Natural TTS Synthesis By Conditioning Wavenet On Mel Spectrogram Predictions.

This implementation includes distributed and fp16 support and uses the LJSpeech dataset.

Distributed and FP16 support relies on work by Christian Sarofeen and NVIDIA's Apex Library.

Alignment, Predicted Mel Spectrogram, Target Mel Spectrogram

Pre-requisites

  1. NVIDIA GPU + CUDA cuDNN

Setup

  1. Download and extract the LJ Speech dataset
  2. Clone this repo: git clone https://github.com/NVIDIA/tacotron2.git
  3. CD into this repo: cd tacotron2
  4. Update .wav paths: sed -i -- 's,DUMMY,ljs_dataset_folder/wavs,g' filelists/*.txt
  5. Install pytorch 0.4
  6. Install python requirements or use docker container (tbd)
    • Install python requirements: pip install requirements.txt
    • OR
    • Docker container (tbd)

Training

  1. python train.py --output_directory=outdir --log_directory=logdir
  2. (OPTIONAL) tensorboard --logdir=outdir/logdir

Multi-GPU (distributed) and FP16 Training

  1. python -m multiproc train.py --output_directory=/outdir --log_directory=/logdir --hparams=distributed_run=True --fp16_run=True

Inference

  1. jupyter notebook --ip=127.0.0.1 --port=31337
  2. load inference.ipynb

nv-wavenet: Faster than real-time wavenet inference

Acknowledgements

This implementation uses code from the following repos: Keith Ito, Prem Seetharaman as described in our code.

We are inspired by Ryuchi Yamamoto's Tacotron PyTorch implementation.

We are thankful to the Tacotron 2 paper authors, specially Jonathan Shen, Yuxuan Wang and Zongheng Yang.