[En lo profundo. Artículo] AdaSpeech: conversión adaptativa de texto a voz para voz personalizada - DeepBrainAI

Updated on
July 5, 2024
|
Technology
Published
January 25, 2022
Equipo de aprendizaje profundo: Colin
Resumen

Es posible que haya cambiado la voz de la voz guiada mientras utilizaba los altavoces o la navegación con IA. Yo configuro la voz del altavoz con la voz de mi actor favorito, Yoo In-na, y se ha vuelto importante sintetizar el discurso con varias voces, ya que la tecnología de síntesis de voz se ha incorporado a varios aspectos de la vida, como los asistentes personales, los noticieros y las instrucciones de voz. Además, existe una creciente demanda de utilizar no solo las voces de otras personas, sino también sus voces como voz de inteligencia artificial, lo que se denomina síntesis de voz personalizada en el campo de la investigación sobre síntesis de voz.

Hoy veremos un modelo de conversión de texto a voz (TTS) llamado AdaSpeech que apareció para la síntesis de voz personalizada. La tecnología para generar voz personalizada se realiza principalmente mediante el proceso de adaptación del modelo TTS fuente previamente entrenado a la voz del usuario. La mayoría de los datos de voz del usuario que se utilizan en este momento son pequeños por motivos de comodidad y, dado que la cantidad es pequeña, es una tarea muy difícil hacer que la voz generada parezca natural y similar a la voz original. Hay dos problemas principales con el entrenamiento de redes neuronales con voz personalizada.

En primer lugar, las voces de ciertos usuarios suelen tener condiciones acústicas diferentes a las de los datos de voz aprendidos del modelo TTS fuente. Por ejemplo, hay una variedad de rimas, estilos, emociones, puntos fuertes y entornos de grabación de los hablantes, y las diferencias en los datos de voz que se derivan de ellas pueden dificultar el rendimiento de generalización del modelo original y, por lo tanto, una calidad de adaptación deficiente.

En segundo lugar, cuando se adapta el modelo TTS fuente a una nueva voz, hay una compensación entre los parámetros de ajuste fino y la calidad de la voz. En otras palabras, cuantos más parámetros adaptativos utilice, mejor calidad podrá producir, pero también mayor será el uso de memoria y el costo de implementación del modelo.

Los estudios existentes se han abordado especificando un método para ajustar todo el modelo o parte (especialmente el decodificador), ajustar únicamente la incrustación de altavoces utilizada para distinguir a los altavoces en la síntesis de voz de varios altavoces, entrenar el módulo codificador de altavoces y asumir que el dominio de la voz fuente y los datos adaptativos es el mismo. Sin embargo, existe un problema con el uso real porque hay demasiados parámetros o no produce una calidad satisfactoria.

AdaSpeech es un modelo TTS que puede generar de manera eficiente voces de nuevos usuarios (o altavoces) con alta calidad y, al mismo tiempo, resolver los problemas anteriores. El proceso se dividió en gran medida en tres etapas: formación previa, ajuste e inferencia, y se utilizan dos técnicas para resolver las dificultades existentes. ¡De ahora en adelante, las analizaremos juntos! 🙂

 

Resumen para personas ocupadas
  • El rendimiento de generalización del modelo se mejoró al extraer las características acústicas de acuerdo con varios alcances de los datos de voz y agregarlas a los vectores de codificación de fonemas existentes mediante el modelado de condiciones acústicas.
  • Han mejorado de manera eficiente el proceso de adaptación del modelo fuente a los datos del nuevo altavoz mediante la normalización de capas condicionales.
  • Ahora es posible crear voces personalizadas de alta calidad con menos parámetros y menos datos de voz nuevos que los modelos de referencia tradicionales.

 

Estructura del modelo

El modelo troncal de AdaSpeech es FastSpeech 2. Se compone principalmente de codificadores de fonemas, adaptadores de varianza y decodificadores Mel. Incluye dos elementos nuevos (áreas rosadas en la figura 1) ideados por los autores.

 

Modelado de condiciones acústicas

En general, es importante aumentar el rendimiento de generalización del modelo porque la voz fuente utilizada en el entrenamiento del modelo no puede cubrir todas las características acústicas de la voz del nuevo usuario. Dado que es difícil incluir estas características acústicas en el texto que introduce el modelo en el TTS, el modelo tiende a recordar las características acústicas en los datos de entrenamiento, lo que dificulta la generalización del rendimiento al generar voces personalizadas. La forma más sencilla de resolver este problema es proporcionar características acústicas como entrada del modelo, que se divide en nivel de altavoz, nivel de expresión y nivel de fonema, y se denomina modelado de condiciones acústicas, que incluye una variedad de características de sonido, desde información de área amplia hasta información periférica. Cada nivel contiene la siguiente información.

  • Nivel de altavoz: nivel que captura las características generales de un altavoz y representa la gama más amplia de características acústicas (por ejemplo, la incrustación de altavoces).
  • Nivel de expresión: un nivel que capta las características que aparecen al pronunciar una oración y, como entrada, se utiliza un espectrograma mel de una voz de referencia y se extrae un vector de características. Al entrenar el modelo, la voz objetivo se convierte en una voz de referencia y, en inferencia, una de las voces del hablante que se desea sintetizar se selecciona aleatoriamente y se usa como voz de referencia.
  • Nivel de fonema: el rango más pequeño de niveles que captura las características en unidades de fonemas de una oración (por ejemplo, la intensidad de un fonema en particular, el tono, la rima y el ruido ambiental temporal). En este caso, se introduce el espectrograma mel del nivel del fonema, que se expresa sustituyendo los fotogramas mel correspondientes al mismo fonema por el promedio de la sección. Y en la inferencia, aunque la estructura es la misma, utilizamos un predictor acústico que recibe el vector oculto del codificador de fonemas como entrada y predice el vector del nivel del fonema.

 

Normalización de capas condicionales

 

El decodificador mel de AdaSpeech consiste en una red de autoatención y retroalimentación basada en el modelo Transformer y, dado que en él se utilizan muchos parámetros, el proceso de ajuste fino a una nueva voz no será eficiente. Por lo tanto, los autores aplicaron la normalización condicional de capas a la red de autoatención y retroalimentación de cada capa y redujo la cantidad de parámetros actualizados durante el ajuste al actualizar la escala y el sesgo utilizados aquí para adaptarlos al usuario. Y la escala y el sesgo utilizados aquí se denominan condicionales porque atraviesan la capa lineal como en la figura anterior y estos vectores se calculan a partir de la incrustación de altavoces.

 

Proceso de formación e inferencia

El proceso de entrenamiento de AdaSpeech y de inferir la voz a los nuevos hablantes se puede resumir con el algoritmo anterior. En primer lugar, entrene previamente el modelo fuente con la mayor cantidad posible de datos de texto y voz y, a continuación, actualice los parámetros utilizados para la normalización de la capa condicional y la incrustación de altavoces con los datos de voz de un nuevo orador mediante un ajuste preciso. A modo de inferencia, se puede observar que el valor del parámetro que debe calcularse a partir de la información del hablante y el valor del parámetro no ajustado durante el aprendizaje se utilizan conjuntamente para crear un espectrograma mel.

 

Resultados del experimento
Evaluación personalizada de la calidad de voz

 

MelGAN se usó como vocoder, y la naturalidad de la voz personalizada sintetizada se evaluó como MOS, y la similitud se evaluó en una métrica llamada SMOS. Se puede observar que AdaSpeech puede sintetizar voces de alta calidad con pocos parámetros o parámetros similares a los de referencia. Y dado que el modelo TTS original estaba preentrenado para un conjunto de datos llamado LibritTS, por supuesto, parece que recibe la puntuación más alta cuando se lo adapta como nuevo altavoz de LibritTS.

 

Estudio de ablación

Utilizando el CMOS (MOS de comparación), que puede evaluar la calidad relativa, realizaron un estudio de ablación sobre las técnicas que se afirma que son una contribución en este artículo. Dado que el CMOS de AdaSpeech, que eliminaba ciertas partes, era inferior al del AdaSpeech básico de la tabla 2, podemos concluir que todas las técnicas contribuyen a mejorar la calidad.

 

Modelado de condiciones acústicas Análisis

La figura 4 (a) muestra el vector acústico del nivel de expresión de los hablantes aprendidos en t-SNE. Se puede observar que las diferentes oraciones pronunciadas por el mismo hablante se clasifican en el mismo grupo y, a partir de esto, se considera que el modelo ha aprendido las características únicas de un hablante cuando pronuncia una oración. Hay algunas excepciones, pero estas frases suelen ser frases breves o emotivas, lo que dificulta distinguirlas de las pronunciadas por otros hablantes.

Normalización de capas condicionales Análisis

En comparación con el CMOS, se puede ver que la calidad de la voz es la mejor cuando se utiliza la normalización de capa condicional. Por lo tanto, al realizar la normalización de capas, es mejor modificar la escala y el sesgo reflejando las características del hablante, y se puede resumir que actualizarlas solo tiene un efecto positivo en la adaptabilidad del modelo.

Cantidad de análisis de datos adaptables

Por último, los autores realizaron un experimento para comprobar la cantidad de datos de voz de los nuevos usuarios que se necesitan para determinar si este modelo es práctico. Como se puede ver en la figura 4 (b), la calidad de la voz sintetizada mejora rápidamente hasta que se utilizan 10 muestras, pero desde entonces no hay ninguna mejora significativa, por lo que está bien ajustar el ADASpeech utilizando solo 10 muestras para cada altavoz.

 

Conclusión y Opinión

AdaSpeech es un modelo TTS que tiene la capacidad de adaptarse a los nuevos usuarios y, al mismo tiempo, aprovechar al máximo las ventajas de FastSpeech, que anteriormente había mejorado la velocidad con la síntesis de voz en paralelo. El modelado de condiciones acústicas mejora el rendimiento de generalización del modelo al capturar las características de la voz y, si se subdivide aún más, se puede crear una IA que hable de forma más parecida a las características del usuario. Además, creo que el valor de uso es infinito, ya que es un modelo que puede satisfacer el TTS de voz personalizado con solo 10 muestras, pero aun así, es lamentable en términos prácticos que la voz del usuario y el texto correspondiente se utilicen como datos para realizar un ajuste fino juntos. De hecho, aunque pudieras grabar tu voz entre quienes utilizan los servicios de síntesis de voz mediante IA, habrá más usuarios que se molestarán en escribir el texto a la vez. Por lo tanto, en la próxima sesión, presentaremos una versión modificada de AdaSpeech que permite la síntesis de voz personalizada sin datos emparejados entre texto y voz.

 

Referencia

(1) [FastSpeech 2] FastSpeech 2: texto a voz de extremo a extremo rápido y de alta calidad

(2) [Discurso de ADA] AdaSpeech: adaptación de texto a voz para voz personalizada

(3) [AdaSpeech] https://speechresearch.github.io/adaspeech/

Referencia

(1) [Documento sobre FastSpeech 2] FastSpeech 2: texto a voz de extremo a extremo rápido y de alta calidad

(2) [Documento de discurso de ADA] AdaSpeech: adaptación de texto a voz para voz personalizada

(3) [Demostración de AdaSpeech] https://speechresearch.github.io/adaspeech/

Most Read

Most Read

Mantengámonos conectados

Nuestro equipo está listo para apoyarlo en su viaje humano virtual. Haga clic a continuación para comunicarse con nosotros y alguien se pondrá en contacto con usted en breve.