Libro: Sistema de Síntesis de Voz en Español de México

El primer libro de autoría de Carlos Franco, el cual resume de manera amplia su trabajo de tesis doctoral.

Se puede descargar una versión pdf aquí:

Franco_Herrera_Escalante_Sistema de Sintesis de Voz en español de Mexico

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

 

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