whatmodel.sh / tts / VoiceCraft 830M TTSEnhanced
VoiceCraft 830M TTSEnhanced
↗ share
+ contribute
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
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.
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).
| # | model | score | where | ||
|---|---|---|---|---|---|
| 116 | 37±3 | api price unknown | |||
| 117 | 37±3 | local | |||
| 118 | 37±8 | local | |||
| 119 | 37±3 | api price unknown | |||
| 120 | 37±4 | api $80.00/M chars | |||
| more from Puyuan Peng et al. (UT Austin) | |||||
| 126 | 32±4 | local | |||
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
| test | result | vs the others in its run | counts |
|---|---|---|---|
| Seed-TTS test-en · Whisper large-v3 WER | 7.6% ✎ | ▃···▂▂▂▂█▆▄▂ beats 0/35 | 41% |
other tests1 not in a task · 31% of its score
| test | result | vs the others in its run | counts |
|---|---|---|---|
| LibriSpeech test-clean zero-shot TTS · HuBERT-large WER | 4.7% ✎ | █·█········█ beats 0/2 | 31% |
$ where to run it
Other ways to run it
- 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
| source | results | share of the score |
|---|---|---|
| 2 | 72% | |
| 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