Ming-3.0 TTS réunit clonage vocal, création de voix, sept langues, deux dialectes chinois et des marqueurs expressifs sous licence MIT. Le tableau se complique au déploiement : les tests officiels reposent sur des GPU de datacenter, tandis que le grand checkpoint « Tiny » n’a de petit que le nom dès lors qu’on parle de stockage et de mémoire.
0.5B ou Tiny : le choix à faire avant les benchmarks
Ming-3.0 TTS se décline en un modèle dense 0.5B et un modèle mixture-of-experts totalisant 7.9B de paramètres, baptisé Tiny, qui en active environ 1.3B par token. Le 0.5B est le point de départ logique ; Tiny se justifie si la génération de podcasts multi-intervenants ou son meilleur score de similarité vocale communiqué par l’éditeur compense son empreinte plus lourde.
| Critère de choix | Ming-3.0-tts-0.5B | Ming-3.0-tts-tiny |
|---|---|---|
| Architecture | Dense, backbone Qwen2.5-0.5B | Ling V3 MoE, 7.9B au total / 1.3B actifs |
| Métadonnées du dépôt | 1.48B paramètres BF16 ; 2.96 GB de safetensors | Environ 9B paramètres ; empreinte de dépôt d’environ 18 GB |
| Principal argument | Téléchargement plus léger et résultat indépendant dans une arène | Mode podcast multi-intervenants et meilleure similarité annoncée par l’éditeur |
| Résultat indépendant dans une arène TTS | Oui : 1,188 Elo Provider Voice | Aucun Elo indépendant propre au checkpoint trouvé |
| Recommandations GPU officielles | Testé sur H800-80GB et H20-96G | H800 recommandé |
| Point d’entrée natif | infer.py / MingTTS | infer_tiny.py / MingTinyTTS |
Les noms des modèles désignent surtout leurs backbones, pas l’intégralité de la chaîne de synthèse vocale. Hugging Face dénombre 1,479,454,804 paramètres BF16 pour le paquet 0.5B, car il embarque également les composants de génération de parole. L’activation parcimonieuse de Tiny peut alléger le calcul, mais elle n’efface ni le coût de stockage ni le besoin mémoire de ses experts. Sources : fiche officielle du modèle 0.5B et fiche officielle du modèle Tiny.
Ce qu’inclusionAI a mis à disposition
InclusionAI a publié les deux checkpoints, leurs poids, le code d’inférence, des guides par cas d’usage et le matériel Docker du 0.5B en octobre 2026. Le dépôt officiel consigne cette sortie et centralise les instructions d’installation à jour.
Les deux versions embarquent le backbone linguistique, une tête diffusion-transformer, un tokenizer audio, l’encodeur de locuteur CAM++ et le tokenizer de texte. Elles produisent de l’audio en 44.1 kHz et prennent en charge le chinois, l’anglais, l’allemand, l’espagnol, le français, le coréen et le japonais ; des tâches distinctes sont prévues pour le sichuanais et le cantonais.
Les fonctions communes incluent le clonage zero-shot, la création de voix en langage naturel, plus de 100 voix chinoises, cinq voix anglaises et 14 marqueurs intégrés tels que le rire, la respiration, la toux, le soupir et l’hésitation. Il est aussi possible d’ajuster l’émotion, la vitesse, la hauteur et le volume. Tiny ajoute la génération de podcasts à plusieurs intervenants.
Ces contrôles correspondent à des modes de tâche distincts, et non à des options combinables sans contrainte. La prosodie libre ne peut pas être associée à la création de voix, à une voix intégrée, à une émotion, à un dialecte ou aux réglages d’attributs de base. Un produit qui doit réunir dans une même requête un locuteur cloné, une émotion donnée et un dialecte doit donc vérifier que le contrat de tâche pris en charge permet bien cette combinaison.
Trois façons de l’exécuter en local
Ming-3.0 TTS peut s’utiliser via le code Python natif d’inclusionAI ou le serveur HTTP de SGLang-Omni. Le 0.5B natif est le chemin le moins risqué pour débuter, Tiny en natif expose la tâche podcast, et SGLang-Omni propose l’API la plus propre, sans streaming progressif de l’audio.
| Voie | Idéale pour | Contrainte majeure |
|---|---|---|
| 0.5B natif | Première évaluation et accès à tous les contrôles du 0.5B | Les tests officiels utilisent des H800/H20 |
| Tiny natif | Mode podcast et guide de tâches Tiny | Environnement CUDA 11.8 distinct ; H800 recommandé |
| SGLang-Omni Tiny | Endpoint local /v1/audio/speech | stream=true renvoie malgré tout une forme d’onde terminée |
Le parcours natif 0.5B épingle PyTorch 2.6, CUDA 12.4 et Transformers 4.46.3. La normalisation des nombres, dates, unités et symboles exige pynini==2.1.6.
git clone https://github.com/inclusionAI/Ming-3.0-tts.git
cd Ming-3.0-tts
pip install -r requirements.txt
conda install -c conda-forge pynini==2.1.6
hf download inclusionAI/Ming-3.0-tts-0.5B --local-dir Ming-3.0-tts-0.5b
python tools/preflight.py --model_path ./Ming-3.0-tts-0.5b
Une fois la vérification préalable validée, ce modèle de commande officiel lance un test de clonage :
python infer.py \
--model_path ./Ming-3.0-tts-0.5b \
--task TTS \
--language_id English \
--text "The release candidate passed the final test." \
--prompt_wav_path /path/to/reference.wav \
--prompt_text "The exact transcript of the reference recording." \
--use_spk_emb \
--output output/clone.wav
Tiny demande un environnement distinct, car ses dépendances épinglées ne sont pas les mêmes :
conda create -n ming-tiny python=3.10.15 -y
conda activate ming-tiny
pip install -r requirements-tiny.txt
hf download inclusionAI/Ming-3.0-tts-tiny --local-dir Ming-3.0-tts-tiny
python tools/preflight_tiny.py --model_path ./Ming-3.0-tts-tiny
Pour un service HTTP, SGLang-Omni documente un serveur mono-GPU :
sgl-omni serve --model-path inclusionAI/Ming-3.0-tts-tiny
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": "The release candidate passed the final test.",
"response_format": "wav",
"seed": 123
}' --output speech.wav
SGLang-Omni prend en charge les formats WAV, MP3, FLAC et PCM. Il accepte une référence de clonage, et les chemins ref_audio nus sont résolus côté serveur. Son comportement documenté avec stream=true attend la fin de la synthèse avant de renvoyer un unique corps PCM : il ne permet donc pas de lancer la lecture pendant que la génération se poursuit.
Qualité : clonage convaincant, voix natives plus contrastées
Les données indépendantes directement accessibles les plus solides concernent Ming-3.0-tts-0.5B, et non Tiny. Le 19 octobre 2026, Artificial Analysis attribuait à Ming 1,188 Elo dans Provider Voice, une évaluation utilisant les voix natives des modèles. InclusionAI fait état de son côté d’un score de 1,069 Elo Controlled Voice chez Artificial Analysis, où les modèles clonent les mêmes voix de référence.
| Élément de preuve | Résultat | Lecture |
|---|---|---|
| Artificial Analysis Provider Voice | 1,188 Elo ; 18e le 19 octobre 2026 | Les voix natives sont compétitives, sans dominer la catégorie |
| Controlled Voice, relayé par inclusionAI | 1,069 Elo ; premier parmi les poids ouverts lors de la sortie | Le clonage est le signal le plus fort |
| WER chinois communiqué par l’éditeur | 0.800% pour 0.5B ; 0.820% pour Tiny | Précision de contenu similaire |
| Similarité vocale chinoise communiquée par l’éditeur | 0.758 pour 0.5B ; 0.781 pour Tiny | Tiny privilégie la ressemblance avec le locuteur |
| CER coréen communiqué par l’éditeur | 1.728% pour 0.5B ; 6.000% pour Tiny | Tiny n’est pas le bon choix par défaut en coréen |
Le classement Provider Voice d’Artificial Analysis plaçait Ming, à cette date, derrière Fish Audio Drama 3 Preview et Breeze TTS 2 parmi les modèles à poids ouverts. Provider Voice évalue les voix natives, tandis que Controlled Voice mesure le clonage : les deux classements ne répondent pas à la même question.
Les scores détaillés de Tiny proviennent des tableaux d’évaluation d’inclusionAI. Le laboratoire annonce un WER de tête de 0.325% en allemand et de 0.971% en espagnol, mais le CER coréen grimpe à 6.000%. InclusionAI identifie la précision en coréen comme une limite dans la fiche officielle du modèle Tiny.
Les limites à prendre en compte en production
Ming-3.0 TTS n’affiche ni tarif d’API hébergée, ni résultat indépendant dans une arène spécifique à Tiny, ni configuration officielle pour GPU grand public. Ces absences empêchent toute planification fiable de capacité pour les équipes qui ne disposent pas d’une infrastructure de classe H800.
La configuration 0.5B a été testée sur H800-80GB et H20-96G. Tiny recommande une H800, tandis que SGLang-Omni indique seulement que son serveur fonctionne sur un GPU. Les sources officielles ne publient ni l’utilisation mémoire sur RTX 4090, ni les performances sur Apple Silicon, ni le facteur temps réel de Tiny, ni la concurrence supportée, ni le coût par heure générée.
Le jour de la sortie, un praticien résumait ainsi l’intérêt du modèle et les données manquantes :
« Ant open-sourced a 0.5B model that can clone a voice, design a new one from text, and make it laugh, sigh... » — David Hendrickson (@TeksEdge)
Le même message relevait l’absence de builds GGUF et de benchmarks sur GPU grand public. Il s’agit d’une observation d’utilisateur, pas d’une mesure matérielle : une décision de production doit reposer sur des tests locaux de chargement et de latence.
La fiche officielle du modèle Tiny signale un contrôle de la hauteur moins efficace que ceux de la vitesse et du volume, une stabilité moindre en présence de plusieurs événements paralinguistiques, ainsi qu’un résultat podcast de 2.03% de CER et 2.12 UTMOS, sous les 2.24 UTMOS de ZipVoice-Dia. La feuille de route du dépôt officiel indique toujours que le rapport technique n’est pas terminé.
Verdict par usage et conditions d’adoption
Ming-3.0 TTS mérite une évaluation pour le clonage auto-hébergé, la narration expressive, les dialectes chinois et des poids ouverts exploitables commercialement. Ce n’est pas encore le choix par défaut pour les agents conversationnels à faible latence ni pour une exploitation prévisible sur un GPU de bureau de 24 GB.
| Usage | Verdict | Pourquoi |
|---|---|---|
| Clonage vocal | Recommandé pour évaluation | Le résultat Controlled Voice relayé par l’éditeur est le signal le plus solide pour le clonage |
| Narration expressive en chinois ou en anglais | Recommandé pour évaluation | 14 événements intégrés et contrôles explicites de l’interprétation |
| Synthèse en allemand ou en espagnol | Prometteur | Tiny domine le tableau WER d’inclusionAI ; les données restent produites par l’éditeur |
| Synthèse en coréen | Préférer 0.5B à Tiny | Le CER communiqué est de 1.728% contre 6.000% |
| Podcast multi-intervenants | Utiliser Tiny | Le mode podcast est exclusif à Tiny |
| Agent vocal temps réel | Pas encore recommandé | L’endpoint SGLang documenté ne streame pas progressivement |
| Déploiement sur GPU grand public | Tester avant de s’engager | Les besoins de classe 4090 et le débit ne sont pas documentés officiellement |
| Auto-hébergement commercial | Autorisé | Le code et les poids sont sous licence MIT |
Avant tout passage en production, vérifiez quatre points sur des entrées représentatives : conservation de l’identité du locuteur, normalisation des dates et symboles, latence et concurrence sur le GPU retenu, puis compatibilité entre les contrôles requis et les modes de tâche du modèle. Commencez avec le 0.5B ; ne passez à Tiny que si son mode podcast ou son gain de similarité vocale apporte un bénéfice mesurable.
FAQ
Le clonage vocal exige-t-il la transcription de la référence ?
Les exemples de clonage natifs d’inclusionAI demandent l’audio de référence et sa transcription correspondante. SGLang-Omni accepte ref_text, bien que sa documentation précise que ce texte ne modifie pas l’embedding du locuteur.
Ming-3.0 TTS peut-il fonctionner sur une RTX 4090 ?
Aucun résultat officiel sur la mémoire ou le débit d’une RTX 4090 n’est disponible. Un chargement réussi ne démontrerait pas à lui seul l’aptitude à la production : mesurez la latence, la stabilité sur les entrées longues et les requêtes simultanées sur la carte visée.
Ming-3.0 TTS propose-t-il une API hébergée ?
InclusionAI publie des interfaces Python et CLI locales, mais pas d’API hébergée avec tarification. SGLang-Omni expose Tiny via un endpoint local /v1/audio/speech, mais cet endpoint ne streame pas l’audio de manière progressive.