whatmodel.sh / tts / SpeechT5 TTS

SpeechT5 TTS is an open-weights text-to-speech model from Microsoft, released February 2023. Licence: mit.

Catalogue identity notes

microsoft/speecht5_tts with microsoft/speecht5_hifigan, conditioned on a speaker x-vector (speechbrain/spkrec-xvect-voxceleb) from the reference clip.

23.3±3.4#113 of 118 text-to-speech modelsfrom 3 benchmark results across 2 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 SpeechT5 TTS, out of 148 with a score, then more from Microsoft.

#modelscorewhereRAMreleased
138OpenVoice V2 MyShell26±3local~0.8GB2024-04
139Bark Suno25±3local~4.5GB2023-04
140SpeechT5 TTS Microsoft23±3local~0.7GB2023-02
141MetaVoice 1B v0.1 MetaVoice20±3local~9.7GB2024-02
142Tacotron 2 + HiFi-GAN (VCTK, VITS study) VITS study (public implementations)19±6comparison only2021-06
more from Microsoft
70VibeVoice 1.5B Microsoft53±6local~5.4GB2025-08
81Azure Ameha Neural Microsoft50±16comparison only2021-10
82Azure Mekdes Neural Microsoft50±16comparison only2021-10

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

$ what it's good at

other tests3 not in a task · 95% of its score
testresultvs the others in its rundifficultycountswhy
TTSDS2 listening test · speaker-similarity MOS (4 English domains)2.63 / 5 ✎▅·█▅▅·█▃▃▅·▅ beats 4/17easy · avg 4.03 / 5▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇ 82%at its level
TTSDS2 listening test · naturalness MOS (4 English domains)1.98 / 5 ✎▅··▃▅··▅█▅██ beats 0/17medium · avg 3.30 / 5▇▇▇ 7.1%blunt · at its level
TTSDS2 multilingual benchmark · English overall (YouTube, 2025 round)82.6% ✎▂▂█·▂·█▆▂·▄▂ beats 5/17very easy · avg 89%▇▇▇ 6.4%blunt

$ where to run it

Other ways to run it

  1. Run it as published · needs ~0.65 GB · from huggingface.co/microsoft (official)
    uv run --with transformers --with sentencepiece --with 'datasets[audio]<4' --with soundfile --with torch python -c "from transformers import SpeechT5Processor, SpeechT5ForTextToSpeech, SpeechT5HifiGan; from datasets import load_dataset; import torch; import soundfile as sf; processor = SpeechT5Processor.from_pretrained('microsoft/speecht5_tts'); model = SpeechT5ForTextToSpeech.from_pretrained('microsoft/speecht5_tts'); vocoder = SpeechT5HifiGan.from_pretrained('microsoft/speecht5_hifigan'); inputs = processor(text='Hello, my dog is cute.', return_tensors='pt'); embeddings_dataset = load_dataset('Matthijs/cmu-arctic-xvectors', split='validation'); speaker_embeddings = torch.tensor(embeddings_dataset[7306]['xvector']).unsqueeze(0); speech = model.generate_speech(inputs['input_ids'], speaker_embeddings, vocoder=vocoder); sf.write('speech.wav', speech.numpy(), samplerate=16000)"

Official weights and documentation: huggingface.co/microsoft ↗

$ how the score was worked out · TTSDS2 listening test results… 89%, TTSDS2 multilingual benchmark… 6%

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▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇ 89%MIT
TTSDS2 multilingual benchmark results (ttsds/leaderboard_data)1▇▇ 6%MIT
prior · pull toward the middle▇ 5%
weighted average= 23.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