You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
Raul Puri 0d4218fb20 single variable for single gpu model 6 years ago
filelists changing structure for better organization 6 years ago
text text/: adding Keith Itos text pre-processing 6 years ago
LICENSE adding readme and license 6 years ago
README.md README.md: including fp16_run params 6 years ago
audio_processing.py adding python files 6 years ago
data_utils.py adding python files 6 years ago
distributed.py adding python files 6 years ago
fp16_optimizer.py adding python files 6 years ago
hparams.py hparams.py: adapting to new structure, deleting filelists from main 6 years ago
inference.ipynb inference.ipynb: updating 6 years ago
layers.py adding python files 6 years ago
logger.py adding python files 6 years ago
loss_function.py adding python files 6 years ago
loss_scaler.py adding python files 6 years ago
model.py model.py: removing .item 6 years ago
multiproc.py adding python files 6 years ago
plotting_utils.py adding python files 6 years ago
requirements.txt adding txt files 6 years ago
stft.py adding python files 6 years ago
tensorboard.png tensorboard.png: adding tensorboard image 6 years ago
train.py single variable for single gpu model 6 years ago
utils.py adding python files 6 years ago

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.