This repository contains Ming-3.0-tts-tiny, the Ming-3.0-tts mixture-of-experts checkpoint built on Ling V3. Its Ling V3 backbone has 7.9B total parameters and activates about 1.3B parameters per token. The repository includes sharded weights, supporting model code, audio tokenizer, speaker encoder and text tokenizer.
Inference requires the Ming-3.0-tts GitHub repository. This Hugging Face repository is for checkpoint distribution and does not provide a standalone inference setup. Clone the GitHub repository and follow its README for the current dependencies, inference code and usage instructions. The CLI scripts and Python APIs referenced below are provided by the GitHub repository.
Zero-shot voice cloning from a short reference clip
Voice Design from a natural-language speaker description
Free-form control of delivery and speaking style
Built-in Chinese and English voices
Multilingual synthesis and Sichuanese/Cantonese dialect control
14 inline tags for breath, cough, sigh, laughter, hesitation, surprise and question/confirmation sounds in Chinese or English
Explicit emotion, speed, pitch and volume control
Multi-speaker dialogue from a script and speaker references (podcast)
Recommended built-in voices: UK_George, US_Emma, 灵小柔 and 灵楷. See the voice catalog for the full list and voice descriptions. Use the exact ip values shown.
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 in a dedicated environment, as other dependency versions differ from 0.5B. We recommend using NVIDIA H800 for inference.
Loading configures the release runtime (bf16, portable MoE loop, fp32 recurrent state) and checks the checkpoint against it; generate() defaults to cfg_scale=2.0, temperature=0, flow_steps=10, and sigma=0.25.
from ming_tiny import MingTinyTTS
tts = MingTinyTTS.from_pretrained("inclusionAI/Ming-3.0-tts-tiny", device="cuda:0")
tts.generate(
task="seed",
text="傍晚的风从山口吹过来,远处的云慢慢染成了金色。",
prompt_wav="data/wavs/10002287-00000094.wav",
prompt_text="在此奉劝大家别乱打美白针。",
target_language="Chinese", # English for English text
output_path="outputs/seed.wav",
)
Each call selects one task and accepts the inputs listed below:
Task
Reference audio
Reference text
target_language
Controls
seed
one
required
Chinese / English, required
—
multilingual
one
required
German / Spanish / French / Korean / Japanese
—
paralinguistic
one
required
Chinese / English
inline tags in text
podcast
one per speaker
one per speaker, same order
inferred from the text
speaker_N: at the start of every line
basic
one
not accepted
—
speed, pitch, volume, all three
emotion
one
not accepted
—
emotion
dialect
one
not accepted
—
dialect: 川渝话 / 广粤话
freeform
one
not accepted
—
instruction
voice_design
none
—
—
style
ip
none
—
—
ip
Freeform always requires a reference clip and cannot be combined with voice design, a built-in voice, emotion, dialect or attribute controls. For podcast, start every dialogue line with speaker_N: and provide one reference audio clip and transcript per speaker, in speaker order. Repeat --prompt_wav and --prompt_text on the command line.
See the Tiny examples for a Podcast Python example and examples/one_click/ for scripts for every task. python infer_tiny.py --help lists the CLI arguments.
For installation, follow the vLLM-Omni official installation guide; vLLM-Omni serves this checkpoint through the OpenAI-compatible /v1/audio/speech endpoint. The current recipe targets vLLM 0.32.0. Use a separate environment from the reference inference setup above.
The HF model ID selects the two-stage Ming3-TTS pipeline automatically and downloads the weights and required assets on first launch. Both stages share GPU 0. A complete local model directory may also be used; pass --revision <HF-commit> to pin a remote checkpoint.
After the server is ready, run this reference-free voice design example in another terminal:
The output is a mono 44.1 kHz WAV. Voice cloning uses ref_audio and its matching transcript in ref_text; speech controls use instructions. For voice cloning, dialect and emotion controls, built-in voices, multi-speaker Podcast, and PCM streaming, see the upstream Ming-3.0-TTS recipe.
Synthesize speech through the OpenAI-compatible endpoint:
curl -X POST http://127.0.0.1:8000/v1/audio/speech \
-H "Content-Type: application/json" \
-d '{
"model": "inclusionAI/Ming-3.0-tts-tiny",
"input": "Get the trust fund to the bank early.",
"response_format": "wav",
"seed": 123
}' \
--output speech.wav
response_format accepts wav, mp3, flac, and pcm. For zero-shot voice cloning, pass ref_audio (a server-side path or a data: URL) together with ref_text, the transcript of the reference recording. See the SGLang-Omni cookbook for details.
Bold and underline mark the best and second-best values among the listed open-source models; ties share a mark. Seed-TTS and NVbench-GT are unranked reference rows.
Voice cloning and built-in character voices are provided for research and legitimate creative use. Do not use them to impersonate a real person without consent, to deceive, or for any illegal purpose.
Label synthetic speech as synthetic where it could be mistaken for a real recording.
The authors accept no liability for misuse. If you find abuse of this project, please report it to us.