05 · 2021–

End-to-end VAE (VITS)

One training stage. Text in, waveform out. A variational autoencoder, a GAN, and a stochastic duration model sharing a loss.

Playable examples

VITS, StyleTTS 2, and NaturalSpeech say the same LJSpeech sentence on the StyleTTS 2 demo page. Then come back to Piper on our bench line.

VITS (Kim, Kong, Son, 2021) argued that two-stage TTS — spectrogram, then vocoder — was an accident of history. If you put a variational autoencoder over waveforms, a normalizing flow, adversarial training, and a stochastic duration predictor in one graph, you can sample speech in parallel and still sound like Tacotron 2.

The stochastic duration predictor is the quiet trick. The same sentence can come out with different rhythm on different draws. That is closer to how people talk than a deterministic duration dump.

Piper is VITS exported to ONNX and phonemized by eSpeak. Kokoro is not VITS — it is a StyleTTS 2 decoder — but it lives in the same ‘small end-to-end model you can actually run’ ecological niche. Listen to Piper and Kokoro on the shared narration line to hear 2021 versus 2025 in that niche.

On this plate

VITS, StyleTTS 2, and NaturalSpeech say the same LJSpeech sentence on the StyleTTS 2 demo page. Then come back to Piper on our bench line.

Kim, Kong, Son (Kakao)2021

VITS

End-to-end VAEopenstreamvendor demo

Making two-stage TTS look overbuilt.

Open Home Foundation2023

Piper

End-to-end VAEopenstreambench clip

Edge and offline deployment; hundreds of community voices.

hexgrad2025

Kokoro 82M

End-to-end VAEopenstreambench clip

Punching far above its size; the default local voice when you do not have a GPU.

All approaches

Kokoro 82M · af_heart