Go to file
rafaelvalle ba8cf36198 requirements.txt: removing pytorch 0.4 from requirements. upgrading to 1.0 2018-11-27 08:04:21 -08:00
filelists changing structure for better organization 2018-05-03 17:14:45 -07:00
text text/symbols.py: updating symbols 2018-11-25 22:34:26 -08:00
Dockerfile Dockerfile: adding jupyter to dockerfile 2018-06-14 10:30:01 -07:00
LICENSE Update license such that it appears on repo fron tpage 2018-05-03 23:18:34 -07:00
README.md README.md: updating requirements and inference demo 2018-11-27 08:03:34 -08:00
audio_processing.py adding python files 2018-05-03 15:16:57 -07:00
data_utils.py data_utils.py: rewrite 2018-11-25 22:32:47 -08:00
demo.wav adding demo.wav file 2018-06-04 16:46:36 -07:00
distributed.py distributed.py: rewrite 2018-11-25 22:32:54 -08:00
fp16_optimizer.py adding python files 2018-05-03 15:16:57 -07:00
hparams.py hparams.py:rewrite 2018-11-25 22:33:05 -08:00
inference.ipynb inference.ipynb: updating inference file with relative paths 2018-11-27 08:04:04 -08:00
layers.py layers.py: rewrite 2018-11-25 22:33:32 -08: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 loss_scaler.py: patching loss scaler for compatibility with current pytorch 2018-05-15 09:50:08 -07:00
model.py model.py: rewrite 2018-11-25 22:33:38 -08: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 requirements.txt: removing pytorch 0.4 from requirements. upgrading to 1.0 2018-11-27 08:04:21 -08:00
stft.py stft.py: fix filter winlength error 2018-11-25 22:33:52 -08:00
tensorboard.png tensorboard.png: adding tensorboard image 2018-05-03 15:11:54 -07:00
train.py train.py: updating 2018-11-25 22:34:34 -08:00
utils.py utils.py: updating 2018-11-25 22:34:38 -08:00

README.md

Tacotron 2 (without wavenet)

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

Visit our website for audio samples.

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
    • Alternatively, set load_mel_from_disk=True in hparams.py and update mel-spectrogram paths
  5. Install PyTorch 1.0
  6. Install python requirements or build docker image
    • Install python requirements: pip install -r requirements.txt

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 demo

  1. Download our published Tacotron 2 model
  2. Download our published WaveGlow model
  3. jupyter notebook --ip=127.0.0.1 --port=31337
  4. Load inference.ipynb

N.b. When performing Mel-Spectrogram to Audio synthesis, make sure Tacotron 2 and the Mel decoder were trained on the same mel-spectrogram representation.

WaveGlow Faster than real time Flow-based Generative Network for Speech Synthesis

nv-wavenet Faster than real time WaveNet.

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.