VITS
Making two-stage TTS look overbuilt.
05 · 2021–
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.
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.
Making two-stage TTS look overbuilt.
Edge and offline deployment; hundreds of community voices.
Punching far above its size; the default local voice when you do not have a GPU.