Skip to content


Repository files navigation


(Update: Vanilla Tacotron One TTS system just implemented - more coming soon!)

Tacotron with WaveRNN diagrams

Pytorch implementation of Deepmind's WaveRNN model from Efficient Neural Audio Synthesis


Ensure you have:

Then install the rest with pip:

pip install -r requirements.txt

How to Use

Quick Start

If you want to use TTS functionality immediately you can simply use:


This will generate everything in the default sentences.txt file and output to a new 'quick_start' folder where you can playback the wav files and take a look at the attention plots

You can also use that script to generate custom tts sentences and/or use '-u' to generate unbatched (better audio quality):

python -u --input_text "What will happen if I run this command?"

Training your own Models

Attenion and Mel Training GIF

Download the LJSpeech Dataset.

Edit, point wav_path to your dataset and run:


or use --path to point directly to the dataset

Here's my recommendation on what order to run things:

1 - Train Tacotron with:


2 - You can leave that finish training or at any point you can use:

python --force_gta

this will force tactron to create a GTA dataset even if it hasn't finish training.

3 - Train WaveRNN with:

python --gta

NB: You can always just run without --gta if you're not interested in TTS.

4 - Generate Sentences with both models using:

python wavernn

this will generate default sentences. If you want generate custom sentences you can use

python --input_text "this is whatever you want it to be" wavernn

And finally, you can always use --help on any of those scripts to see what options are available :)


Can be found here.

Pretrained Models

Currently there are two pretrained models available in the /pretrained/ folder':

Both are trained on LJSpeech

  • WaveRNN (Mixture of Logistics output) trained to 800k steps
  • Tacotron trained to 180k steps