Síntesis de Voz: Conversión Texto a Fonemas

Se han mencionado ya los diferentes modelos de síntesis de voz. El reto que se enfrenta hoy en el desarrollo de síntesis de voz no es únicamente la forma de emular la voz humana, sino también encontrar un sistema de control eficiente para producirla.

Los tres métodos de síntesis aquí mencionados resultan complicados de manipular, los tres por la misma razón: Los múltiples parámetros que implican modificarse para producir una frase.

Los sistemas de cómputo actuales han facilitado este control multi-parámetro, gracias a la rapidez de los procesadores se han podido programar los diferentes parámetros y ejecutar en fracciones de segundo. Esto desafortunadamente sólo ha solucionado parte del problema ya que los investigadores en tecnologías del habla han descubierto que el lenguaje hablado es mucho más complicado de recrear de lo que parece, no sólo por la emulación de los fonemas sino por la articulación de las palabras.

El método tradicional para generar una frase sintetizada es teniendo la frase que se desea producir como texto a manera de entrada denominado Text-to-speech, desde luego los fonemas (sonido de las palabras) no necesariamente coincide siempre con los grafemas (letras), por esta razón es necesario un proceso previo de interpretación de texto. El proceso consiste en una serie de reglas por lo que se conoce como synthesis by rules.

A continuación, se presenta la explicación de esta etapa en la síntesis de texto tomado de las notas de Herrera (Camacho & Ávila, 2013). Se hará mención de la terminología utilizada en Festival porque fue el sintetizador que se estudió (Taylor, Black, & Caley, 1998; Tokuda, Zen, & Black, 2002) debido a ser uno de los mejores en su clase y que en él están basados los actuales sistemas de síntesis que se estudiaron.

Figura 1 “Diagrama de Texto a Voz”

En la figura 1 se muestra un diagrama de bloques de las varias etapas en un sistema texto a voz concatenado. La entrada del sistema es un texto sin restricciones en forma de una secuencia de caracteres, incluyendo números, abreviaciones y signos de puntuación. La función del normalizador de texto es procesar cualquier carácter no alfabético: los signos de puntuación que se identifiquen se dejarán en su lugar; las abreviaciones serán expandidas a su forma completa; las cantidades se expandirán en sus formas completas también, por ejemplo “£2.75” se convertirá en “dos libras y setenta y cinco centavos”. Esta etapa se conoce en Festival como tokenización. Los programadores de Festival decidieron demoníaca como token al árbol de posibilidades correspondiente a un grafema. Normalmente hay una única posibilidad de token por grafema, sin embargo, en el caso de los números o determinados signos de puntuación, las posibilidades aumentan considerablemente.

La salida del normalizador de texto es texto plano en forma de una secuencia de caracteres alfabéticos y signos de puntuación. Aquí se fonetizan todos los grafemas encontrados, por ejemplo, “casa” se convierte en “kasa”, “queso se vuelve “keso”, “hola” se modifica a “ola”, etc. En festival se denomina como lexicon a los caracteres que denotan la sonoridad del fonema en cuestión. Por ejemplo: “photography” es en lexicon, (((f@)0)((tog)1)((r@f)0)((ii)0))).

El siguiente módulo llamado analizador de sintaxis/prosodia usa un algoritmo de análisis para segmentar el texto de tal forma que se le pueda asignar una entonación y ritmo significativos. Esto normalmente involucra un análisis gramatical, esto es, la identificación de sustantivos, verbos, preposiciones, conjunciones, etc. El módulo asigna marcadores al texto, los cuales indican, por ejemplo, las sílabas acentuadas, los puntos de acentuación tónica en un patrón de entonación y los tipos de patrones de entonación a ser usados en varias partes de la locución.

 Es bien sabido en el campo de la lingüística que los fonemas modifican sus sonidos dependiendo del fonema que lo antecede y del que lo precede. Por esta razón los sistemas de texto a voz necesitan puntos de comparación para saber cuál es la mejor opción de fonema a sintetizar. De ahí la importancia de dotar al sistema de una base de datos o corpus que contenga diferentes opciones de fonemas. Dentro de la base de datos, cada fonema viene etiquetado con su probabilidad de ocurrencia.

La forma de calcular la probabilidad máxima de ocurrencia se hace mediante la resolución de árboles determinísticos. Normalmente los pasos a seguir son los siguientes:

  • Pre-procesar el lexicon en texto funcional a un sistema de entrenamiento
  • Definir un conjunto de equivalencias pares grafema-fonema
  • Construir las posibilidades de cada par grafema-fonema
  • Construir modelos CART para predicción de fonemas desde grafemas
  • Ir obteniendo los difonemas correspondientes y concatenándolos uno tras otro.

Se denomina CART (Clasiffication and Regression Tree) al sistema probabilístico de extracción de datos que se aplica en este proceso de selección. Un ejemplo del árbol de clasificación y regreso aplicado a Festival es el siguiente:

  • Se tiene como texto de entrada la palabra Queso, la cual se fonetiza como /K//E//s//o/.
  • Se revisa cada token (grafema) de forma individual y se hace una pregunta, es decir: Fonema /k/ ¿viene consonante o vocal? Respuesta: Vocal. ¿Esta vocal es débil o fuerte? Respuesta: Débil. ¿La siguiente letra es consonante o vocal? Respuesta: Consonante.
  • El sistema determina un 80% de probabilidad que el siguiente fonema sea /E/

La figura ilustra el árbol determinístico:

Figura 3. “Funcionamiento de CART”

Las iteraciones necesarias se realizan hasta completar el texto presentado como entrada. Al tiempo que el programa va concatenando los diferentes difonemas que forman parte del corpus. En su esquema más básico, el programa es limitado en cuanto a modificaciones en la prosodia del texto sintetizado.

2. Selección de unidades

Anteriormente expuesto en este documento, se tiene ya mencionado que en la síntesis concatenativa se parte de fragmentos de voz previamente grabados por un profesional. A partir de estos fragmentos de voz es como se van a reconstruir diferentes palabras.

Se denomina síntesis de voz por unidades (Dutoit, 2008) a aquel tipo de síntesis, donde las frases sintetizadas son logradas a través de la concatenación de palabras completas extraídas de una base de datos -llamada también corpus- de frases pre-grabadas. A últimos años, los especialistas en síntesis de voz prefieren utilizar este sistema de selección unidades sobre otros, como el de fonemas o difonemas, ya que al trabajar con palabras o frases completas es posible mantener una mejor inteligibilidad y naturalidad en cada frase. Las distintas unidades de voz tienen un sistema de etiquetado el cual permite después ubicarlas como vectores de observación (Tokuda, Yoshimura, & Masuko, 2000; Tokuda et al., 2002) que son estados dentro del sistema de selección por modelos ocultos de Markov (HMM) -del que se hablará más adelante en el texto-. Otra manera de hacer la selección de unidades es por medio de un algoritmo estadístico de conjuntos de unidades con elementos comunes, de aquí se desprenden dos métodos propuestos por Alan Black: Clustering (Black & Taylor, 1997) y CLUSTERGEN (Black, 2006). Ambos métodos son la base de selección del conocido sistema de síntesis de voz FESTIVAL, desarrollado en conjunto por CMU y la Universidad de Edinburgo. Ejemplos de sonido de este sistema se puede escuchar en los audios:

Con el paso del tiempo, la selección de unidades utilizando HMM ha demostrado ser mucho más eficiente que los métodos basados en clusters por lo que incluso FESTIVAL la ha adoptado. Por esta razón no se hablará con detalle en el texto de los sistemas Clustering y CLUSTERGEN.

Referencias

Black, A. (2006). CLUSTERGEN: a statistical parametric synthesizer using trajectory modeling. INTERSPEECH. Retrieved from http://www.scs.cmu.edu/afs/cs.cmu.edu/Web/People/awb/papers/is2006/IS061394.PDF

Black, A., & Taylor, P. (1997). Automatically clustering similar units for unit selection in speech synthesis. Retrieved from https://www.era.lib.ed.ac.uk/handle/1842/1236

Camacho, A. H., & Ávila, F. D. R. (2013). Development of a Mexican Spanish Synthetic Voice Using Synthesizer Modules of Festival Speech and HTSStraight. International Journal of Computer and Electrical Engineering, 36–39. https://doi.org/10.7763/IJCEE.2013.V5.657

Dutoit, T. (2008). Corpus-Based Speech Synthesis. In Springer Handbook of Speech Processing (pp. 437–456). Berlin, Heidelberg: Springer Berlin Heidelberg. https://doi.org/10.1007/978-3-540-49127-9_21

Taylor, P., Black, A., & Caley, R. (1998). The architecture of the Festival speech synthesis system. Retrieved from https://www.era.lib.ed.ac.uk/handle/1842/1032

Tokuda, K., Yoshimura, T., & Masuko, T. (2000). Speech parameter generation algorithms for HMM-based speech synthesis. , Speech, and Signal …. Retrieved from http://ieeexplore.ieee.org/abstract/document/861820/

Tokuda, K., Zen, H., & Black, A. (2002). An HMM-based speech synthesis system applied to English. IEEE Speech Synthesis Workshop. Retrieved from http://www.scs.cmu.edu/afs/cs.cmu.edu/Web/People/awb/papers/IEEE2002/hmmenglish.pdf

Black, A. (2006). CLUSTERGEN: a statistical parametric synthesizer using trajectory modeling. INTERSPEECH. Retrieved from http://www.scs.cmu.edu/afs/cs.cmu.edu/Web/People/awb/papers/is2006/IS061394.PDF

Black, A., & Taylor, P. (1997). Automatically clustering similar units for unit selection in speech synthesis. Retrieved from https://www.era.lib.ed.ac.uk/handle/1842/1236

Camacho, A. H., & Ávila, F. D. R. (2013). Development of a Mexican Spanish Synthetic Voice Using Synthesizer Modules of Festival Speech and HTSStraight. International Journal of Computer and Electrical Engineering, 36–39. https://doi.org/10.7763/IJCEE.2013.V5.657

Dutoit, T. (2008). Corpus-Based Speech Synthesis. In Springer Handbook of Speech Processing (pp. 437–456). Berlin, Heidelberg: Springer Berlin Heidelberg. https://doi.org/10.1007/978-3-540-49127-9_21

Taylor, P., Black, A., & Caley, R. (1998). The architecture of the Festival speech synthesis system. Retrieved from https://www.era.lib.ed.ac.uk/handle/1842/1032

Tokuda, K., Yoshimura, T., & Masuko, T. (2000). Speech parameter generation algorithms for HMM-based speech synthesis. , Speech, and Signal …. Retrieved from http://ieeexplore.ieee.org/abstract/document/861820/

Tokuda, K., Zen, H., & Black, A. (2002). An HMM-based speech synthesis system applied to English. IEEE Speech Synthesis Workshop. Retrieved from http://www.scs.cmu.edu/afs/cs.cmu.edu/Web/People/awb/papers/IEEE2002/hmmenglish.pdf

Advertisements

Mel Cepstral Frequency Coefficients MFCC

Los coeficientes obtenidos a partir de un proceso de filtrado conocido como Mel-Cepstral, son un conjunto de valores numéricos que resumen la información básica de las características que constituyen una señal de voz (Holmes & Holmes, 2001). El procedimiento para obtenerlos está basado en dos conceptos: El rango de frecuencias Mel y la separación de frecuencias por medio de Cepstrum.

El rango de frecuencias Mel está basado en la reducción de frecuencias de la señal de voz teniendo como referencia el rango auditivo humano, es decir, aquellas frecuencias que se pueden percibir más fácilmente. Por otro lado, Cepstrum es un concepto matemático que separa de la señal de voz en dos bandas de frecuencias baja y alta. La baja corresponde a los formantes de los fonemas producidos debido a las cavidades del tracto vocal y la banda alta es relativa a la excitación en las cuerdas vocales. Esta última es una señal periódica muy particular a los distintos fonemas independientemente de las variaciones en el tracto vocal.

El algoritmo de MFCC se puede resumir de acuerdo al diagrama siguiente:

Ahora bien, en cada una de las ventanas se aplica un conjunto de filtros pasabanda cuyo número varía de acuerdo a la precisión deseada. Al resultado de la señal filtrada en cada uno de los filtros es después una función logarítmica. Es a nueva señal de acuerdo al concepto de Cepstrum es necesario volver a aplicar una FFT la cual, debido a su simetría, se obtiene mediante una transformada coseno discreta.

Alogoritmo detallado

A continuación, hacemos una descripción a detalle de la obtención de los coeficientes MFCC. La figura 1 muestra el sistema en esquema.

Figura 1. “Esquema General de MFCC”
  1. Se hace pre-énfasis a la señal de voz, es decir se amplifican las altas frecuencias para facilitar el cálculo de las formantes con amplio contenido en el espectro alto.
  2. Se aplica una ventana Hamming para obtener la frecuencia promedio en diferentes tramas o Generalmente se aplica una ventana de 20 ms a intervalos de 10 ms.
  3. Se obtiene la DFT de cada frame.
  4. Se aplica un banco de filtros a cada frame. De acuerdo con Davis y Mermelstein (Davis & Mermelstein, 1978) los filtros se distribuyen de manera no lineal de acuerdo a la escala Mel. Normalmente se utilizan 20 filtros. Los primeros 10 están linealmente distribuidos y los siguientes 10 crecen en forma logarítmica.
  5. Se aplica la transformada Coseno Discrete, la cual es una variante de la FFT a la salida de cada filtro. Normalmente se obtienen de 10 a 12 coeficientes MFCC, pero el número es modificable por el usuario.

Los MFCC son una manera compacta de almacenar sonido. No son otra cosa más que números que revelan las diferentes amplitudes de la señal, pero no tienen en sí mismos energía acústica codificada.

Si se van a utilizar para hacer síntesis, hacen la función de un filtro a través del cual pasa una fuente sonora dual que emite una señal sinusoidal para sonidos vocales y una señal de ruido blanco para sonidos sordos.

Referencias

Davis, S., & Mermelstein, P. (1978). Evaluation of acoustic parameters for monosyllabic word identification. The Journal of the Acoustical Society of. Retrieved from http://asa.scitation.org/doi/abs/10.1121/1.2004059

Holmes, J. N., & Holmes, W. (Wendy J. . (2001). Speech synthesis and recognition. Taylor & Francis.

Procesamiento de Voz Usando TD-PSOLA y MBROLA

Se ha visto que modificar duración y tono en una señal de voz (prosodia) no son operaciones triviales.  De manera intuitiva, el lector podría pensar que, modificaciones a tono y duración se consiguen interpolando muestras y re-muestreando la señal. Los resultados de realizar tal proceso equivalen a aquellos observados cuando se modifica la velocidad de reproducción de una cinta de audio analógica, es decir: el tono sube o baja de manera exagerada. Se han buscado alternativas para resolver éste problema, uno de los más eficientes ha sido el procesamiento de la señal mediante un algoritmo conocido como TD-PSOLA (Stylianou, 2008).

Time Domain Pitch Synchronous Overlap Add (Fragmentación y traslape de la señal sincronizada en tono en dominio del tiempo). Tal cual su nombre lo indica, el algoritmo tiene la siguiente estructura:

  1. Se analizan los distintos periodos en la señal de voz y se colocan indicadores (pitch marks)
  2. Hacer un ventaneo (fragmentación de la señal) con una cierta duración.
  3. Identificación de la frecuencia fundamental F0 en cada uno de los segmentos contenidos en las ventanas.
  4. Si se desea aumentar la duración, se repiten ciertos segmentos para aumentar el periodo. Si por el contrario la intención es volverla más corta, se eliminan algunos segmentos.
  5. Si se desea cambiar el tono se reacomodan las ventanas con modificaciones de la duración entre una y otra, dependiendo si se quiere aumentar o disminuir la frecuencia.
  6. Finalmente se suman las ventanas resultantes para realizar la síntesis

En el enlace abajo se muestran ejemplos de síntesis usando TD-PSOLA, la primera y segunda frase muestran sonido sintetizado a partir de texto. La diferencia entre ambas es la entonación que fue modificada de forma artificial. El tercer audio muestra una señal de voz grabada sin modificaciones y la cuarta es ésta misma señal con modificaciones en tono y duración.

 

A continuación, presentamos los detalles del algoritmo arriba mencionado:

Se tiene una señal de voz como se ve en la figura 1.

Figura 1 “Señal de voz”

En esta señal es necesario hacer una detección de las partes periódicas de la misma, para ello hay varios métodos. Aquí describimos el procedimiento propuesto por Goncharoff  (Goncharoff & Gries, 1998). En primer lugar, se buscan secuencias numéricas que se incrementen y decrementen con cierta regularidad. Una vez hallados estos periodos se identifican mediante marcas de tono o pitch marks. Posteriormente se separa la señal en tramas o frames, cada frame tiene una duración de dos periodos. La ventaja de tener éstas ventanas como unidades aisladas es que podemos combinarlas teniendo sus puntos centrales en la frecuencia principal. Luego se traslapan unas con otras y se tiene una reconstrucción de la señal original. La figura 2 muestra un diagrama de la misma.

Figura 2 “(1) Detección de pitch marks. (2) Aplicación de ventanas Hanning. (3) Separación en frames. (4) Reconstrucción de la señal original.

Se recomienda la ventana de dos periodos para facilitar la reconstrucción de la onda en el momento del traslape, así como se ilustra en la figura 3.

Figura 3 “Traslape de segmentos”

  2. Modificaciones de tono y duración.

Precisamente la ventaja de hacer ésta separación de la señal en tramas es lo que nos permite hacer modificaciones en duración y tono. Para modificar la duración es necesario duplicar algunas de las tramas. Por su parte si se busca un acortamiento de la duración de la señal, algunas de las tramas deben ser eliminadas. La figura 4 ilustra éste concepto.

La modificación del tono se logra mediante la recombinación de las tramas. En éste caso es necesario modificar la duración de las pitch marks. Vale la pena mencionar un ejemplo para ilustrar éste concepto:

  • Se tiene un segmento de voz con un tono de 100 Hz (10 ms entre cada pitch mark)
  • Se realiza el ventaneo de Hanning
  • Sí se colocan las ventanas a una distancia de 9 ms y luego se hace la suma-traslape, se obtendrá ahora un tono de 111 Hz.

Figura 4 “Traslape para modificar tono”

Para el caso de la modificación del tono, es necesario alterar la duración de los periodos entre las pitch marks. La consecuencia de esto puede ser la obtención de una señal más corta en el tiempo. Por ésta razón, a veces es necesario duplicar algunos frames en afán de preservar la duración original de la señal.

Detallaremos ésta explicación con un ejemplo:

  • Se tiene un tono de 100Hz ventaneado con 5 frames cada uno con una separación de 10 ms. Es decir, hay una duración total de (5-1) *10 ms= 40ms entre la primera y la última pitch mark.
  • Si deseamos cambiar el tono a 150 Hz es necesario poner la distancia de las pitch marks a 6.6 ms, el probema es que ahora nuestra duración total es de (5-1) *6.6ms= 26 ms.
  • Para preservar la duración original, tenemos que duplicar dos frames, de ésta forma volvemos a nuestra duración de 40 ms (7-1) * 6.6 ms =40 ms.
  1. Detalle de la manipulación de las pitch marks

Como se puede apreciar en las secciones anteriores la base del método TD PSOLA, el elemento crítico son las pitch marks . Se ha dicho que es necesario modificarlas para ejecutar los cambios de duración y tono.

Se mencionó que las pitch marks se hallan mediante un algoritmo de detección. Dichas marcas se pueden representar como una secuencia de análisis Ta= {ta1, ta2,…,taM}, el periodo local entre dos de éstas marcas se define como:

Que no es más que un valor medio entre la pitch mark inicial y la pitch mark final. De éste punto, se hace un ventaneo de la señal para separar en frames, éste se define como:

De aquí es necesario crear una secuencia de síntesis de las pitch marks que depende de la duración y cambio en el tono deseados Ts= {tS1, tS2,…,tSM}, la relación de ésta secuencia de síntesis con la de análisis está relacionada por una función M[i] que especifica cuáles frames de análisis deberán corresponder en la síntesis. Ésta función es una suerte de línea de tiempo virtual entre sínteis y análisis, tal como se ve en la figura 5.

Figura 5 “línea de virtual tiempo de pitch marks entre análisis y síntesis”

Multi-Band Resynthesis Overlap Add (MBROLA)

Se habló en párrafos anteriores acerca de dos tareas principales a resolver en la síntesis concatenativa, la primera tiene que ver con la modificación de la prosodia y la segunda con hacer una transición sutil entre fonemas.

El que la transición no sea sutil tiene que ver con una unión incorrecta entre fonemas, la cual puede ser de tres tipos:

Mala unión de Fase (Phase Mismatch): Este tipo de problemas ocurren cuando las formas de onda no están centradas en las mismas posiciones relativas dentro del periodo de tiempo en que se encuentran.

Mala unión de Tono (Pitch Mismatch): Sucede cuando ambos segmentos tienen la misma envolvente espectral pero fueron pronunciados con diferentes tonos.

Mala unión de Envolvente de Espectro (Spectral Envelope Mismatch): Esta falla resulta cuando las unidades fonéticas fueron extraídas de contextos diferentes entre sí. La discontinuidad ocurre sólo en un período.

Ante estos problemas de unión, Dutoit y Leich (Dutoit & Leich, 1993)proponen una solución conocida como MBROLA. Este algoritmo deriva directamente del TD-PSOLA, de hecho es muy semejante. La diferencia radica en que no se hace un análisis individual de las ventanas. Ni son necesarias las pitch marks.

Como lo muestra el diagrama, el sistema toma como referencia un difonema procedente de un corpus. El primer paso es diferenciar si es vocal o sordo. Si se trata de un sonido vocal, entonces se separa y se hace un análisis de bandas del mismo. El análisis se lleva a cabo mediante un sintetizador armónico que se encarga de calcular nuevas amplitudes y fases con características regulares. Estos difonemas resintetizados son después concatenados utilizando el método Overlap Add OLA.

Figura 6 “Esquema de MBROLA”

Dado que objetivo de MBROLA es hacer las formas de onda lo más semejantes entre sí. Es esencial el reajuste de fases del que se habló anteriormente y se explicará a continuación con mayor detalle. El ajuste de las ondas se hace en los bordes de la última parte del primer segmento y de la primera parte del segundo segmento. El último borde y el subsiguiente se denotan como SlN  y Sr0 respectivamente y los ajustes a los mismos se definen como ML y MR los cuales se obtienen de las siguientes fórmulas:

Para i=0…ML-1 y j=0…MR-1

Para la solución de la mala unión de la envolvente de espectro se usa el algoritmo propuesto por Charpentier y Moulines (Moulines & Charpentier, 1990) el cual consiste en la interpolación de los periodos vocales de tono regular (voiced pitch periods).

Referencias

Dutoit, T., & Leich, H. (1993). MBR-PSOLA: Text-to-speech synthesis based on an MBE re-synthesis of the segments database. Speech Communication. Retrieved from http://www.sciencedirect.com/science/article/pii/016763939390042J

Goncharoff, V., & Gries, P. (1998). An algorithm for accurately marking pitch pulses in speech signals. Proc. of the SIP’98. Retrieved from

Moulines, E., & Charpentier, F. (1990). Pitch-synchronous waveform processing techniques for text-to-speech synthesis using diphones. Speech Communication. Retrieved from http://www.sciencedirect.com/science/article/pii/016763939090021Z

Stylianou, Y. (2008). Voice Transformation. In Springer Handbook of Speech Processing (pp. 489–504). Berlin, Heidelberg: Springer Berlin Heidelberg. https://doi.org/10.1007/978-3-540-49127-9_24

 

Síntesis de Voz, Resumen de los métodos más representativos

Desde principios del siglo XX se han realizado distintos esfuerzos para generar “máquinas parlantes”, o de manera más correcta: Realizar Síntesis de Voz. Sin embargo, a casi un siglo de que apareció el primer sintetizador de voz eléctrico de Homer Dudley que se tiene documentado (“Homer Dudley’s Speech Synthesisers,” n.d.) llamado VODER (ver figura).  No se ha terminado de lograr el sueño de tener un sistema de síntesis de voz que resulte indistinguible de la voz humana. Si bien las voces sintéticas de la actualidad cumplen casi cabalmente el requisito de inteligibilidad, aún no es así con el de la expresión. La combinación de estos dos es lo que dota de naturalidad a los sistemas de voz artificial.

Existen tres sistemas de síntesis vocal: síntesis de formantes, síntesis articulatoria y síntesis concatenativa. A continuación, se explica con detalle en que consiste cada uno.

 

  1. Síntesis de Formantes

Se define como frecuencias formantes a aquellas frecuencias características de un fonema. Tales sonidos permanecen constantes en cada emisión de frase, independientemente de la entonación o intensidad con la que la frase haya sido producida. Gracias a ésta característica sabemos que los fonemas pueden ser identificados en todo momento por estas frecuencias.

Fisiológicamente hablando, las formantes son resultado de las resonancias producidas a lo largo del tracto vocal de la onda sonora proveniente de la glotis que tuvo su origen en la vibración de las cuerdas vocales producida por una corriente de aire en los pulmones.

En la voz humana existen dos tipos de sonidos: vocales y sordos o no-vocales, los primeros son resultado de la vibración de las cuerdas vocales y los segundos resultan del flujo de aire que pasa directamente de los pulmones al tracto vocal.

Este proceso de generación artificial de formantes se puede lograr en un sistema de procesamiento de señales electrónicas. La señal proveniente de las cuerdas vocales se simula con una fuente sinusoidal. Los sonidos no-vocales, por su parte, se emulan a través de una fuente de ruido blanco. Las frecuencias formantes se logran pasando dicha fuente a través de un conjunto de filtros pasa banda. Un modelo que ha sido referente en este tipo de sistemas de fuente-filtros es el sintetizador de Klatt (Klatt, 1982) el cual fue de los primeros sistemas de síntesis en software cuyo algoritmo y código fuente se publicaron a detalle.

  1. Síntesis Articulatoria

La síntesis articulatoria está basada principalmente en el trabajo de Fant (Fant, 1970) que comenzó desde principios de los 60. Este tipo de síntesis pretende modelar las características físicas haciendo un estudio de la geometría del tracto vocal, principalmente de su largo y su área transversal. Posteriormente mediante ecuaciones de movimiento de fluidos se hace un modelo matemático de los fenómenos acústicos que tienen lugar adentro del tracto.

El concepto físico de la presión que el aire ejerce sobre el tracto vocal, así como el chorro de aire que viaja dentro de él se simplifica observando el tracto vocal como una serie de tubos interconectados. Así como el tejido del tracto vocal cambia su grosor de acuerdo con el sonido que se emite, cada uno de estos tubos tiene un diámetro distinto correspondiente a un fonema determinado.

Este modelo tubular es referente en dos tipos de síntesis: la de circuitos acústicos y la de Linear Predictive Coding o LPC. Se hablará de LPC y cómo utiliza el modelo tubular más adelante en este documento, en lo referente a circuitos acústicos podemos mencionar que el modelo tracto vocal-tubular fue muy popular a mediados del siglo veinte ya que constituyó el principio para la elaboración de una familia de sintetizadores de voz eléctricos.

Muchos de ellos fueron llevados a la práctica utilizando analogías acústicas-eléctricas. Destaca el trabajo de Stevens, Kasowski con Fant (Stevens, Kasowski, & Fant, 1953). La síntesis articulatoria perdió un poco de popularidad durante los 60 y 70, no fue sino hasta 1982 con el trabajo de Maeda que se reutilizó la analogía electro-acústica y sin duda al día de hoy el trabajo más relevante donde se emplea síntesis articulatoria es Vocal Tract Lab (Birkholz & Jackel, 2003; Birkholz, Jackèl, & Kroger, 2006), el cual continúa vigente en su interesante proyecto en el sitio vocaltractlab.

  1. Síntesis Concatenativa

Sin importar cómo fueron generados los fonemas, ya fuera grabadas por una persona o mediante una parametrización de la que se hablará más adelante. Para hacer síntesis es necesario es necesario enlazar los fonemas uno con otro luego de ser producidos. A este tipo de síntesis de voz se le conoce como síntesis concatenativa.

La síntesis concatenativa es la más eficiente en sistemas de síntesis al día de hoy. En la síntesis concatenativa se pueden modificar más detalladamente las unidades mínimas de lenguaje logrando una mayor naturalidad cuando éstos se producen.

Como consecuencia de lo anterior, la inteligibilidad y entonación de una voz artificial de síntesis concatenativa superan a aquellas logradas con síntesis articulatoria o con síntesis de formantes.

Los métodos para emular la prosodia (tono y duración) en la concatenación de las palabras son principalmente los basados en el principio de Suma-Traslape (Overlap-Add), en estos métodos destacan PSOLA, MBROLA y selección de unidades.

Se dice que (Dutoit, 2008) para producir lenguaje hablado de manera inteligible, se requiere de la habilidad de generar lenguaje continuo coarticulado. Lo cual nos conduce a pensar que los puntos de transición entre fonemas son mucho más importantes para la inteligibilidad de lo que son los segmentos estables. Incluso los fonemas vocales largos y sostenidos varían en amplitud y frecuencia, además de que contienen elementos inarmónicos.

Con base en éste argumento, la síntesis de voz concatenativa busca inteligibilidad “pegando” trozos de habla en lugar de fonemas aislados. Esto conlleva a una mejor coarticulación.

 

  1. Síntesis Concatenativa basada en Difonemas

Un primer intento de lograr una concatenación más precisa es mediante el uso de difonemas como unidades mínimas para producir lenguaje hablado.

Normalmente, el difonema comienza y termina con una parte estable como se muestra en la figura

El problema es que la cantidad de difonemas presentes en un idioma es enorme. Típicamente una base de datos de difonemas es de al menos 1500 unidades.  En términos prácticos, tres minutos de habla muestreados a 16 KHz con resolución de 16 bit suman alrededor de 5 MB.

Para resolver este problema, se busca una lista de palabras donde aparezca al menos dos veces cada difonema. El texto se lee por un locutor profesional para evitar mucha variación en tono y articulación. Posteriormente, los elementos elegidos son marcados mediante herramientas de visualización o algoritmos de segmentación. Finalmente se recolectan en una base de datos.

A groso modo, la manera en cómo se lleva a cabo la síntesis es la siguiente:

  1. El sintetizador recibe la entrada fonética y se realiza un procesamiento previo de lenguaje (se hablará más delante de dicho proceso).
  2. Se establece duración, tono y tipo de fonema.
  3. Se recolecta de la base de datos una serie de fonemas candidatos para llevar a cabo la síntesis.

Normalmente los fonemas elegidos difícilmente reúnen de manera natural los requerimientos para darle a la frase producida la suficiente inteligibilidad por lo que hay que realizar dos tareas adicionales. La primera tarea consiste en hacer modificaciones en la prosodia. La segunda tarea tiene que ver con la “suavización” de las transiciones de los difonemas ya que son muy notorias debido a las ya mencionadas variaciones de amplitud y frecuencia.

Algunos ejemplos de síntesis por difonemas se encuentran en los audios a continuación:

Todas las voces son originales de FESTIVAL y se pueden encontrar detalles del sistema en su sitio oficial. La primera frase es inglés americano, la segunda inglés británico y la cuarta español europeo.

Bilbliografía

Birkholz, P., & Jackel, D. (2003). A three-dimensional model of the vocal tract for speech synthesis. Of the 15th International Congress of  …. Retrieved from http://rickvanderzwet.nl/trac/personal/export/360/liacs/API2010/workshop1/birkholz-2003-icphs.pdf

Birkholz, P., Jackèl, D., & Kroger, B. (2006). Construction and control of a three-dimensional vocal tract model. Acoustics, Speech and Signal. Retrieved from http://ieeexplore.ieee.org/abstract/document/1660160/

Dutoit, T. (2008). Corpus-Based Speech Synthesis. In Springer Handbook of Speech Processing (pp. 437–456). Berlin, Heidelberg: Springer Berlin Heidelberg. https://doi.org/10.1007/978-3-540-49127-9_21

Fant, G. (n.d.). Acoustic theory of speech production : with calculations based on X-ray studies of Russian articulations. Retrieved from https://books.google.com.mx/books/about/Acoustic_Theory_of_Speech_Production.html?id=qa-AUPdWg6sC&redir_esc=y

Homer Dudley’s Speech Synthesisers. (n.d.). Retrieved from http://users.polytech.unice.fr/~strombon/SSI/z.Supplements/vocoder/http___www.obsolete.pdf

Klatt, D. H. (n.d.). Software for a cascade/parallel formant synthesizer. Retrieved from http://www.fon.hum.uva.nl/david/ba_shs/2009/klatt-1980.pdf

Stevens, K., Kasowski, S., & Fant, C. (1953). An electrical analog of the vocal tract. The Journal of the Acoustical. Retrieved from http://asa.scitation.org/doi/abs/10.1121/1.1907169

Síntesis de Voz Usando Line Spectral Pair

Line Spectral Pair (Itakura, 1979) es un método de parametrización, o cuantización de una señal de voz que parte del ya mencionado Linear Predictive Coding. Se genera a partir de la ecuación (1) del filtro A(z) que representa el tracto vocal.

 

Se plantea que en el polinomio de los coeficientes del filtro se agregan un par de elementos P(z) y Q(z) que representan la glotis en el momento de abrirse y de cerrarse respectivamente. De ahí que uno lleve signo positivo y otro negativo, se representa como (2) y (3)

 Donde P(z) y Q(z) se relacionan con (1) de la siguiente forma:

 

En la práctica, la glotis nunca está totalmente cerrada ni totalmente abierta (McLoughlin, 2009). Esto significa que los polinomios añadidos son al final de cuentas más elementos para cuantizar nuestra señal de voz, consiguiendo darle más naturalidad que cuando se limita a la representación con coeficientes LPC.

Otra ventaja que tiene este sistema de parametrización es que las raíces del polinomio (2) corresponden específicamente a las frecuencias formantes de la señal de voz parametrizada. A partir de ahí podemos llevar a cabo reconocimiento y/o síntesis de voz. A éste conjunto de frecuencias obtenidas se le conoce como Line Spectral  Frequencies o LSF.

La figura 1. Muestra gráficamente la comparación entre LPC y LSP. La gráfica azul está formada a partir de los valores en LPC y los puntos rojos y verdes corresponden a P(z) y Q(z) respectivamente. Podemos apreciar una mayor cantidad de puntos cuando se incluyen los polinomios, esto en la práctica nos da una representación de señal de voz mucho más completa que al utilizar LPC.

Figura 1. Representación gráfica de LSP contra LPC

El audio a continuación nos permite escuchar una señal de voz orignal y su versión sintetizada utilizando LSP como parametrización.

Referencias

Itakura, F. (1975). Line spectrum representation of linear predictor coefficients of speech signals. The Journal of the Acoustical Society of America57(S1), S35-S35.

McLoughlin, I. V. (2008). Line spectral pairs. Signal processing88(3), 448-467.

Sintesis de voz usando Linear Predictive Coding LPC

El sistema de Codificación Lineal Predictiva (Linear Predictive Coding) conocido como LPC, (1971) es uno de los diferentes métodos para la producción de voz de manera artificial. Éste sistema parte  de una aproximación electrónica al sistema fisiológico en donde la vibración de las cuerdas vocales es una señal sinusoidal que produce los sonidos vocales y una fuente de ruido blanco para los no-vocales. El tracto vocal es modelado mediante un sistema de filtrado cuyas bandas corresponden directamente a las frecuencias formantes del fonema a reproducir. La característica fundamental de LPC es que la señal de voz viene reducida a su expresión más simple. Se conservan solamente las frecuencias formantes del fonema a producir y se deja de lado la vibración que la produjo.

Esto se hace con objeto de ahorrar información, ya que LPC privilegia el contenido del discurso sobre naturalidad del hablante es por eso que la síntesis por LPC tiene esa característica “robótica” en su timbre. Abajo se muestra un ejemplo de una frase codificada usando LPC:

La implementación en software de un sistema LPC está basada en la expresión matemática (1). Donde S(n) representa la señal de voz original, la suma de dicha señal  retrasada k muestras pasadas desde 1 hasta p multiplicadas por sus amplitudes Ak es su aproximación artificial. Finalmente e(n) es la diferencia o error existente entre ambas.

  (1)

La función de transferencia está representada en la ecuación (2), en donde la expresión (1) puede entenderse como un filtro A(z) cuya entrada es E(z) y su salida S(z).

 (2)

La reconstrucción de la señal es obteniendo los valores de los diferentes coeficientes del filtro Ak se hace mediante un sistema de ecuaciones simultáneas que se resuelve por matrices. El método de resolución se conoce como Levinson-Durbin y está ampliamente documentado en la literatura especializada. Generalmente se eligen 13 coeficientes para conservar la inteligibilidad de la frase como fue el caso en el audio arriba mostrado. Éste ejemplo fue implementado en Matlab por Carlos Acosta en el Laboratorio de Tecnologías del Lenguaje de la Facultad de Ingeniería de la UNAM.

El sistema LPC ha sido ya superado por otros sistemas de síntesis de voz que son capaces de reconstruir la señal de voz con mucha mayor naturalidad e inteligibilidad. Se menciona en éste texto dado que es la base teórica de la parametrización de voz del Par Espectral Lineal o Linear Spectral Pair (LSP) el cual sostenemos que es una buena alternativa vigente que puede fácilmente coexistir con los coeficientes de Frecuencia Mel Mel Frequency Cepstral Coefficients (MFCC) que son un estándar en parametrización de voz.

El sistema de filtrado de una señal sinusoidal/ruido blanco sigue en uso y es muy eficiente para la producción de sonidos vocales, independientemente del sistema previo de selección de fonemas que se haya empleado. Este sistema por ejemplo es el recurso de hacer síntesis en el sistema HTS Hidden Markov Models as Text to Speech Synthesis.

 

 

Using LSP as an alternative to MFCC in speech parameterization

Mel Frequency Cepstral Coefficients (MFCC) have been the standard for voice parameterization over the last ten years. Such parameterization scheme works fine in speech recognition given its reduced size and its effectiveness to capture the most essential features of a speech signal.

For synthesis on the other hand, MFCC do not seem to create a convincing voice model on the long term. The author and colleagues investigated such aspect through Mean Opinion Score (MOS) tests, were the listeners had to grade from 0 to 5 phrases produced on the first place by a human speaker followed by a synthesized version of the same phrase using MFCC as speech parameterization (Franco, et. Al. 2016). The results were above the average in both intelligibility and naturalness (3.44 and 3.07 respectively) but it proves that room for improvement exists.

A new study took place (Franco, Herrera 2016). For this study, a different parameterization was included and compared to the previous study where MFCC were used. The chosen parameterization was Linear Spectral Pair (LSP), the theory behind it can be found in  a paper by McLoghlin (2008). The authors decided to test it for two main reasons: First, LSP is based on the Linear Predictive Coding (LPC) voice parameterization which models the human vocal tract as a filter. The spectra obtained based on vocal tract models tend to resemble natural speech remarkably. The second reason to use it, comes from its high compatibility with the synthesizer used by the authors which is based on the work of Tokuda and colleagues: Hidden Markov Models as Text to Speech synthesis HTS. That system is pre-programmed with a general parametrization which can be decomposed in both MFCC and LSP (Tokuda, et. al. 1994).

The results from that study averaged 3.4 in naturalness and 3.6 in intelligibility, the numbers are close to those obtained with the MFCC parameterization but the variance found in the grades given by the listeners in the LSP study is much less than the variance found in the MFCC study. This shows that the opinions among the LSP study listeners are much more consistent, therefore the quality of the synthesis is better in general.

Another conducted test was to input the synthesized speech in a Recognition system for forensics application. It was then compared with the original speaker whose voice the system was based on. It showed 0.0072 between original speech and synthesized speech. The closer the distance is to zero, the closer is the synthesis to an ideal case where no difference would appear between artificial and natural speech.

In terms of size LSP speech parameterization files are smaller than MFCC parameterization files this reduction can be important in terms of data transferring and data storing economization.

The authors consider LSP speech parameterization as a new standard in future studies in Laboratorio de Tecnologías del Habla FI UNAM.

 

 

References

Franco, C., Herrera Camacho, A. and Del Rio Avila, F. “Conference Proceedings: Speech Synthesis of Central Mexico Spanish using Hidden Markov Models” Athens: ATINER´S Conference paper Series, No: COM2016-2071, 3-12, 2016, Athens Institute for Education and Research

Franco Galván, Carlos Angel. Herrera Camacho, José Abel. Del Río Ávila, Fernando. “Conference Proceedings: Síntesis de Voz en Español hablado en el Centro de México Utilizando MFCC´s y LSP´s” IEEE ROC&C , 2016

McLoughlin, I. V. (2008). Line spectral pairs. Signal processing, 88(3), 448-467.

Tokuda, K., Kobayashi, T., Masuko, T., & Imai, S. (1994, September). Mel-generalized cepstral analysis-a unified approach to speech spectral estimation. In ICSLP (Vol. 94, pp. 18-22).