whatmodel.sh / tts / VoiceCraft 830M TTSEnhanced

VoiceCraft 830M TTSEnhanced is an open-weights text-to-speech model from Puyuan Peng et al. (UT Austin), released April 2024. Its published size is 0.83B parameters. Licence: coqui-public-model-license.

Catalogue identity notes

pyp1/VoiceCraft 830M_TTSEnhanced.pth (committed 2024-04-27), the TTS-finetuned 830M checkpoint. Distinct from giga830M (voicecraft-830m). GitHub README: weights under the Coqui Public Model License 1.0.0 (HF card tag says cc-by-nc-sa-4.0).

Model information sources

· Parameter count ↗

Size from the maker official model name (830M_TTSEnhanced, announced in the official README as the 830M TTS Enhanced model); it is the 830M VoiceCraft model fine-tuned with the TTS objective, and the paper states "Our Main model has 830M parameters" (https://arxiv.org/html/2403.16973). Transformer LM only; excludes the 56M Encodec codec. No sentence states the fine-tuned checkpoint count separately.

37.3±8.4#93 of 118 text-to-speech modelsfrom 2 benchmark results across 1 source* thinly tested, treat the rank as provisional

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 VoiceCraft 830M TTSEnhanced, out of 148 with a score, then more from Puyuan Peng et al. (UT Austin).

#modelscorewhereRAMreleased
116Gemini 3.8 Flash TTS Google37±3api price unknown2026-09
117Pheme 300M PolyAI37±3local~3.6GB2024-01
118VoiceCraft 830M TTSEnhanced Puyuan Peng et al. (UT Austin)37±8local~4.5GB2024-04
119Gemini 3.8 Flash-Lite TTS Google37±3api price unknown2026-09
120Eleven v4 ElevenLabs37±4api $80.00/M chars2026-09
more from Puyuan Peng et al. (UT Austin)
126VoiceCraft 830M (giga830M) Puyuan Peng et al. (UT Austin)32±4local~4.5GB2024-03

see all text-to-speech models · find the ones that fit your machine

$ what it's good at

voice cloning▁·▁▁▃▁▁▁▇█▃▃ #33 of 37 * · 41% of its score · 1 test
testresultvs the others in its rundifficultycountswhy
Seed-TTS test-en · Whisper large-v3 WER7.6% ✎▃···▂▂▂▂█▆▄▂ beats 0/35avg 3.6%▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇ 41%blunt
other tests1 not in a task · 31% of its score
testresultvs the others in its rundifficultycountswhy
LibriSpeech test-clean zero-shot TTS · HuBERT-large WER4.7% ✎█·█········█ beats 0/2avg 2.8%▇▇▇▇▇▇▇▇▇▇▇▇ 31%blunt · small run

$ where to run it

Other ways to run it

  1. Run it as published · needs ~4.53 GB, NVIDIA only · from github.com/jasonppy
    git clone https://github.com/jasonppy/VoiceCraft.git && cd VoiceCraft && conda create -n voicecraft python=3.9.16 && conda activate voicecraft && pip install -e git+https://github.com/facebookresearch/audiocraft.git@c5157b5bf14bf83449c17ea1eeb66c19fb4bc7f0#egg=audiocraft && pip install xformers==0.0.22 && pip install torchaudio==2.0.2 torch==2.0.1 && apt-get install ffmpeg && apt-get install espeak-ng && pip install tensorboard==2.16.2 && pip install phonemizer==3.2.1 && pip install datasets==2.16.0 && pip install torchmetrics==0.11.1 && pip install huggingface_hub==0.22.2 && wget https://huggingface.co/pyp1/VoiceCraft/resolve/main/encodec_4cb2048_giga.th -O ./pretrained_models/encodec_4cb2048_giga.th && python -c "import os; os.environ['USER'] = 'me'; import torch, torchaudio; from argparse import Namespace; from data.tokenizer import AudioTokenizer, TextTokenizer; from models import voicecraft; from inference_tts_scale import inference_one_sample; device = 'cuda' if torch.cuda.is_available() else 'cpu'; model = voicecraft.VoiceCraft.from_pretrained('pyp1/VoiceCraft_830M_TTSEnhanced'); phn2num = model.args.phn2num; config = vars(model.args); model.to(device); audio_tokenizer = AudioTokenizer(signature='./pretrained_models/encodec_4cb2048_giga.th', device=device); text_tokenizer = TextTokenizer(backend='espeak'); audio_fn = './demo/5895_34622_000026_000002.wav'; info = torchaudio.info(audio_fn); prompt_end_frame = int(3.6 * info.sample_rate); decode_config = {'top_k': 40, 'top_p': 1, 'temperature': 1, 'stop_repetition': 3, 'kvcache': 1, 'codec_audio_sr': 16000, 'codec_sr': 50, 'silence_tokens': [1388, 1898, 131], 'sample_batch_size': 3}; concated_audio, gen_audio = inference_one_sample(model, Namespace(**config), phn2num, text_tokenizer, audio_tokenizer, audio_fn, 'Gwynplaine had, besides, for his work and for his feats of strength, I cannot believe that the same model can also do text to speech synthesis too.', device, decode_config, prompt_end_frame); torchaudio.save('gen.wav', gen_audio[0].cpu(), 16000)"

Weights and documentation: huggingface.co/pyp1 ↗

$ how the score was worked out · Amphion MaskGCT README · zero… 72%

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

sourceresultsshare of the scorelicence
Amphion MaskGCT README · zero-shot TTS results table2▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇ 72%MIT
prior · pull toward the middle▇▇▇▇▇▇▇▇ 28%
weighted average= 37.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