Speech synthesis (text-to-speech)

Pipeline de generación de audio

Cuando pides que se sintetice la siguiente frase

Dr. Chen’s appointment is at 3:00 PM

  1. Text normalization: lo convierte a Doctor Chen’s appointment is at three o’clock P M
  2. Análisis linguístico: lo convierte a fonemas /ˈdɑktər ˈtʃɛnz əˈpɔɪntmənt ɪz æt θri əˈklɑk pi ɛm/
  3. Generación de prosodia: detecta que hace falta subir un poco el tono para hacer énfasis en appointment, una pausa después de is y hacer enfasis de nuevo en three
  4. Speech synthesis: genera las ondas de audio para esas especificaciones

Normalización de texto

Preparar el texto para ser leido incluyendo números, símbolos etc

Dr. Smith ordered 3 items for $25.5

lo convierte a

Doctor Smith ordered three items for twenty-five dollars and fifty cents

Análisis linguístico: de texto a fonemas

  1. convertimos de segmentos de texto a sílabas y palabras
  2. mirar la pronunciación en lexicons (pronunciation dictionaries)
  3. aplicar reglas G2P o neural models a palabras no reconocidas
  4. marcar silabas e identificar las tónicas
  5. determinar contexto fonético

Grapheme to phoneme (G2P) conversion

G2P conversion mapea de letras escritas (graphemes) a sonidos hablado (fonemas). Sobre todo en inglés que no tiene nada que ver de como se escribe a como se habla.

Ejemplo:

  • The word “though” converts to /θoʊ/
  • The word “through” converts to /θruː/
  • The word “cough” converts to /kɔːf/

Los métodos de conversión actuales involucran redes neuronales con diccionarios de pronunciación.

Prosody generation: determinar la pronunciación

Prosodia es el ritmo y entonación de los patrones que hacen que un discurso suene natural. Se encarga de como se pronuncia, no de cuales palabras se pronuncian.

La prosodia afecta a la naturalidad de un audio generado. Una frase que suene “robótica” muchas veces no es resultado de pronunciar de manera incorrecta los fonemas, si no de una prosodia plana o monótona

Elementos de prosody

Se forma por varias características:

  • Tono
  • duración
  • intensidad
  • pausas
  • stress patterns

Es importante ya que aunque la frase sea la misma, el significado cambia según a que palabra le demos más importancia

  • “I never said he ate the cake.”
  • “I never said he ate the cake.”
  • “I never said he ate the cake.”
  • “I never said he ate the cake.”

Transformer-based prosody prediction

La prosodia se predice con redes neuronales. Los transformers son excelentes para entender el contexto de frases enteras, y no solo palabras.

Proceso de generación de prosodia

  1. Input encoding: el transformer recibe la secuencia de fonemas con linguistic features (puntuación, speech, estructura de sentencias)
  2. Análisis contextual: self-attention identifica relaciones entre palabras
  3. Predicciones de prosodia: el modelo hace output prediciendo valores de tono, duración y energia para cada fonema
  4. Style factors: se consideran diferentes tipos como neutral, expresivo, conversacional

Los predictores de prosodia crear especificaciones técnicas como

produce el fonema /æ/ a 180 Hz durante 80ms con intensidad moderada y luego haz una pausa durante 200ms

Speech synthesis: generar audio

El discurso final se basa en la secuencia de fonemas y las especificaciones de prosodia.

Los sistemas modernos usan neural vocoders - deep learning models que convierten representaciones linguisticas en audio.

Proceso de sintesis

  1. Accoustic feature generation: un modelo convierte fonemas y prosodia targets en mel-spectogramas (representaciones visuales del sonido en el tiempo)
  2. Vocoding: convierte los mel-espectogramas en raw audio waveforms (secuencias de valores de 16 a 48 Khz)
  3. Postprocesado: se añaden filtros, normalizaciones o efectos de audio