RepoInclusionAI (Ant Group)InclusionAI (Ant Group)published Oct 19, 2026seen 4d

inclusionAI/Ming-3.0-tts

Python

Open original ↗

Captured source

source ↗
published Oct 19, 2026seen 4dcaptured 4dhttp 200method plain

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.