whatmodel.sh / tts / VITS (VCTK multi-speaker)
VITS (VCTK multi-speaker)
↗ share
+ contribute
VITS (VCTK multi-speaker) is an open-weights text-to-speech model from Kakao Enterprise (Jaehyeon Kim et al.), released June 2021. Licence: mit.
Catalogue identity notes
jaywalnut310/vits official VCTK multi-speaker checkpoint (pretrained_vctk.pth), the landmark 2021 end-to-end VITS model. Distinct from the LJSpeech checkpoint and from Coqui/Piper VITS derivatives.
Score within the Vapi Humanness · Bradley–Terry rating, 2026-09-25 snapshot comparison set only.
$ how it compares
The text-to-speech models ranked either side of VITS (VCTK multi-speaker), out of 148 with a score.
| # | model | score | where |
|---|---|---|---|
| 122 | 36±10 | local | |
| 123 | 36±4 | api $40.00/M chars | |
| 124 | 34±5 | local | |
| 125 | 34±5 | api $7.00/M chars +local | |
| 126 | 32±4 | local |
see all text-to-speech models · find the ones that fit your machine
$ what it's good at
other tests3 not in a task · 92% of its score
| test | result | vs the others in its run | counts |
|---|---|---|---|
| VITS 2021 VCTK human MOS lab | 4.38 / 5 ✎ | █····█·····█ beats 2/2 | 46% |
| EmergentTTS · 6-category preference | 8.5% ✎ | ▅▅▃▃█▅▅▃·▃·▅ beats 0/16 | 30% |
| EmergentTTS · 6-category WER | 27.5% ✎ | ▂▄··▂▄▄··█▄▆ beats 2/16 | 15% |
$ where to run it
Other ways to run it
- Run it as published · needs ~0.16 GB, NVIDIA only · from github.com/jaywalnut310
git clone https://github.com/jaywalnut310/vits && cd vits && pip install -r requirements.txt && apt-get install espeak && cd monotonic_align && python setup.py build_ext --inplace && cd .. && python -c "import torch, commons, utils; from models import SynthesizerTrn; from text.symbols import symbols; from text import text_to_sequence; from scipy.io.wavfile import write; hps = utils.get_hparams_from_file('./configs/vctk_base.json'); net_g = SynthesizerTrn(len(symbols), hps.data.filter_length // 2 + 1, hps.train.segment_size // hps.data.hop_length, n_speakers=hps.data.n_speakers, **hps.model).cuda(); _ = net_g.eval(); _ = utils.load_checkpoint('/path/to/pretrained_vctk.pth', net_g, None); text_norm = text_to_sequence('VITS is Awesome!', hps.data.text_cleaners); text_norm = commons.intersperse(text_norm, 0) if hps.data.add_blank else text_norm; stn_tst = torch.LongTensor(text_norm); torch.set_grad_enabled(False); x_tst = stn_tst.cuda().unsqueeze(0); x_tst_lengths = torch.LongTensor([stn_tst.size(0)]).cuda(); sid = torch.LongTensor([4]).cuda(); audio = net_g.infer(x_tst, x_tst_lengths, sid=sid, noise_scale=.667, noise_scale_w=0.8, length_scale=1)[0][0,0].data.cpu().float().numpy(); write('vctk.wav', hps.data.sampling_rate, audio)"
Weights and documentation: github.com/jaywalnut310 ↗
$ how the score was worked out · VITS: ICML 2021 original list… 46%, EmergentTTS-Eval six-category… 45%
Each result implies a score on its own, after adjusting for how hard its test is and who ran it. The score is their weighted average, with a small pull toward the middle for thinly tested models. Each test's weight is its counts column above; here it's added up by who ran the tests. How it works
| source | results | share of the score |
|---|---|---|
| 1 | 46% | |
| 2 | 45% | |
| prior · pull toward the middle | 8% | |
| weighted average | = 34.3 |
$ improve this page
Use a short GitHub form or edit the data through a pull request. Every number needs a source; here's which ones we can use.
data updated · sources and licences · json