inclusionAI/Ming-3.0-tts
Python
Captured source
source ↗inclusionAI/Ming-3.0-tts
Language: Python
License: MIT
Stars: 54
Forks: 3
Open issues: 2
Created: 2026-10-19T07:03:25Z
Pushed: 2026-10-19T13:17:16Z
Default branch: main
Fork: no
Archived: no
README:
Ming-3.0-tts
Multilingual speech synthesis with free-form and paralinguistic control.
🤗 Hugging Face| 🤖 ModelScope | 📑 Blog & Demos | 💬 DingTalk(钉钉)
Ming-3.0-tts provides two speech-generation models: 0.5b, a dense model, and tiny, a MoE model built on Ling V3 (7.9B total · 1.3B active).
🏆 Artificial Analysis Leaderboards
On the independent Artificial Analysis text-to-speech leaderboards (October 2026), Ming-3.0-tts ranks 1st among open-weights models on Controlled Voice, 1st overall on Pronunciation Robustness, and 3rd among open-weights models on Provider Voice. Ranks change as new models are added.
| Leaderboard | Setting | Ming-3.0-tts | Rank | | --- | --- | :---: | --- | | Controlled Voice | Arena preference Elo; every model clones the same 8 voices (4 US, 4 UK) | 1069 | 1st among open-weights · 13th overall | | Pronunciation Robustness | Share of highlighted spans in English text that human reviewers judged correctly pronounced | 93.2% | 1st overall | | Provider Voice | Arena preference Elo; each model uses its own native voices | 1188 | 3rd among open-weights · 17th overall |
Within Pronunciation Robustness, Ming-3.0-tts also ranks 1st on Expanding Shorthand (text normalization, 96.5%) and Preserving Exact Sequences (sequence fidelity, 90.6%).
Featured Abilities
- Voice creation: clone a reference voice, design one from text, or choose from 100+ Chinese and five English built-in voices.
- Free-form control: guide speech delivery with natural-language instructions.
- Paralinguistic control: insert 14 inline tags for laughter, sighs, and other vocal expressions in Chinese or English.
- Languages and dialects: synthesize Chinese, English, German, Spanish, French, Korean and Japanese, plus Sichuanese and Cantonese.
- Emotion and attributes: control emotion, or adjust speed, pitch and volume.
- Multi-speaker dialogue: generate a conversation from a script and speaker references (tiny only).
Capabilities use separate task modes, not arbitrary combinations. See the [Cookbook](#cookbook) for supported inputs, [Performance](#performance) for benchmarks, and Blog & Demos for audio examples.
Demo Video
https://github.com/user-attachments/assets/4062ba4c-7d2d-4a45-a19b-760100b79f9c
Architecture
Text and task-specific control tokens condition a language model with a DiT patch head and an audio tokenizer. Both models share this generation framework.
News
- 🔥 [2026.10] Ming-3.0-tts-0.5b and Ming-3.0-tts-tiny are released, with inference code, a task cookbook and the evaluation tables below.
Roadmap
- [x] Ming-3.0-tts-0.5b weights and inference code
- [x] Ming-3.0-tts-tiny weights and inference code
- [x] Ming-3.0-tts-tiny benchmarks
- [x] vLLM-Omni accelerated inference
- [ ] Technical report
Contents
- [Demo Video](#demo-video)
- [Models](#models)
- [Quick Start](#quick-start-)
- [Cookbook](#cookbook)
- [Built-in voices](#built-in-voices)
- [Performance](#performance)
- [Limitations](#limitations)
- [Usage Disclaimer](#usage-disclaimer)
Models
Each release checkpoint bundles the backbone, DiT head, audio tokenizer, speaker encoder and text tokenizer. The 0.5b release layout is shown below; tiny uses sharded weights with model.safetensors.index.json.
Ming-3.0-tts-0.5b/ ├── config.json # model_type: dense, auto_map -> BailingMMConfig ├── configuration.json # ModelScope task descriptor ├── model.safetensors # backbone + audio VAE + DiT head + aggregator ├── campplus.onnx # speaker embedding extractor ├── tokenizer.json # plus vocab.json / merges.txt / added_tokens.json ├── tokenizer_config.json # special_tokens_map.json / chat_template.jinja └── README.md
Quick Start 🚀
Installation
git clone https://github.com/inclusionAI/Ming-3.0-tts.git cd Ming-3.0-tts pip install -r requirements.txt # Ming-3.0-tts-0.5b
Or build the 0.5b Docker image (torch 2.6, CUDA 12.4, transformers==4.46.3):
docker build -f docker/Dockerfile -t ming-tts .
The 0.5b environment has been tested on NVIDIA H800-80GB and H20-96G. For 0.5b, flash-attn is optional; inference falls back to PyTorch SDPA.
Tiny uses a separate reference inference environment: Python 3.10.15, PyTorch and torchaudio 2.7.1+cu118 (CUDA 11.8 wheels), and transformers==4.46.3. Install the pinned dependencies from [requirements-tiny.txt](requirements-tiny.txt) in a dedicated environment, as other dependency versions differ from 0.5b. We recommend using NVIDIA H800 for inference.
conda create -n ming-tiny python=3.10.15 -y && conda activate ming-tiny pip install -r requirements-tiny.txt
Model Download
pip install "huggingface_hub[cli]" hf download inclusionAI/Ming-3.0-tts-0.5b --local-dir Ming-3.0-tts-0.5b
In mainland China, ModelScope is usually faster:
pip install modelscope modelscope download --model inclusionAI/Ming-3.0-tts-0.5b --local_dir Ming-3.0-tts-0.5b
Replace 0.5b with tiny for the other variant.
Text Normalization
Numbers, dates, units and symbols are normalized with FST grammars, which need pynini. It has no universal wheel:
conda install -c conda-forge pynini==2.1.6 # or: pip install pynini==2.1.6
It is loaded lazily; pass --no_text_normalization to skip it.
Ming-3.0-tts-0.5b
python infer.py \ --model_path inclusionAI/Ming-3.0-tts-0.5b \ --task TTS \ --language_id Chinese \ --text "傍晚的风从山口吹过来,远处的云慢慢染成了金色。" \ --prompt_wav_path data/voice_presets/voice_audio/lingguang.wav \ --prompt_text "诶,你今天有空吗?我们能不能聊聊这件事啊?" \ --use_spk_emb \ --output output/tts.wav
Or from Python:
from ming_tts import MingTTS
model = MingTTS("inclusionAI/Ming-3.0-tts-0.5b")
model.synthesize(
task="TTS",
language_id="Chinese", # English for English text
text="傍晚的风从山口吹过来,远处的云慢慢染成了金色。",
prompt_wav_path="data/voice_presets/voice_audio/lingguang.wav",...Excerpt shown — open the source for the full document.