Phonon, un pequeño modelo de síntesis de voz (TTS, por text-to-speech), acaba de ser abierto al público. Funciona directamente en el dispositivo del usuario, sin servidor ni conexión de red, y los textos introducidos permanecen en el dispositivo.
- Phonon funciona sin conexión y mantiene los textos en el dispositivo del usuario.
- La versión Phonon 31m tiene licencia Apache 2.0, así que puede usarse gratis, incluso en productos comerciales.
- El modelo habla cinco idiomas, ofrece más de 100 voces y permite crear voces personalizadas.
- En el Open TTS Leaderboard, Phonon lidera la velocidad de streaming por CPU y queda en el top tres en inteligibilidad.
Una voz que vive en el dispositivo
La mayoría de las IA vocales funcionan en la nube, cada frase hace el viaje de ida y vuelta a un servidor. Phonon funciona por el contrario en local, y la voz permanece disponible sin red. Los pesos del modelo también se han publicado. Phonon 31m está bajo licencia Apache 2.0, lo que permite utilizarlo gratuitamente, incluso en un producto comercial. Los otros modelos están bajo licencia CC BY-NC, gratuitos para proyectos no comerciales. Para un uso comercial de estos últimos, la tarificación depende del número de usuarios, y no del volumen de habla generado.
Hacer funcionar una voz de calidad en un dispositivo pequeño ha sido durante mucho tiempo difícil: un modelo reducido sonaba peor, mientras que un modelo más potente no cabía en el dispositivo. Phonon responde a ambas limitaciones a la vez. Anunciado en abril, el proyecto se desarrolló luego durante seis meses con socios y primeros usuarios, cuyos comentarios guiaron esta versión. Los modelos se redujeron, se añadieron más idiomas, y se integró el soporte para voces personalizadas, mediante clonación o creación.
Phonon se basa en el linaje de Pocket TTS y utiliza el flow matching, una técnica de generación de audio muy diferente a las empleadas en otros sistemas TTS. Ha permitido alcanzar este nivel de calidad en un modelo tan pequeño, pero planteó dificultades de entrenamiento: este fue inicialmente numéricamente inestable y requirió varios trucos para producir resultados de calidad en los cinco idiomas.
Dos tamaños, cinco idiomas y demostraciones
Phonon existe en dos tamaños, de aproximadamente 65 MB y 75 MB. Juntas, las dos versiones hablan inglés, francés, alemán, español y portugués. Se integran más de 100 voces, y es posible crear voces propias en Gradium Studio. El modelo también gestiona números de teléfono, fechas y códigos, elementos que muchos sistemas TTS tienen dificultades para leer correctamente. Funciona en teléfonos, portátiles, placas de una sola tarjeta y en una pestaña del navegador.
El lanzamiento se acompañó de demostraciones, realizadas por allegados del equipo y por sus propios miembros. En un Apple Watch sin Wi-Fi, Phonon guía paso a paso la preparación de un café. En un iPhone sin red, cuenta las repeticiones de un ejercicio. Un robot llamado Lamp, de la empresa Autonomous, lleva un sombrero seleccionador y habla en su personaje. En un navegador, un juego de dinosaurio sin conexión se convierte en un programa de radio presentado por Rex, y se lee a Proust en voz alta, página tras página.
Algunos desarrolladores también han empezado a construir sobre Phonon. Una conversión ExecuTorch permite hacerlo funcionar en la GPU de un visitante en el navegador, la plataforma Micdrop lo integra en aplicaciones Node.js, y algunos Spaces como smallest-s2s se basan en él. El modelo se ha descargado más de 200.000 veces durante sus dos primeras semanas.
Resultados en el ranking Open TTS
El Open TTS Leaderboard, proyecto muy reciente de Hugging Face, permite comparar modelos TTS abiertos, más de 9.000 están referenciados en el Hugging Face Hub. Los modelos se evalúan en 23 idiomas, según la inteligibilidad, la velocidad y el carácter natural de la voz. Según este ranking, Phonon ocupa el primer puesto en inteligibilidad en alemán y español, y está en el top tres en todos los idiomas evaluados, junto a modelos hasta 100 veces más grandes. Se distingue especialmente en velocidad, ya que encabeza el benchmark de streaming por CPU para el retardo antes de la primera salida de audio.
Para hacer funcionar Phonon en una gran cantidad de dispositivos, el equipo ha desarrollado ptts, un marco de inferencia compatible con más de 10 backends, incluyendo CPU, GPU y NPU. Phonon también está disponible en 🤗 Transformers a partir de la versión 5.21, como implementación de referencia en PyTorch. Phonon es la primera versión abierta de este equipo.
