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).

Síntesis de voz en español hablado en el centro de México utilizando MFCC’s y LSP’s

Se presentó el 28 de noviembre de 2016 en Acapulco Gro. una ponencia resultado de nuestro trabajo de investigación doctoral. Se habló sobre la parametrización utilizada en nuestro sistema de síntesis de voz en español. Causó buena impresión entre quienes asistieron a la charla y se lograron dos posibles colaboraciones entre instituciones. Nuestro abstract es el siguiente:

Los autores han desarrollado un sintetizador basado en HMM’s para el español hablado en el centro de México. En este trabajo, se adecua la parametrización LSP para este sinteizador. Además, se realiza una comparación de dos parametrizaciones de voz: MFCC y LSP. Ambos esquemas están programados como parte del sintetizador antes mencionado. Se realizaron frases de síntesis con cada parametrización y las respectivas pruebas MOS para valorar su calidad. Tanto MFCC como LSP sobrepasan la calificación promedio, pero aún hay espacio para mejora.

El artículo completo se puede descargar aquí: cm-02

Speech Synthesis of Central Mexico Spanish Using Hidden Markov Models

El título se traduce como Síntesis de Voz de Español del centro de México usando Modelos Ocultos de Markov. Fue un trabajo que se presentó en el 13th Annual International Conference on Information Technology & Computer Science organizado por Atiner. Llevado a cabo el día 15 al 19 de mayo de 2016.

El artículo revisa una parte del trabajo de tesis doctoral en el que se está trabajando. Relata como se llevó a cabo en la facultad, la adaptación a español mexicano del sistema de síntesis de voz HTS, propuesto originalmente por el Dr Tokuda y su equipo.

Fue producto de dos meses de trabajo, afortunadamente, tuvo buena recepción en el congreso. Se comparte autoría con el Dr Abel Herrera y con el MI Fernando Del Río, del Laboratorio de Tecnologías del Lenguaje de la Facultad de Ingeniería de la UNAM.

El Abstract del artículo es el siguiente:

The current century has proved being relevant in the design of new speech synthesizers. The incorporation of Hidden Markov Models HMM has changed the paradigm in the design of concatenative speech synthesizers. Such systems are called HMM text to speech synthesis (HTS). This paper describes a version adapted to central Mexico Spanish. A MOS test shows an intelligibility score of 3.4 and 3.1 of naturalness

Adjuntamos el artículo a ésta sección del blog como hemos venido haciendo con trabajos académicos anteriores. Descargar el texto en el vínculo abajo:

 

com2016-2071

Diferentes Métodos de Parametrización de Voz

Aquí presentamos la información que se compartió en el congreso de la IEEE que se llevó a cabo en Acapulco el día 16 de Noviembre de 2015. Se habló sobre diferentes métodos para codificar la voz humana en formato digital.

El tema se relaciona directamente con Síntesis de voz. Se adjunta aquí un paper con información detallada de la presentación así como del proyecto sobre el que quien escribe estas líneas está haciendo su doctorado. Favor de descargarlo en el link adujunto:

franco_herrera_sp_paramet_rocc

Aplicación sencilla del concepto “Circuitos-Acústicos”

Aquí les comparto algo del material que estoy utilizando para mi proyecto de tesis doctoral: “Implementación de un sintetizador de voz en español mexicano”. Cualquier duda o comentario no duden en escribir. Favor de dar click en el vínculo abajo para descargar archivo:

Descargar artículo en pdf