All Projects → deterministic-algorithms-lab → Cross Lingual Voice Cloning

deterministic-algorithms-lab / Cross Lingual Voice Cloning

Licence: bsd-3-clause
Tacotron 2 - PyTorch implementation with faster-than-realtime inference modified to enable cross lingual voice cloning.

Projects that are alternatives of or similar to Cross Lingual Voice Cloning

Dsprites Dataset
Dataset to assess the disentanglement properties of unsupervised learning methods
Stars: ✭ 340 (+220.75%)
Mutual labels:  jupyter-notebook, vae
Parallelwavegan
Unofficial Parallel WaveGAN (+ MelGAN & Multi-band MelGAN) with Pytorch
Stars: ✭ 682 (+543.4%)
Mutual labels:  jupyter-notebook, text-to-speech
Tts
🐸💬 - a deep learning toolkit for Text-to-Speech, battle-tested in research and production
Stars: ✭ 305 (+187.74%)
Mutual labels:  jupyter-notebook, text-to-speech
Parallel-Tacotron2
PyTorch Implementation of Google's Parallel Tacotron 2: A Non-Autoregressive Neural TTS Model with Differentiable Duration Modeling
Stars: ✭ 149 (+40.57%)
Mutual labels:  text-to-speech, vae
Pytorch Mnist Vae
Stars: ✭ 32 (-69.81%)
Mutual labels:  jupyter-notebook, vae
Tts
🤖 💬 Deep learning for Text to Speech (Discussion forum: https://discourse.mozilla.org/c/tts)
Stars: ✭ 5,427 (+5019.81%)
Mutual labels:  jupyter-notebook, text-to-speech
Generative Models
Annotated, understandable, and visually interpretable PyTorch implementations of: VAE, BIRVAE, NSGAN, MMGAN, WGAN, WGANGP, LSGAN, DRAGAN, BEGAN, RaGAN, InfoGAN, fGAN, FisherGAN
Stars: ✭ 438 (+313.21%)
Mutual labels:  jupyter-notebook, vae
Nemo
NeMo: a toolkit for conversational AI
Stars: ✭ 3,685 (+3376.42%)
Mutual labels:  jupyter-notebook, text-to-speech
Asrgen
Attacking Speaker Recognition with Deep Generative Models
Stars: ✭ 31 (-70.75%)
Mutual labels:  jupyter-notebook, text-to-speech
Variational Autoencoder
PyTorch implementation of "Auto-Encoding Variational Bayes"
Stars: ✭ 25 (-76.42%)
Mutual labels:  jupyter-notebook, vae
VAENAR-TTS
PyTorch Implementation of VAENAR-TTS: Variational Auto-Encoder based Non-AutoRegressive Text-to-Speech Synthesis.
Stars: ✭ 66 (-37.74%)
Mutual labels:  text-to-speech, vae
Cs224n Gpu That Talks
Attention, I'm Trying to Speak: End-to-end speech synthesis (CS224n '18)
Stars: ✭ 52 (-50.94%)
Mutual labels:  jupyter-notebook, text-to-speech
Wavegrad
Implementation of Google Brain's WaveGrad high-fidelity vocoder (paper: https://arxiv.org/pdf/2009.00713.pdf). First implementation on GitHub.
Stars: ✭ 245 (+131.13%)
Mutual labels:  jupyter-notebook, text-to-speech
Neural Ode
Jupyter notebook with Pytorch implementation of Neural Ordinary Differential Equations
Stars: ✭ 335 (+216.04%)
Mutual labels:  jupyter-notebook, vae
Human body prior
VPoser: Variational Human Pose Prior
Stars: ✭ 244 (+130.19%)
Mutual labels:  jupyter-notebook, vae
Joint Vae
Pytorch implementation of JointVAE, a framework for disentangling continuous and discrete factors of variation 🌟
Stars: ✭ 404 (+281.13%)
Mutual labels:  jupyter-notebook, vae
Pytorch Vq Vae
PyTorch implementation of VQ-VAE by Aäron van den Oord et al.
Stars: ✭ 204 (+92.45%)
Mutual labels:  jupyter-notebook, vae
Tf Vqvae
Tensorflow Implementation of the paper [Neural Discrete Representation Learning](https://arxiv.org/abs/1711.00937) (VQ-VAE).
Stars: ✭ 226 (+113.21%)
Mutual labels:  jupyter-notebook, vae
Deeplearningmugenknock
でぃーぷらーにんぐを無限にやってディープラーニングでDeepLearningするための実装CheatSheet
Stars: ✭ 684 (+545.28%)
Mutual labels:  jupyter-notebook, vae
Tacotron2
pytorch tacotron2 https://arxiv.org/pdf/1712.05884.pdf
Stars: ✭ 46 (-56.6%)
Mutual labels:  jupyter-notebook, text-to-speech

Tacotron 2 (without wavenet)

DISCLAIMER :- The following code base has been modified according to the paper Learning to Speak Fluently in a Foreign Language:Multilingual Speech Synthesis and Cross-Language Voice Cloning

Dataset Format

The model needs to be provided 2 text files 1 for the purpose of training and 1 for validation. Each line of the txt file should follow the following format :-

<path-to-wav-file>|<text-corresponding-to-speech-in-wav>|<speaker-no>|<lang-no>

<speaker-no> goes from 0 to n-1, where n is the number of speakers.

<lang-no> goes from 0 to m-1 , where m is the number of languages.

Hparams

hparams.training_files, hparams.validation_files need to be set to the path to the txt files of previous section.

hparams.n_speakers, hparams.dim_yo need to be changed to the number of speakers.

hparams.n_langs must be set to number of languages.

To change the languages, add/remove unicode characters in _letters variable of text/symbols.py .

Inference

For inference using the model , run clvc-infer-gh.ipynb with appropriate speaker and language number.

TODO

See Projects

Old Readme.md

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

This implementation includes distributed and automatic mixed precision support and uses the LJSpeech dataset.

Distributed and Automatic Mixed Precision support relies on NVIDIA's Apex and AMP.

Visit our website for audio samples using our published Tacotron 2 and WaveGlow models.

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. Initialize submodule: git submodule init; git submodule update
  5. 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
  6. Install PyTorch 1.0
  7. Install Apex
  8. 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

Training using a pre-trained model

Training using a pre-trained model can lead to faster convergence
By default, the dataset dependent text embedding layers are ignored

  1. Download our published Tacotron 2 model
  2. python train.py --output_directory=outdir --log_directory=logdir -c tacotron2_statedict.pt --warm_start

Multi-GPU (distributed) and Automatic Mixed Precision 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.

Related repos

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].