[2021] Texto a voz con Tacotron-2 y FastSpeech con ESPnet. {HD}


Una guía para principiantes desde texto neuronal hasta lenguaje de extremo a extremo.

2 de septiembre de 2020·5 minutos de lectura

0*jgq2Pn0MslfymMtc

Text-to-speech (TTS), como sugiere el nombre, lee el texto en voz alta. Toma palabras escritas como entrada y las convierte en audio. TTS puede ayudar a cualquiera que no quiera esforzarse mientras lee un libro, blog o artículo. En este artículo veremos cómo podemos crear un motor TTS, teniendo en cuenta que no sabemos nada sobre TTS.

El diagrama anterior es una representación simplificada de la arquitectura que seguiremos. Examinaremos y utilizaremos cada componente individual en detalle. ESP neto marco para propósitos de implementación.

interfaz

ess Principalmente tres componentes:

  1. Etiquetadora POS: Realiza el etiquetado de partes del discurso en el texto de entrada.
  2. Tokenizar: Convierte una oración en palabras.
  3. Pronunciación: Divide el texto ingresado en fonemas según la pronunciación. pzB Hola, como estas → HH AH0 L OW, HH AW1 AA1 RY UW1. Esto se hace mediante un convertidor de grafema a fonema, en este caso usamos un modelo G2P (grafema a fonema) neuronal previamente entrenado. Este modelo fue diseñado para convertir grafemas ingleses (ortografía) en fonemas (pronunciación). Para ilustrar simplemente cómo funciona este modelo G2P, podemos decir que consulta un diccionario cuando queremos saber la pronunciación de una palabra, y cuando la palabra no está almacenada en el diccionario, usa un modelo seq2seq basado en TensorFlow para predecir esto. fonemas. .

Devolución de secuencia a secuencia:

Usaremos un regresor de secuencia a secuencia preentrenado que ingresa características lingüísticas (fonemas) y genera características acústicas (espectrograma de mel). Aquí usamos Tacotron-2 (Google) y Fastspeech (Facebook) para este proceso. Así que echemos un vistazo rápido a ambos:

Tacotrón-2

Tacotron es un sistema de síntesis de voz impulsado por IA que puede convertir texto a voz. La arquitectura de red neuronal de Tacotron 2 sintetiza el habla directamente a partir del texto. Funciona en base a la combinación de Red Neural Convolucional (CNN) y Red Neural Recurrente (RNN).

Voz rápida

(a), (b) transformador de línea:

FastSpeech utiliza una nueva estructura de transformador de avance y descarta el marco tradicional de codificador-atención-decodificador como se muestra en la imagen de arriba. El componente principal del transformador feedforward es el bloque del transformador feedforward (bloque FFT, como se muestra en la figura (b)), que consta de autoconciencia y convolución 1D. Los bloques FFT se utilizan para convertir una secuencia de fonemas en una secuencia de espectrograma mel norte bloques apilados en la página de fonemas y en la página de espectrograma de mel, respectivamente. Unique es un control deslizante de longitud central que se utiliza para salvar la discrepancia de longitud entre las secuencias de espectrograma y fonema mel. (Nota: los fonemas son los sonidos pequeños y distintivos del habla).

(c) Deslizador de longitud:

El control deslizante de longitud del modelo se muestra en la figura anterior. Dado que la longitud de la secuencia de fonemas es menor que la de la secuencia del espectrograma mel, un fonema corresponde a varios espectrogramas mel. Se recupera el número de espectrogramas mel que coinciden con un fonema duración del fonema. El control deslizante de longitud extiende la secuencia oculta de fonemas según la duración para que coincida con la longitud de una secuencia de espectrograma mel. Podemos aumentar o disminuir proporcionalmente la longitud del fonema para ajustar la velocidad de la voz, y también podemos cambiar la longitud de los mosaicos vacíos para ajustar la pausa entre palabras para controlar parte de la prosodia.

(d) predictor de duración:

El predictor de duración es muy importante para que el control deslizante de longitud determine la duración de cada fonema. Como se muestra en la figura anterior, el predictor de duración consta de una convolución 1D de dos capas y una capa lineal para predecir la duración. El predictor de duración se apila en el bloque FFT en el lado del fonema y se entrena junto con FastSpeech mediante una función de pérdida de error cuadrático medio (MSE). La etiqueta de duración del fonema se extrae de la alineación de la atención entre el codificador y el decodificador en un modelo maestro autorregresivo.

Generador de formas de onda/codificador de voz:

Usamos un modelo seq-a-seq preentrenado que ingresa características acústicas (espectrograma de mel) y genera una forma de onda (audio). Aquí usamos el codificador de voz paralelo WaveGAN. aquí uno Red generativa adversaria (gan) La arquitectura se utiliza para generar las formas de onda a partir de los espectrogramas de mel; puede encontrar más información sobre esta arquitectura aquí.

implementación

Implementamos el…



[2021] Texto a voz con Tacotron-2 y FastSpeech con ESPnet. {HD}

Publicaciones Similares

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *