AIREITER

Test de Ming-3.0 TTS : clonage solide, déploiement encore rugueux

Dernière mise à jour: 2026-10-20 02:21:43

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 choixMing-3.0-tts-0.5BMing-3.0-tts-tiny
ArchitectureDense, backbone Qwen2.5-0.5BLing V3 MoE, 7.9B au total / 1.3B actifs
Métadonnées du dépôt1.48B paramètres BF16 ; 2.96 GB de safetensorsEnviron 9B paramètres ; empreinte de dépôt d’environ 18 GB
Principal argumentTéléchargement plus léger et résultat indépendant dans une arèneMode podcast multi-intervenants et meilleure similarité annoncée par l’éditeur
Résultat indépendant dans une arène TTSOui : 1,188 Elo Provider VoiceAucun Elo indépendant propre au checkpoint trouvé
Recommandations GPU officiellesTesté sur H800-80GB et H20-96GH800 recommandé
Point d’entrée natifinfer.py / MingTTSinfer_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.

VoieIdéale pourContrainte majeure
0.5B natifPremière évaluation et accès à tous les contrôles du 0.5BLes tests officiels utilisent des H800/H20
Tiny natifMode podcast et guide de tâches TinyEnvironnement CUDA 11.8 distinct ; H800 recommandé
SGLang-Omni TinyEndpoint local /v1/audio/speechstream=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 preuveRésultatLecture
Artificial Analysis Provider Voice1,188 Elo ; 18e le 19 octobre 2026Les voix natives sont compétitives, sans dominer la catégorie
Controlled Voice, relayé par inclusionAI1,069 Elo ; premier parmi les poids ouverts lors de la sortieLe clonage est le signal le plus fort
WER chinois communiqué par l’éditeur0.800% pour 0.5B ; 0.820% pour TinyPrécision de contenu similaire
Similarité vocale chinoise communiquée par l’éditeur0.758 pour 0.5B ; 0.781 pour TinyTiny privilégie la ressemblance avec le locuteur
CER coréen communiqué par l’éditeur1.728% pour 0.5B ; 6.000% pour TinyTiny 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.

UsageVerdictPourquoi
Clonage vocalRecommandé pour évaluationLe résultat Controlled Voice relayé par l’éditeur est le signal le plus solide pour le clonage
Narration expressive en chinois ou en anglaisRecommandé pour évaluation14 événements intégrés et contrôles explicites de l’interprétation
Synthèse en allemand ou en espagnolPrometteurTiny domine le tableau WER d’inclusionAI ; les données restent produites par l’éditeur
Synthèse en coréenPréférer 0.5B à TinyLe CER communiqué est de 1.728% contre 6.000%
Podcast multi-intervenantsUtiliser TinyLe mode podcast est exclusif à Tiny
Agent vocal temps réelPas encore recommandéL’endpoint SGLang documenté ne streame pas progressivement
Déploiement sur GPU grand publicTester avant de s’engagerLes besoins de classe 4090 et le débit ne sont pas documentés officiellement
Auto-hébergement commercialAutorisé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.