41 puntos por GN⁺ 2025-04-22 | 13 comentarios | Compartir por WhatsApp
  • Dia es un modelo TTS de 1.6B parámetros que genera voz conversacional de alta calidad a partir de líneas de texto, y permite ajustar emoción y tono mediante prompts de audio
  • Fue desarrollado por Nari Labs, y "Nari" significa "lirio" en coreano puro
  • Permite indicar hablantes con [S1], [S2] y también generar expresiones no verbales como (laughs) y (coughs); además, admite clonación de voz sencilla
  • Se puede ejecutar directamente en Hugging Face, y también ofrece pruebas en el navegador sin instalación adicional y soporte para ZeroGPU
  • Por ahora solo admite inglés, requiere más de 10 GB de VRAM, y más adelante se planean un modelo cuantizado y soporte multilingüe

Dia: modelo de síntesis de voz centrado en conversaciones

  • Dia es un modelo TTS de pesos abiertos de 1.6B parámetros desarrollado por Nari Labs
  • En lugar de generar voces por separado para cada hablante como en otros TTS, usa un enfoque que genera toda la conversación de una sola vez
  • Demo: Hugging Face Space
  • Código: repositorio de GitHub

Funciones principales

Generación de voz conversacional

  • Se pueden indicar hablantes dentro del texto con [S1] y [S2]
  • También se pueden insertar en texto sonidos no verbales como (laughs) y (coughs)
  • Es posible definir emoción, tono y estilo de voz mediante prompts de audio

Clonación de voz

  • Si se proporciona un audio de ejemplo junto con su texto correspondiente, se activa la función de clonación de voz
  • Se puede practicar subiendo audio en Hugging Face Space
  • Para ejemplos detallados, consulta example/voice_clone.py

Uso como librería

from dia.model import Dia  
model = Dia.from_pretrained("nari-labs/Dia-1.6B")  
output = model.generate(text)  
  • Es posible exportar MP3 con soundfile
  • Próximamente también estarán disponibles un paquete de PyPI y una herramienta CLI

Instalación y ejecución

Método rápido de ejecución (basado en Gradio)

git clone https://github.com/nari-labs/dia.git  
cd dia && uv run app.py  

O, si no tienes uv:

cd dia  
python -m venv .venv  
source .venv/bin/activate  
pip install uv  
uv run app.py  
  • Al ejecutarlo, se descarga automáticamente Descript Audio Codec
  • Cada vez que se ejecuta, la voz se genera de forma aleatoria; para mantener consistencia, es necesario fijar el prompt o la seed

Rendimiento y requisitos de hardware

  • Entorno de prueba: PyTorch 2.0+, CUDA 12.6 o superior
  • VRAM recomendada: 10 GB o más; pronto se lanzará una versión cuantizada (Quantized)
  • En una GPU A4000 genera alrededor de 40 tokens/segundo (86 tokens = aprox. 1 segundo de voz)
  • Se puede mejorar la velocidad usando torch.compile

Planes futuros y TODO

  • Soporte para Docker
  • Optimización de la velocidad de inferencia
  • Cuantización del modelo (eficiencia de memoria)
  • Se está considerando ampliar el soporte multilingüe y la cantidad de hablantes admitidos

Licencia y restricciones de uso

  • Aplica la licencia Apache 2.0
  • Ejemplos de uso prohibido:
    • Generar la voz de otra persona sin permiso (Identity Misuse)
    • Generar desinformación (Fake News, etc.)
    • Fines ilegales o maliciosos

Comunidad y contribuciones

  • El equipo de investigación es pequeño: 1 persona de tiempo completo + 1 persona de medio tiempo
  • Se pueden compartir comentarios y proponer funciones a través del servidor de Discord
  • Es un proyecto orientado al código abierto que busca crecer junto con sus contribuyentes

Referencias y base técnica

  • Modelo de sonido: inspirado en SoundStorm, Parakeet y Descript Audio Codec
  • Soporte de cómputo: Google TPU Research Cloud y el programa ZeroGPU de Hugging Face
  • "Nari" significa "lirio" en coreano puro

13 comentarios

 
reagea0 2025-04-24

Vaya, está buenísimo. Entre dos personas no debió haber sido nada fácil conseguir incluso los datos de entrenamiento, de verdad es impresionante.

 
princox 2025-04-24

Apareció el propio creador~ Yo también tendré que probarlo una vez.

 
kleinstein 2025-04-22

¡¡Espero que haya soporte para coreano!!

 
toebee 2025-04-22

Oh, justo estaba por hacer esto y publicarlo yo, pero ya lo subiste rapidísimo. Gracias.

 
winterjung 2025-04-22

Vaya, ¡resulta que lo hizo alguien de Corea! Lo comparé escuchando la página de demostración y el rendimiento es realmente muy bueno. Si se proporciona un audio prompt, ¿toma esa voz como referencia? Me da curiosidad si hay que ingresar por separado los ejemplos distinguidos como s1 y s2.

 
toebee 2025-04-22

¡Gracias! No es necesario incluir en el prompt de audio ejemplos separados con [S1] y [S2]. Puedes incluir solo [S1], o también [S1] y [S2]. Solo asegúrate de que [S1] siempre vaya primero.

 
xguru 2025-04-22

Como recibió muchos votos positivos en Hacker News, GN+ lo resumió automáticamente. Yo solo lo organicé un poco más.

¡¡Los apoyo!!

 
toebee 2025-04-22

Gracias :))

 
toebee 2025-04-22

Es un modelo que hice yo, jaja...

 
kgh1379 2025-04-22

¡¡Genial!! Lo usaré muy bien T_T/

 
toebee 2025-04-22

Gracias :)) por favor denle una estrella en GitHub jaja

 
kgh1379 2025-04-22

¡Hecho! ¡Espero ver pronto también noticias en coreano! ¡Gracias!

 
GN⁺ 2025-04-22
Opiniones en Hacker News

Admiración técnica y elogios

  • A pesar de ser un proyecto hecho por solo dos personas en tres meses, muestra una calidad muy alta
  • Impresiona que un equipo pequeño haya logrado resultados competitivos en el campo de los modelos de audio frente a grandes empresas
  • Reacciones como "suena como una persona real", "parece estar viendo el futuro del TTS" y "los ejemplos son sorprendentes"
  • Varios usuarios evaluaron como especialmente impactante el ejemplo de audio basado en una escena de The Office

Evaluación de la calidad de voz y sus características

  • La mayoría reaccionó positivamente con comentarios como "suena natural, como una persona", "expresa bien las emociones" y "los detalles como risas, tos y gritos se sienten vivos"
  • Algunos también mencionaron desventajas como emociones exageradas, sensación de comercial y ruido al inicio
  • También hubo opiniones de que se parece a cierto estilo de locución (por ejemplo, tono de NPR) o a la sensación de antiguas animaciones Flash de YouTube

Experiencias con la demo y pruebas directas

  • Se compartieron casos exitosos de ejecución en distintos equipos, como una MacBook M2
  • Fue bien recibido que se pueda probar de inmediato en línea a través de HuggingFace Spaces
  • También se compartió feedback de que puede ejecutarse fácilmente con contenedores Docker y CUDA

Debate sobre audiolibros y uso en novelas

  • Distintos usuarios exploraron su potencial para producción de audiolibros, separación de voces por personaje y diálogos con mucha carga emocional
  • Aun así, algunos opinaron que "de todos modos los actores de voz humanos son mejores" y que "un buen actor de voz aporta una textura única a la obra"
  • También hubo contraargumentos de que, si la IA interpreta correctamente la emoción y el personaje, podría incluso ser mejor

Solicitudes de funciones y preguntas sobre síntesis de voz

  • Se pidieron las siguientes funciones/soportes:
    • soporte multilingüe (chino, finlandés, etc.)
    • soporte para conversaciones de dos o más personas
    • clonación de voz (la propia voz)
    • información de temporización por palabra
    • soporte para GPU AMD
    • soporte para salida en streaming
  • Ante esto, los desarrolladores compartieron qué funciones están en desarrollo o planean soportar más adelante

Licencia y código abierto

  • Se distribuye bajo Apache 2.0, y el desarrollador explicó directamente que la frase original (limitado a fines de investigación) quería decir “no hagan shady stuff”
  • Algunos usuarios señalaron que eso podría causar confusión y que debería aclararse mejor

Preguntas sobre datos de entrenamiento y proceso de entrenamiento

  • Muchos usuarios preguntaron "de dónde salió el dataset" y "cómo fue entrenado"
  • Los desarrolladores respondieron que planean ofrecer una visión general de alto nivel en el informe técnico

Controversia por nombre duplicado

  • Se señaló un conflicto de nombre con la herramienta de diagramas de GNOME (Dia) y con diabrowser.com
  • También hubo críticas de que "los proyectos de IA adoptan a propósito nombres ya existentes en el open source"
  • Ante eso, los desarrolladores respondieron: "no lo sabíamos, en adelante lo distinguiremos con más claridad"

Usabilidad y feedback de mejoras

  • Hubo comentarios de que el sitio de la demo, al estar basado en Notion, es lento y dificulta compartir enlaces → se sugirió una página más ligera como GitHub Pages
  • Se propusieron mejoras al README, como la confusión alrededor de "join waitlist" y la mención innecesaria de venv
  • También hubo feedback de configuración, como el problema de descargar el modelo cada vez por no usar caché del servidor

Casos de desarrollo/aplicación e integración

  • Comparaciones con otros modelos TTS como E5-F2 y Sesame-TTS
  • Algunos usuarios resaltaron la precisión en dominios específicos, como terminología médica
  • Se pidió información sobre codecs para ejecutar en iOS y se plantearon posibilidades de aplicación
  • También se compartieron factores a considerar al aplicarlo en un servicio real, como el streaming y la velocidad de respuesta inicial

Otros

  • Se compartieron orientaciones y correcciones sobre errores de enlace o problemas de acceso en HuggingFace
  • Se descubrieron pequeñas funciones adicionales, como el marcador en la interfaz de la demo
  • También se mencionaron las limitaciones de hardware de los usuarios, así como expectativas y preocupaciones generales sobre el uso de TTS