SoundStorm: generación de audio paralela y eficiente
(google-research.github.io)- SoundStorm es un modelo que toma los tokens semánticos de AudioLM y genera en paralelo tokens de códec de audio neuronal, reduciendo la carga computacional de la generación de audio largo
- Con atención bidireccional y decodificación paralela basada en confianza, busca una calidad similar a la del enfoque autorregresivo mientras mejora la consistencia de las condiciones de voz y acústicas
- En TPU-v4, genera 30 segundos de audio en 0.5 segundos, mostrando una velocidad decenas de veces mayor que el generador acústico de AudioLM
- Al combinarse con SPEAR-TTS, puede sintetizar 30 segundos de conversación natural en 2 segundos sobre una sola TPU-v4, controlando el guion, un breve prompt de voz y anotaciones de cambio de hablante
- La imitación de voz puede usarse de forma indebida para suplantación y evasión de autenticación biométrica, por lo que se necesitan salvaguardas; el audio generado tras reemplazo pudo detectarse en un 98.5% con un clasificador dedicado
Cómo genera SoundStorm y su rendimiento
- SoundStorm es un modelo eficiente de generación de audio no autorregresiva
- La entrada son los tokens semánticos de AudioLM y la salida son tokens de códec de audio neuronal
- Su desempeño de generación se basa en dos diseños
- Atención bidireccional para aprovechar al mismo tiempo el contexto anterior y posterior
- Decodificación paralela basada en confianza para generar varios tokens de una sola vez
- En comparación con el método de generación autorregresivo de AudioLM, produce audio de la misma calidad, pero con mayor consistencia en las condiciones de voz y acústicas
- En TPU-v4, genera 30 segundos de audio en 0.5 segundos
Síntesis de conversación
- SoundStorm puede combinarse con la etapa de modelado texto-semántico de SPEAR-TTS para sintetizar conversaciones naturales de alta calidad
- Hay tres elementos controlables
- Contenido del habla mediante el guion
- Voz del hablante mediante un prompt de voz corto
- Cambio de hablante mediante anotaciones en el guion
- El tiempo de ejecución para sintetizar un segmento de conversación de 30 segundos se midió en 2 segundos en una sola TPU-v4
- El texto y los hablantes usados en los ejemplos son datos no vistos durante el entrenamiento
Generación con y sin prompt
- SoundStorm genera audio condicionado por los tokens semánticos de AudioLM y demuestra tanto casos con prompt de voz de 3 segundos como sin él
- Sin prompt, muestrea distintos hablantes
- Con prompt, mantiene la voz del hablante con alta consistencia
- Las muestras originales se tomaron de LibriSpeech test-clean
- La velocidad de generación es decenas de veces mayor que la del generador acústico de AudioLM
Comparación con modelos de referencia
- En la generación basada en prompt, SoundStorm tiene mayor consistencia acústica que AudioLM y preserva mejor la voz del hablante del prompt
- Frente al RVQ level-wise greedy decoding dentro del mismo modelo, SoundStorm genera audio de mayor calidad
- Los ejemplos comparativos presentan en paralelo las salidas de Original, AudioLM, Greedy y SoundStorm
Impacto y consideraciones de seguridad
- SoundStorm es un modelo que genera de forma eficiente y con alta calidad representaciones de audio basadas en códec de audio neuronal
- En este trabajo, se usa como componente para reemplazar el pipeline de generación acústica de AudioLM y SPEAR-TTS
- Las muestras generadas pueden verse afectadas por sesgos en los datos de entrenamiento, y los ejemplos pueden incluir limitaciones como acentos y características vocales representativas
- Aunque las características del hablante pueden controlarse de forma estable con prompts, un análisis más exhaustivo de los datos de entrenamiento y sus limitaciones queda como trabajo futuro
- La capacidad de imitación de voz tiene potencial de uso indebido
- Puede usarse para evadir autenticación biométrica y para suplantación, por lo que las salvaguardas son importantes
- El audio generado tras reemplazo pudo detectarse en un 98.5% con un clasificador dedicado como el de Borsos et al. (2022)
- Como componente de un sistema más grande, se considera que SoundStorm tiene baja probabilidad de introducir riesgos adicionales a los discutidos en Borsos et al. (2022) y Kharitonov et al. (2023)
- Al reducir los requisitos de memoria y cómputo de AudioLM, podría hacer que la investigación en generación de audio sea accesible para una comunidad más amplia
- En el futuro, planean explorar el watermarking de audio como otro enfoque para detectar voz sintética
1 comentarios
Opiniones en Hacker News
En CGI siempre hubo hitos a los que se iba llegando. Los árboles con hojas por fin se acercaban a la realidad, el pasto moviéndose con el viento casi se veía convincente, cosas como el pelo o la gelatina mejoraban; normalmente los cortos de Pixar mostraban en qué se habían enfocado y luego lo veíamos aplicado en películas.
Después llegó la captura de movimiento, la tecnología de poner rostros digitales sobre los rostros de actores reales; la primera vez que lo vi en Pirates of the Caribbean me impactó, y lo mismo con los simios de Planet of the Apes. Gran parte de la industria de CGI ahora parece haber llegado a un punto en el que los problemas más difíciles ya están resueltos.
Acabo de reproducir el primer diálogo sintetizado de Dialogue Synthesis, “Where did you go last summer? | I went to Greece, it was amazing.”, y volví a sorprenderme. Se siente como si hubiéramos llegado al hito en el que una máquina realmente habla como una persona, de forma indistinguible de un humano.
Hace apenas entre 10 y 5 años, si querías usar TTS, lo mejor era renderizar archivos de audio con un teléfono Android, y todo lo demás era realmente malo. En particular, el lado open source era terrible.
Entonces, ¿cuánto falta para que en una futura generación de Raspberry Pi podamos descargar un modelo de esta calidad y, sin la nube, con solo una llamada HTTP, obtener una voz perfecta por la salida de audio? ¿5 años?
Incluso ahora, si uno se esfuerza mucho y usa un modelo pequeño ajustado para una sola voz, en vez de un gran modelo general capaz de producir cualquier voz, quizá ya sea casi posible. ¿whisper-tiny no corre en tiempo real en una Pi? Además, ni siquiera aprovecha la GPU de la Pi. (https://github.com/ggerganov/whisper.cpp/discussions/166)
Edit: parece que medium es 30 veces más lento que tiny en la Pi, así que creo que fui demasiado optimista. No sabía que Whisper tiny fuera tanto más rápido que medium.
Este enfoque también funciona bastante bien con Tortoise: se puede usar una configuración de calidad muy rápida de Tortoise y aun así obtener una calidad similar a la de modelos más grandes. Claro que, si ajustas todo para una sola voz, desaparece buena parte de las funciones interesantes. Con Tortoise, probablemente seguiría siendo demasiado lento para una Pi, pero la misma estrategia podría funcionar con modelos más rápidos como SoundStorm.
En cuanto a calidad, todavía falta mucho para lograr coherencia a largo plazo en tramos largos de audio. Cuando una persona real lee un audiolibro, las palabras de la parte superior de la página influyen mucho en cómo va a leer las de la parte inferior. Incluso puede haber influencia a distancias grandes, como de la página 10 a la 300. Si haces un audiolibro con un modelo TTS de gama alta y lo escuchas con atención, las inconsistencias se notan muchísimo. Se siente como si el lector hubiera grabado los párrafos fuera de orden, o como diálogos de videojuegos, donde los actores graban todas sus líneas por separado y no reaccionan a la actuación de los demás.
Si se amplía la ventana de contexto a 1 o 2 minutos, se acercaría más y podría ser suficiente para algunos libros. A corto plazo, una persona podría ajustar todas las muestras de audio y retocarlas manualmente para que suenen naturales. Así que será posible hacer trabajos bien cuidados, como audiolibros hechos por fans. Pero en libros completamente automatizados, esa inconsistencia resulta desesperante. Como la actuación de ciertos pasajes está tan cerca de ser correcta, el momento en que el tono se desvía duele todavía más.
Pero últimamente, cada vez que aparece una técnica nueva que imita y replica la creatividad y el comportamiento humanos, se me acumula una sensación de inquietud.
¿Tengo derecho a saber si lo que veo o leo fue generado?
Está bien que Bing y Bard usen los productos más recientes de Microsoft y Google Cloud, pero ojalá estos avances en tecnología de voz, junto con cosas como audio palm(https://google-research.github.io/seanet/audiopalm/examples/), salieran como API públicas o interfaces de usuario.
El TTS de Bard está bien, pero claramente se quedó atrás.
Aparte de eso, el TTS en inglés/coreano de Bing es realmente bueno. No sabía que Microsoft usaba su producto de gama alta para el TTS gratuito de Edge, y por eso es muchísimo mejor que las voces TTS predeterminadas de Google.
Algunas voces de Azure son mejores que otras, y la app web de TTS tiene algunos bugs menores, pero la experiencia general fue realmente satisfactoria.
https://cloud.google.com/text-to-speech/docs/wavenet#studio_voices_preview
No sé si “producto de gama alta del TTS gratuito” significa una biblioteca de software libre, un SaaS gratuito, si “on edge” se refiere al navegador Edge o a ejecutarlo en el edge de la computadora cliente. ¿Quieres decir que cualquier TTS que corre en la computadora cliente es mejor que el TTS predeterminado de Google?
Lo que se omite cuando los artesanos dicen con soltura que simplemente pueden buscar otro trabajo es que ese nuevo trabajo a menudo es simple y mal pagado. Cuando Amazon desplaza a las tiendas de barrio, no es que ellos empiecen un nuevo negocio, sino que terminan buscando empleos en Wal-Mart.
Es interesante que SoundStorm haya sido entrenado para crear conversaciones entre dos personas usando guiones donde los cambios de voz se marcan con
|. Pero parece que en el modelo Bark el mismo carácter|también funciona casi por defecto para generar diálogos.Un tercio o un poco más de las salidas de Bark suenan como una conversación de una sola persona, y muchas veces se pierden los cambios de voz. Aun así, el carácter de barra vertical genera con bastante consistencia audio que, por estilo de actuación, suena como diálogo.
https://twitter.com/jonathanfly/status/1675987073893904386
¿Habrá en algún lugar de los datos de entrenamiento datos de texto-audio que usen
|para los cambios de voz?Curiosamente, Bark tiende a renderizar los prompts de SoundStorm con un tono sarcástico. No sé si es una diferencia de estilo entre modelos o si Google eligió como muestras representativas solo lecturas más directas.
[laughs].Me pregunto si los mercados de trabajo como UpWork o Fiverr podrán adaptarse con suficiente rapidez a la nueva situación en la que el software ya puede hacer muchos servicios que antes hacían personas.
La interfaz actual de esos mercados no parece encajar con esto. Los compradores van a querer resultados inmediatos, en vez de contactar a una persona y esperar a que termine el trabajo.
Así que parece que habría que convertir la plataforma en algo más parecido a una tienda de apps. Los vendedores conectarían sus servicios y los compradores los usarían directamente.
Si tuvieras a mano una herramienta a la que pudieras darle algunas líneas anteriores del actor y que generara algo para rellenar los huecos según los parámetros definidos, permitiéndote seguir adelante con el proyecto sin todos los problemas logísticos, sería el paraíso.
Pero también podría acabar con toda una especialidad profesional. También reduciría el valor de los actores. De hecho, ya está pasando. Ya hay en el mercado programas que reemplazan por completo a actores de voz, y se están usando en videojuegos.
Para mi trabajo, claramente podría ser útil. Al mismo tiempo, sé muy bien que tiene un enorme potencial de abuso.
Lo más impresionante es que parece generar TTS de 30 segundos a partir de solo un original de 3 segundos. Es realmente genial y, sinceramente, está mucho más avanzado de lo que esperaba.
Viendo los avances recientes, ¿hay alguna voz TTS para Linux decente que pueda usar un usuario común sin configuraciones complicadas?
No querría jugar un juego generado de esta manera. La razón exacta por la que quiero escuchar los diálogos de los NPC es que son diálogos escritos por personas.
Es impresionante, pero en el primer ejemplo, al final, la voz del hombre virtual se desliza hacia arriba al decir “what?”, y se oye claramente un efecto de corrección de tono tipo auto-tune, así que falla.
Los otros ejemplos son directamente asombrosos. Si de verdad puede entrenar con apenas unos segundos y producir una voz verosímil de varios minutos, el siguiente paso parece ser hacerla cantar. Creo que se viene una tormenta legal cuando alguien use una tecnología similar para poner, por ejemplo, la voz de Elvis en un anuncio sin revelar el nombre, de modo que los fans la reconozcan, pero el audio no coincida con sus letras ni con canciones existentes.
No es precisamente un comentario inteligente, pero si reproduces todas las muestras al mismo tiempo es realmente divertido. Se siente como una versión HTML de Ableton Live.