← Open Source
NVIDIA

flowtron

Flowtron is an auto-regressive flow-based generative network for text to speech synthesis with control over speech variation and style transfer.

ModelsAudio/Speech modelsJupyter Notebook
Open on GitHub
Momentum
+0stars in 24 hours0.0%
894
Stars
174
Forks
+0
This week
5
Contributors
Created 2020-04-30 · Updated 2026-08-07 · #12839 today
Top developers
rafaelvalleartemgilya16

NVIDIA/flowtron is ranked 12,839 with 894 stars.

Same-category comparison

NVIDIA/flowtron is ranked 12,839 among these 8 peers; peylnog/ContinuousSR is ranked 12,836.

Same-category comparison
NameRankMetrics
hustvl/YOLOS12,772
Language:
Jupyter Notebook
Stars:
903
Forks:
125
Description:
[NeurIPS 2021] You Only Look at One Sequence.
EvolvingLMMs-Lab/NEO12,786
Language:
Python
Stars:
901
Forks:
33
Description:
NEO Series: Native Vision-Language Models from First Principles.
FudanDISC/DISC-FinLLM12,819
Language:
Python
Stars:
896
Forks:
97
Description:
DISC-FinLLM, a Chinese financial large language model (LLM) designed to provide users with professional, intelligent, and comprehensive financial consulting services in financial scenarios.
peylnog/ContinuousSR12,836
Language:
Python
Stars:
895
Forks:
34
Description:
Official Code for “Pixel to Gaussian: Ultra-Fast Continuous Super-Resolution with 2D Gaussian Modeling” ICLR 2026.
scutcyr/BianQue12,858
Language:
Python
Stars:
892
Forks:
111
nyukat/breast_cancer_classifier12,862
Language:
Jupyter Notebook
Stars:
891
Forks:
275
Description:
Deep Neural Networks Improve Radiologists' Performance in Breast Cancer Screening.
microsoft/bioemu12,875
Language:
Python
Stars:
889
Forks:
150
Description:
Inference code for scalable emulation of protein equilibrium ensembles with generative deep learning.
NVlabs/cosmos-policy12,881
Language:
Python
Stars:
888
Forks:
106
Description:
Cosmos Policy.
Key parameters and specifications
Key parameters and specifications
ParameterValue
LanguageJupyter Notebook
CategoryModels
SubcategoryAudio/Speech models
KeywordsText-to-speech
Stars894
Forks174
Contributors5
Created date2020-04-30
Updated date2026-08-07
Stars in 1 day0
Stars in 7 days0
Rank12,839
Previous rank12,739
Rank change-100
7-day stars rank13,627
Previous 7-day stars rank13,642
7-day stars rank change15
Total stars rank12,159
Previous total stars rank12,138
Total stars rank change-21
CountryUSA
README summary

Flowtron: an Autoregressive Flow-based Network for Text-to-Mel-spectrogram Synthesis Rafael Valle, Kevin Shih, Ryan Prenger and Bryan Catanzaro In our recent [paper] we propose Flowtron: an autoregressive flow-based generative network for text-to-speech synthesis with control over speech variation and style transfer. Flowtron borrows insights from Autoregressive Flows and revamps [Tacotron] in order to provide high-quality and expressive mel-spectrogram synthesis. Flowtron is optimized by maximizing the likelihood of the training data, which makes

training simple and stable. Flowtron learns an invertible mapping of data to a latent space that can be manipulated to control many aspects of speech synthesis (pitch, tone, speech rate, cadence, accent). Our mean opinion scores (MOS) show that Flowtron matches state-of-the-art TTS models in terms of speech quality. In addition, we provide results on control of speech variation, interpolation between samples and style transfer between speakers seen and unseen during training. Install python requirements or build

docker image Training from scratch 1. Update the filelists inside the filelists folder to point to your data 2. Train using the attention prior and the alignment loss (CTC loss) until attention looks good 3. Resume training without the attention prior once the alignments have stabilized 4. (OPTIONAL) If the gate layer is overfitting once done training, train just the gate layer from scratch 5. (OPTIONAL) Training using a pre-trained model Training using a pre-trained model can lead

to faster convergence. Dataset dependent layers can be [ignored] 1. Download our published [Flowtron LJS], [Flowtron LibriTTS] or [Flowtron LibriTTS2K] model 2. Fine-tuning for few-shot speech synthesis 1. Download our published [Flowtron LibriTTS2K] model 2. Multi-GPU (distributed) and Automatic Mixed Precision Training ([AMP]) 1. Inference demo Disable the attention prior and run inference: 1. Related repos WaveGlow Faster than real time Flow-based Generative Network for Speech Synthesis Acknowledgements This implementation uses code from the following repos

: Keith Ito, Prem Seetharaman and Liyuan Liu as described in our code.

Frequently asked questions

How many stars and forks are recorded?

NVIDIA/flowtron has 894 stars and 174 forks.

What is the repository rank?

NVIDIA/flowtron is ranked 12,839.

What language and category are recorded?

NVIDIA/flowtron has 894 stars, uses Jupyter Notebook and belongs to Models.

Which repository is closest in rank?

NVIDIA/flowtron is compared with peylnog/ContinuousSR, ranked 12,836 with 895 stars.

README

Flowtron: an Autoregressive Flow-based Network for Text-to-Mel-spectrogram Synthesis

Rafael Valle, Kevin Shih, Ryan Prenger and Bryan Catanzaro

In our recent paper we propose Flowtron: an autoregressive flow-based generative network for text-to-speech synthesis with control over speech variation and style transfer. Flowtron borrows insights from Autoregressive Flows and revamps Tacotron in order to provide high-quality and expressive mel-spectrogram synthesis. Flowtron is optimized by maximizing the likelihood of the training data, which makes training simple and stable. Flowtron learns an invertible mapping of data to a latent space that can be manipulated to control many aspects of speech synthesis (pitch, tone, speech rate, cadence, accent).

Our mean opinion scores (MOS) show that Flowtron matches state-of-the-art TTS models in terms of speech quality. In addition, we provide results on control of speech variation, interpolation between samples and style transfer between speakers seen and unseen during training.

Visit our website for audio samples.

Pre-requisites

  1. NVIDIA GPU + CUDA cuDNN

Setup

  1. Clone this repo: git clone https://github.com/NVIDIA/flowtron.git
  2. CD into this repo: cd flowtron
  3. Initialize submodule: git submodule update --init; cd tacotron2; git submodule update --init
  4. Install PyTorch
  5. Install python requirements or build docker image
    • Install python requirements: pip install -r requirements.txt

Training from scratch

  1. Update the filelists inside the filelists folder to point to your data
  2. Train using the attention prior and the alignment loss (CTC loss) until attention looks good python train.py -c config.json -p train_config.output_directory=outdir data_config.use_attn_prior=1
  3. Resume training without the attention prior once the alignments have stabilized python train.py -c config.json -p train_config.output_directory=outdir data_config.use_attn_prior=0 train_config.checkpoint_path=model_niters
  4. (OPTIONAL) If the gate layer is overfitting once done training, train just the gate layer from scratch python train.py -c config.json -p train_config.output_directory=outdir train_config.checkpoint_path=model_niters data_config.use_attn_prior=0 train_config.ignore_layers='["flows.1.ar_step.gate_layer.linear_layer.weight","flows.1.ar_step.gate_layer.linear_layer.bias"]' train_config.finetune_layers='["flows.1.ar_step.gate_layer.linear_layer.weight","flows.1.ar_step.gate_layer.linear_layer.bias"]'
  5. (OPTIONAL) tensorboard --logdir=outdir/logdir

Training using a pre-trained model

Training using a pre-trained model can lead to faster convergence. Dataset dependent layers can be ignored

  1. Download our published Flowtron LJS, Flowtron LibriTTS or Flowtron LibriTTS2K model
  2. python train.py -c config.json -p train_config.ignore_layers=["speaker_embedding.weight"] train_config.checkpoint_path="models/flowtron_ljs.pt"

Fine-tuning for few-shot speech synthesis

  1. Download our published Flowtron LibriTTS2K model
  2. python train.py -c config.json -p train_config.finetune_layers=["speaker_embedding.weight"] train_config.checkpoint_path="models/flowtron_libritts2k.pt"

Multi-GPU (distributed) and Automatic Mixed Precision Training (AMP)

  1. python -m torch.distributed.launch --use_env --nproc_per_node=NUM_GPUS_YOU_HAVE train.py -c config.json -p train_config.output_directory=outdir train_config.fp16=true

Inference demo

Disable the attention prior and run inference:

  1. python inference.py -c config.json -f models/flowtron_ljs.pt -w models/waveglow_256channels_v4.pt -t "It is well know that deep generative models have a rich latent space!" -i 0

Related repos

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

Acknowledgements

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

Nearby in the ranking
Similar items