whatmodel.sh / tts / Amphion VALL-E v2 recipe (MLS)

Amphion VALL-E v2 recipe (MLS) is an open-weights text-to-speech model from Amphion (CUHK-Shenzhen), released June 2024. Licence: mit.

Catalogue identity notes

amphion/valle (valle_ar_mls_196000.bin + valle_nar_mls_164000.bin with SpeechTokenizer): Amphion's VALL-E v2-recipe reproduction. Not Microsoft's VALL-E 2 (unreleased). Card has no licence tag; Amphion repository is MIT.

36.3±2.9#96 of 118 text-to-speech modelsfrom 6 benchmark results across 4 sources

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 Amphion VALL-E v2 recipe (MLS), out of 148 with a score, then more from Amphion (CUHK-Shenzhen).

#modelscorewhereRAMreleased
119Gemini 3.8 Flash-Lite TTS Google37±3api price unknown2026-09
120Eleven v4 ElevenLabs37±4api $80.00/M chars2026-09
121Amphion VALL-E v2 recipe (MLS) Amphion (CUHK-Shenzhen)36±3local~2.9GB2024-06
122NeuTTS Air Neuphonic36±10local~4GB2025-10
123Eleven v4 Turbo ElevenLabs36±4api $40.00/M chars2026-09
more from Amphion (CUHK-Shenzhen)
53MaskGCT Amphion (CUHK-Shenzhen)59±1local~6.6GB2024-10
95Amphion VALL-E (LibriLight 6k) Amphion (CUHK-Shenzhen)47±14local~1.6GB2024-01
97Vevo (Amphion) Amphion (CUHK-Shenzhen)46±3local~6.8GB2024-12

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

$ what it's good at

other tests6 not in a task · 97% of its score
testresultvs the others in its rundifficultycountswhy
TTSDS2 listening test · speaker-similarity MOS (4 English domains)3.43 / 5 ✎▅·█▅▅·█▃▃▅·▅ beats 10/17easy · avg 4.03 / 5▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇ 64%at its level
VERSA TTS demo · LibriSpeech test-clean UTMOS3.65 / 5 ✎▄·····▄·▄█·▄ beats 2/5easy · avg 4.11 / 5▇▇▇▇▇▇▇▇ 21%at its level
TTSDS2 listening test · naturalness MOS (4 English domains)2.90 / 5 ✎▅··▃▅··▅█▅██ beats 6/17medium · avg 3.30 / 5▇▇ 5.6%blunt · at its level
TTSDS2 multilingual benchmark · English overall (YouTube, 2025 round)82.1% ✎▂▂█·▂·█▆▂·▄▂ beats 2/17very easy · avg 89%▇▇ 4.1%blunt
TTSDS v1 · default four-factor score70.3% ✎▃▂····▃·▃▅▂█ beats 0/14very easy · avg 86%▇ 0.8%blunt
VERSA TTS demo · LibriSpeech test-clean Whisper WER27.8% ✎▄··········█ beats 0/5avg 6.4%▇ 0.6%blunt · noisy

$ where to run it

Other ways to run it

  1. Run it as published · needs ~2.86 GB · from github.com/open-mmlab
    git clone https://github.com/open-mmlab/Amphion.git && cd Amphion && git checkout 6b1411c7a415af40a775dc940c3b29fc18d37970 && conda create --name amphion python=3.9.15 && conda activate amphion && sh env.sh && pip install -U transformers==4.41.2 && huggingface-cli download amphion/valle valle_ar_mls_196000.bin valle_nar_mls_164000.bin --local-dir ckpts && mkdir -p ckpts/speechtokenizer_hubert_avg && huggingface-cli download amphion/valle SpeechTokenizer.pt config.json --local-dir ckpts/speechtokenizer_hubert_avg && python -c "import librosa, torch, torchaudio; from models.tts.valle_v2.valle_inference import ValleInference; from models.tts.valle_v2.g2p_processor import G2pProcessor; model = ValleInference(ar_path='ckpts/valle_ar_mls_196000.bin', nar_path='ckpts/valle_nar_mls_164000.bin', speechtokenizer_path='ckpts/speechtokenizer_hubert_avg', device='cpu'); wav, _ = librosa.load('./egs/tts/VALLE_V2/example.wav', sr=16000); wav = torch.tensor(wav, dtype=torch.float32); g2p = G2pProcessor(); prompt_transcript = torch.tensor(g2p('and keeping eternity before the eyes', 'en')[1]).long(); target_transcript = torch.tensor(g2p('Hello, world.', 'en')[1]).long(); batch = {'speech': wav.unsqueeze(0), 'phone_ids': torch.cat([prompt_transcript, target_transcript], dim=-1).unsqueeze(0)}; output_wav = model(batch, [dict(top_p=0.9, top_k=5, temperature=0.95, repeat_penalty=1.0, max_length=2000, num_beams=1)]); torchaudio.save('out.wav', output_wav.squeeze(0), 16000)"

Official weights and documentation: huggingface.co/amphion ↗

$ how the score was worked out · TTSDS2 listening test results… 70%, VERSA toolkit paper: TTS demo… 22%, TTSDS2 multilingual benchmark… 4% and 1 more

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
TTSDS2 listening test results (ttsds/listening_test)2▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇ 70%MIT
VERSA toolkit paper: TTS demonstration (arXiv:2412.17667v2)2▇▇▇▇▇▇▇ 22%CC BY 4.0
TTSDS2 multilingual benchmark results (ttsds/leaderboard_data)1▇ 4%MIT
TTSDS v1 published results1▇ 1%MIT
prior · pull toward the middle▇ 3%
weighted average= 36.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