whatmodel.sh / tts / DMOSpeech 2

DMOSpeech 2 is an open-weights text-to-speech model from Columbia University / NewsBreak (Yinghao Aaron Li, Xilin Jiang et al.), released July 2025. Its published size is 0.3B parameters. Licence: mit.

Catalogue identity notes

yl4579/DMOSpeech2 release @b2db04b (created 2025-07-21, the day after arXiv:2507.14988v1): model_85000.pt (DMD2-distilled student, bundles the F5-TTS-architecture teacher the authors trained themselves for 2M steps, used only for teacher-guided sampling) and model_1500.pt (GRPO-finetuned duration predictor). params_b is the paper's 0.3B for the student-only configuration. Card licence MIT. Not F5-TTS: the teacher is the authors' own training run, not a SWivid checkpoint. No copy-pasteable CLI (demo notebook only).

61.5±3.7#37 of 118 text-to-speech modelsfrom 4 benchmark results across 1 source

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 DMOSpeech 2, out of 148 with a score.

#modelscorewhereRAMreleased
44Qwen3-TTS 12Hz 0.6B Base Alibaba (Qwen)62±2local~2.5GB2026-01
45Eleven Flash v2 ElevenLabs62±3api $50.00/M chars2024-12
46DMOSpeech 2 Columbia University / NewsBreak (Yinghao Aaron Li, Xilin Jiang et al.)62±4local~4.3GB2025-07
47Eleven Turbo v2 ElevenLabs61±3api $50.00/M chars2023-11
48Inworld Realtime TTS-2 Inworld61±2api $25.00/M chars2026-08

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

$ what it's good at

voice cloning▁·▁▁▁▁▁▁▇█▃▃ #19 of 37 · 95% of its score · 4 tests

Beats Gemini 3.1 Flash TTS Preview, Fun-CosyVoice3-0.5B-2512, MOSS-TTS v1.5 (8B) here, though they rank higher overall.

testresultvs the others in its rundifficultycountswhy
Seed-TTS test-en · speaker similarity (WavLM-large SV) lab69.8% ✎▁·▂▂▂█▆▃▅··▂ beats 14/30medium · avg 53%▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇ 37%at its level
Seed-TTS test-zh · speaker similarity (WavLM-large SV) lab76.0% ✎▁·▂··▂·█▄·▃▄ beats 9/25medium · avg 62%▇▇▇▇▇▇▇▇▇▇▇▇▇▇ 35%typical
Seed-TTS test-en · Whisper large-v3 WER lab1.8% ✎▁···▂▂▂▂█▆▄▂ beats 21/35avg 3.6%▇▇▇▇▇ 13%blunt
Seed-TTS test-zh · Paraformer CER lab1.5% ✎▁·▂▁▁▁▃▃▅█·▂ beats 7/30avg 2.1%▇▇▇▇ 9.5%blunt

$ where to run it

Other ways to run it

  1. Run it as published · needs ~4.34 GB, NVIDIA only · from github.com/yl4579
    conda create -n dmo2 python=3.10 && conda activate dmo2 && git clone https://github.com/yl4579/DMOSpeech2.git && cd DMOSpeech2 && pip install -r requirements.txt && mkdir ckpts && cd ckpts && wget https://huggingface.co/yl4579/DMOSpeech2/resolve/main/model_85000.pt && wget https://huggingface.co/yl4579/DMOSpeech2/resolve/main/model_1500.pt && cd ../src && python -c "from infer import DMOInference; import soundfile as sf; tts = DMOInference(student_checkpoint_path='../ckpts/model_85000.pt', duration_predictor_path='../ckpts/model_1500.pt', device='cuda', model_type='F5TTS_Base'); generated_audio = tts.generate(gen_text='I don\'t really care what you call me. I\'ve been a silent spectator, watching species evolve, empires rise and fall. But always remember, I am mighty and enduring.', audio_path='f5_tts/infer/examples/basic/basic_ref_en.wav', prompt_text='Some call me nature, others call me mother nature.'); sf.write('generated.wav', generated_audio, 24000)"

Weights and documentation: huggingface.co/yl4579 ↗

$ how the score was worked out · DMOSpeech 2: Reinforcement Le… 95%

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
DMOSpeech 2: Reinforcement Learning for Duration Prediction in Metric-Optimized Speech Synthesis (arXiv:2507.14988v1) · lab-reported4▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇ 95%CC BY-SA 4.0
prior · pull toward the middle▇▇ 5%
weighted average= 61.5

$ 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