Ming-3.0 TTS reúne clonación de voz, diseño de voces por texto, siete idiomas, dos dialectos chinos y controles expresivos bajo licencia MIT. El gran interrogante está en el despliegue: las pruebas oficiales se realizaron con GPUs de centro de datos, y el checkpoint más grande, llamado “Tiny”, no es precisamente pequeño ni en almacenamiento ni en memoria.
Primero elige el checkpoint; después, mira los benchmarks
Ming-3.0 TTS ofrece un modelo denso de 0.5B y un modelo mixture-of-experts de 7.9B de parámetros totales denominado Tiny, que activa unos 1.3B parámetros por token. Lo razonable es empezar por 0.5B. Tiny tiene sentido si su modo de podcast multihablante o la mayor similitud de voz reportada por el fabricante compensan su mayor huella.
| Decisión | Ming-3.0-tts-0.5B | Ming-3.0-tts-tiny |
|---|---|---|
| Arquitectura | Densa, con base Qwen2.5-0.5B | Ling V3 MoE, 7.9B totales/1.3B activos |
| Metadatos del repositorio | 1.48B de parámetros BF16; 2.96 GB en safetensors | Unos 9B de parámetros; huella aproximada de 18 GB en el repositorio |
| Principal motivo para elegirlo | Descarga más pequeña y resultado independiente en arena | Modo de podcast multihablante y mayor similitud reportada por el fabricante |
| Resultado independiente en arena TTS | Sí: 1,188 Elo de Provider Voice | No se encontró un Elo independiente específico para este checkpoint |
| GPU indicada oficialmente | Probado con H800-80GB y H20-96G | Se recomienda H800 |
| Punto de entrada nativo | infer.py / MingTTS | infer_tiny.py / MingTinyTTS |
Los nombres de los modelos describen más bien sus backbones, no toda la cadena de generación de voz. Hugging Face contabiliza 1,479,454,804 parámetros BF16 en el paquete 0.5B porque también integra componentes de síntesis de audio. La activación dispersa de Tiny puede recortar cómputo, pero no elimina el coste de almacenamiento y memoria de sus expertos. Fuentes: model card oficial de 0.5B y model card oficial de Tiny.
Qué ha publicado inclusionAI
InclusionAI publicó ambos checkpoints en octubre de 2026, junto con pesos, código de inferencia, recetarios de tareas y material Docker para 0.5B. El repositorio oficial deja constancia del lanzamiento y contiene las instrucciones de instalación actualizadas.
Los dos checkpoints incluyen el backbone de lenguaje, la cabeza diffusion-transformer, el tokenizador de audio, el codificador de hablante CAM++ y el tokenizador de texto. Generan audio a 44.1 kHz y admiten chino, inglés, alemán, español, francés, coreano y japonés; además, ofrecen tareas de dialecto independientes para sichuanés y cantonés.
Entre las funciones compartidas están la clonación zero-shot, el diseño de voz con lenguaje natural, más de 100 voces chinas, cinco voces inglesas y 14 señales en línea, como risas, respiraciones, tos, suspiros y vacilaciones. También permite ajustar emoción, velocidad, tono y volumen. Tiny añade generación de podcasts con varios hablantes.
Los controles se organizan en modos de tarea independientes, no como interruptores combinables libremente. La interpretación de estilo libre no se puede mezclar con diseño de voz, una voz integrada, emoción, dialecto ni controles básicos de atributos. Si un producto necesita en una sola llamada una voz clonada, una emoción concreta y un dialecto, conviene comprobar si el contrato de tareas admite esa combinación.
Tres formas de desplegarlo en local
Ming-3.0 TTS puede ejecutarse con el código Python nativo de inclusionAI o mediante el servidor HTTP de SGLang-Omni. La vía nativa con 0.5B es la opción menos arriesgada para una primera prueba; Tiny nativo expone la tarea de podcast, mientras que SGLang-Omni ofrece la API más limpia, pero sin streaming progresivo de audio.
| Vía | Mejor para | Limitación principal |
|---|---|---|
| 0.5B nativo | Primera evaluación y todos los controles de 0.5B | Las pruebas oficiales usan H800/H20 |
| Tiny nativo | Modo podcast y recetario de tareas de Tiny | Entorno CUDA 11.8 independiente; se recomienda H800 |
| SGLang-Omni Tiny | Endpoint local /v1/audio/speech | stream=true sigue devolviendo una forma de onda ya completada |
La instalación nativa de 0.5B fija PyTorch 2.6, CUDA 12.4 y Transformers 4.46.3. La normalización de texto para números, fechas, unidades y símbolos requiere 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
Una vez superada la comprobación previa, este patrón de comando oficial permite probar la clonación:
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 requiere un entorno separado porque sus dependencias fijadas son diferentes:
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
Para servirlo mediante HTTP, SGLang-Omni documenta un servidor de una sola 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 admite WAV, MP3, FLAC y PCM. Acepta una referencia para clonación, y las rutas simples de ref_audio se resuelven en el servidor. Su comportamiento documentado con stream=true espera a que termine la síntesis antes de devolver un único cuerpo PCM; por tanto, no permite reproducir el audio mientras continúa la generación.
Calidad: la clonación destaca; las voces nativas, menos
La evidencia independiente más sólida y directamente accesible corresponde a Ming-3.0-tts-0.5B, no a Tiny. El 19 de octubre de 2026, Artificial Analysis situó a Ming en 1,188 Elo en Provider Voice, una prueba en la que los modelos usan sus voces nativas. InclusionAI informa de 1,069 Elo en Controlled Voice de Artificial Analysis, donde los modelos clonan las mismas voces de referencia.
| Evidencia | Resultado | Interpretación |
|---|---|---|
| Artificial Analysis Provider Voice | 1,188 Elo; puesto 18 el 19 de octubre de 2026 | Las voces nativas son competitivas, pero no lideran la categoría |
| Controlled Voice, comunicado por inclusionAI | 1,069 Elo; primero entre los pesos abiertos en el lanzamiento | La clonación es la señal más convincente |
| WER chino del fabricante | 0.800% para 0.5B; 0.820% para Tiny | Precisión de contenido similar |
| Similitud de hablante en chino del fabricante | 0.758 para 0.5B; 0.781 para Tiny | Tiny prioriza el parecido con el hablante |
| CER coreano del fabricante | 1.728% para 0.5B; 6.000% para Tiny | Tiny no debería ser la opción predeterminada para coreano |
El ranking Provider Voice de Artificial Analysis colocaba a Ming, en esa fecha, por detrás de Fish Audio Drama 3 Preview y Breeze TTS 2 entre los modelos de pesos abiertos. Provider Voice mide voces nativas, mientras que Controlled Voice evalúa clonación; las dos clasificaciones responden a preguntas distintas.
Las puntuaciones detalladas de Tiny proceden de las tablas de evaluación de inclusionAI. El fabricante declara un WER líder de 0.325% en alemán y 0.971% en español, aunque su CER coreano asciende al 6.000%. InclusionAI identifica la precisión en coreano como una limitación en la model card oficial de Tiny.
Limitaciones relevantes en producción
Ming-3.0 TTS no publica el precio de una API alojada, no cuenta con un resultado independiente de arena específico para Tiny y tampoco ofrece requisitos oficiales para GPUs de consumo. Estas ausencias impiden planificar capacidad con fiabilidad a los equipos que no disponen de infraestructura de clase H800.
La configuración 0.5B se probó en H800-80GB y H20-96G. Para Tiny se recomienda H800, mientras que SGLang-Omni solo indica que su servidor utiliza una GPU. Las fuentes oficiales no publican uso de VRAM en RTX 4090, rendimiento en Apple Silicon, factor de tiempo real de Tiny, concurrencia ni coste por hora generada.
Un profesional resumió el atractivo y las pruebas que aún faltaban el día del lanzamiento:
“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)
La misma publicación señalaba la ausencia de compilaciones GGUF y benchmarks en GPUs de consumo. Es una observación de usuario, no una medición de hardware; la decisión de producción debe apoyarse en pruebas locales de carga y latencia.
La model card oficial de Tiny indica que el control de tono es más débil que el de velocidad y volumen, que la estabilidad baja al combinar varios eventos paralingüísticos y que el resultado de podcast alcanza un CER de 2.03% con 2.12 UTMOS, por debajo de los 2.24 UTMOS de ZipVoice-Dia. La hoja de ruta del repositorio oficial sigue marcando el informe técnico como pendiente.
Veredicto según la carga de trabajo y criterio de adopción
Ming-3.0 TTS merece evaluación para clonación autoalojada, narración expresiva, trabajo con dialectos chinos y pesos abiertos utilizables comercialmente. Aún no es la opción predeterminada para agentes conversacionales de baja latencia ni para una operación predecible en una GPU de escritorio con 24 GB.
| Carga de trabajo | Veredicto | Motivo |
|---|---|---|
| Clonación de voz | Recomendado para evaluación | El resultado de Controlled Voice reportado por el fabricante es la señal más fuerte sobre clonación |
| Narración expresiva en chino/inglés | Recomendado para evaluación | 14 eventos en línea y controles explícitos de interpretación |
| Síntesis en alemán o español | Prometedor | Tiny lidera la tabla de WER de inclusionAI; la evidencia sigue siendo producida por el fabricante |
| Síntesis en coreano | Mejor 0.5B que Tiny | El CER del fabricante es 1.728% frente a 6.000% |
| Podcast multihablante | Usa Tiny | El modo podcast es exclusivo de Tiny |
| Agente de voz en tiempo real | No recomendado por ahora | El endpoint documentado de SGLang no transmite audio de forma progresiva |
| Despliegue en GPU de consumo | Prueba antes de comprometerte | No hay requisitos ni rendimiento oficiales para GPUs de la clase 4090 |
| Autoalojamiento comercial | Permitido | El código y los pesos usan licencia MIT |
Antes de llevarlo a producción, valida cuatro puntos con entradas representativas: conservación del hablante, normalización de fechas y símbolos, latencia y concurrencia en la GPU elegida, y compatibilidad entre los controles necesarios y los modos de tarea del modelo. Empieza por 0.5B y pasa a Tiny solo si su modo podcast o su mejora en similitud de voz aportan un beneficio medible.
Preguntas frecuentes
¿La clonación de voz necesita la transcripción de referencia?
Los ejemplos nativos de clonación de inclusionAI requieren audio de referencia y su transcripción correspondiente. SGLang-Omni acepta ref_text, aunque su documentación indica que el texto no modifica el embedding del hablante.
¿Puede Ming-3.0 TTS ejecutarse en una RTX 4090?
No hay resultados oficiales de memoria ni rendimiento para RTX 4090. Que el modelo cargue correctamente no demostraría que esté listo para producción; mide la latencia, la estabilidad con entradas largas y las solicitudes concurrentes en la tarjeta objetivo.
¿Ming-3.0 TTS ofrece una API alojada?
InclusionAI publica interfaces Python y CLI locales, no una API alojada con precio. SGLang-Omni expone Tiny mediante un endpoint local /v1/audio/speech, pero ese endpoint no transmite audio progresivamente.