10000 GitHub - ko-ma-ki/tacotron2: Tacotron 2 - PyTorch implementation with faster-than-realtime inference
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

ko-ma-ki/tacotron2

 
 

Repository files navigation

Tacotron 2 (without wavenet)

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. このリポジトリをクローン
    git clone https://ko-ma-ki/NVIDIA/tacotron2.git
  2. ダウンロードしたフォルダ内に移動
    cd tacotron2
  3. イニシャライズ(WaveGlowフォルダ内にWaveGlowがあるか確認すること)
    git submodule init; git submodule update
  4. condaで適当な仮想環境を作る
  5. anacondaリポジトリからいろいろインストール
    conda install python cmake cython unidecode inflect
  6. PyTorchをインストールする
    最新版が使えないなら過去のバージョンからできるだけ新しいものをインストール
    1.12.0以降なら多分大丈夫
  7. Conda-ForgeリポジトリからLibrosaをインストール conda install -c conda-forge librosa -y
  8. PyOpenJTalkをインストール
    pip install git+https://github.com/r9y9/pyopenjtalk.git --no-build-isolation

Training

  1. python train.py --output_directory=outdir --log_directory=logdir

  1. (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.

About

Tacotron 2 - PyTorch implementation with faster-than-realtime inference

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Jupyter Notebook 79.0%
  • Python 20.5%
  • Other 0.5%
0