StyleTTS2
Human-level TTS via style diffusion and adversarial training with speech language models
About
StyleTTS2 is the research TTS model that claimed the first human-level synthesis on LJSpeech and VCTK: it models speaking style as a latent random variable via diffusion (no reference speech needed at inference) and trains adversarially against large pretrained speech language models like WavLM with differentiable duration modeling. Pretrained single-speaker (LJSpeech) and multi-speaker (LibriTTS) checkpoints are on Hugging Face with Colab demos, plus a finetuning script for new speakers and strong zero-shot speaker adaptation. An independent 2025 human-fooling-rate study ranked it the best open-source TTS system, ahead of XTTS, F5-TTS, and GPT-SoVITS — though below actual human recordings. MIT licensed, but note the GPL dependency caveat and the voice-consent rule on pretrained models.
What it can do
- Style diffusion: varied, text-appropriate speaking styles without reference audio
- WavLM SLM adversarial training for human-level naturalness
- Zero-shot speaker adaptation (best public-model score per independent study)
- Single-speaker (LJSpeech) and multi-speaker (LibriTTS) pretrained checkpoints
- Finetuning script for new speakers on base multispeaker models
- Colab demos + HF Space demo + audio samples page (styletts2.github.io)
- Emotional/expressive synthesis with wide F0/energy coverage (paper Fig. 3)
Setup
Research-repo path (verified from README):
```bash
git clone https://github.com/yl4579/StyleTTS2.git && cd StyleTTS2
pip install -r requirements.txt
pip install phonemizer && sudo apt-get install espeak-ng
```
Then run the demo notebooks: Demo/Inference_LJSpeech.ipynb (single-speaker) or Demo/Inference_LibriTTS.ipynb (multi-speaker; needs reference_audio.zip from Hugging Face yl4579/StyleTTS2-LibriTTS). Checkpoints: https://huggingface.co/yl4579/StyleTTS2-LJSpeech and https://huggingface.co/yl4579/StyleTTS2-LibriTTS.
Packaged path: pip install styletts2 (fully MIT-licensed, uses gruut — README notes lower quality than the phonemizer path); GPL-licensed importable fork with streaming API at github.com/NeuralVox/StyleTTS2.
Licensing note: the README requires you to disclose that outputs are synthesized (or have the speaker's permission) when using pretrained models on non-training-set voices.
Prerequisites
Python >= 3.7, PyTorch. Modern NVIDIA GPU recommended (README notes high-pitched noise artifacts on older GPUs from float differences). espeak-ng for the phonemizer path. Hugging Face checkpoints download (~hundreds of MB). Consent/disclosure for any published cloned voice.
Use cases
Works with
Trust score — 7/10
Scored 7/10 (verified tier, metrics-v1). Evidence: 6,364 GitHub stars (log-scaled vs catalog peers); last push 794d ago; 0 releases/12mo; 118 open issues. Manual review: independent 2025 study ranked it best open-source TTS (ahead of XTTS/F5-TTS) but below humans; repo quiet since Aug 2024; pretrained voices carry consent/disclosure condition. License: MIT (importable inference path depends on a GPL-licensed package — README's own warning).
★ 6,364 GitHub stars
How the trust score is built
Full methodology →- Adoption · stars/downloads, log-scaled vs peers
- 7.3/10
- Maintenance · recency, releases, issue load
- 3.2/10
- Openness · license + docs
- 10.0/10
- Manual review · sanity read + red-flag check
- 8.0/10
- · 6,364 GitHub stars (log-scaled vs catalog peers)
- · last push 794d ago; 0 releases/12mo; 118 open issues
- · manual review: independent 2025 study ranked it best open-source TTS (ahead of XTTS/F5-TTS) but below humans; repo quiet since Aug 2024; pretrained voices carry consent/disclosure condition
Sources
Every fact above was checked against these sources. Where a claim comes from the provider and couldn't be independently verified, the text says so.