jaywalnut310/vits

★ 7,893⑂ 1,379

VITS: Conditional Variational Autoencoder with Adversarial Learning for End-to-End Text-to-Speech

About jaywalnut310/vits

jaywalnut310/vits is an open-source project on GitHub, mainly written in Python. VITS: Conditional Variational Autoencoder with Adversarial Learning for End-to-End Text-to-Speech It currently holds 7,893 stars and 1,379 forks with 165 open issues, and was last pushed on 2023-12-06 (repository created 2021-05-26).

Project Overview

Git Homed tracks it on the Audio Trending board and on the AI Audio Trending list.

GitHub Repository Details

Repository jaywalnut310/vits · default branch main · size 3423 KB · watchers 55 · source: GitHub REST API and repository README

README

VITS: Conditional Variational Autoencoder with Adversarial Learning for End-to-End Text-to-Speech

Jaehyeon Kim, Jungil Kong, and Juhee Son

In our recent paper, we propose VITS: Conditional Variational Autoencoder with Adversarial Learning for End-to-End Text-to-Speech.

Several recent end-to-end text-to-speech (TTS) models enabling single-stage training and parallel sampling have been proposed, but their sample quality does not match that of two-stage TTS systems. In this work, we present a parallel end-to-end TTS method that generates more natural sounding audio than current two-stage models. Our method adopts variational inference augmented with normalizing flows and an adversarial training process, which improves the expressive power of generative modeling. We also propose a stochastic duration predictor to synthesize speech with diverse rhythms from input text. With the uncertainty modeling over latent variables and the stochastic duration predictor, our method expresses the natural one-to-many relationship in which a text input can be spoken in multiple ways with different pitches and rhythms. A subjective human evaluation (mean opinion score, or MOS) on the LJ Speech, a single speaker dataset, shows that our method outperforms the best publicly available TTS systems and achieves a MOS comparable to ground truth.

Visit our demo for audio samples.

We also provide the pretrained models.

** Update note: Thanks to Rishikesh (ऋषिकेश), our interactive TTS demo is now available on Colab Notebook.

VITS at training VITS at inference
https://github.com/jaywalnut310/vits/blob/HEAD/VITS at training https://github.com/jaywalnut310/vits/blob/HEAD/VITS at inference

Pre-requisites

0. Python >= 3.6 0. Clone this repository 0. Install python requirements. Please refer requirements.txt 1. You may need to install espeak first: apt-get install espeak 0. Download datasets 1. Download and extract the LJ Speech dataset, then rename or create a link to the dataset folder: ln -s /path/to/LJSpeech-1.1/wavs DUMMY1 1. For mult-speaker setting, download and extract the VCTK dataset, and downsample wav files to 22050 Hz. Then rename or create a link to the dataset folder: ln -s /path/to/VCTK-Corpus/downsampled_wavs DUMMY2 0. Build Monotonic Alignment Search and run preprocessing if you use your own datasets.
# Cython-version Monotonoic Alignment Search
cd monotonic_align
python setup.py build_ext --inplace

Preprocessing (g2p) for your own datasets. Preprocessed phonemes for LJ Speech and VCTK have been already provided.

python preprocess.py --text_index 1 --filelists filelists/ljs_audio_text_train_filelist.txt filelists/ljs_audio_text_val_filelist.txt filelists/ljs_audio_text_test_filelist.txt

python preprocess.py --text_index 2 --filelists filelists/vctk_audio_sid_text_train_filelist.txt filelists/vctk_audio_sid_text_val_filelist.txt filelists/vctk_audio_sid_text_test_filelist.txt

Training Exmaple

# LJ Speech
python train.py -c configs/ljs_base.json -m ljs_base

VCTK

python train_ms.py -c configs/vctk_base.json -m vctk_base

Inference Example

See inference.ipynb

GitHub Stars & Activity

7,893Stars
1,379Forks
165Open issues
PythonLanguage

GitHub Popularity

GitHub stars7,893
Forks1,379
Open issues165
Primary languagePython
LicenseMIT
Stars gained today0
Created2021-05-26
Last pushed2023-12-06

Trending History

Trending statusnot on today's boards

Related GitHub Projects

1

huggingface / transformers

Python★ 167,150⑂ 0
→
2

RVC-Boss / GPT-SoVITS

Python★ 62,631⑂ 0
→
3

debpalash / VoiceStudio

Python★ 57,061⑂ 0
→
4

coqui-ai / TTS

Python★ 46,108⑂ 0
→
5

2noise / ChatTTS

Python★ 39,896⑂ 0
→
6

OpenBMB / VoxCPM

Python★ 38,514⑂ 0
→
7

myshell-ai / OpenVoice

Python★ 37,830⑂ 0
→
8

babysor / MockingBird

Python★ 36,897⑂ 0
→

More Trending Repositories