Los modos Griegos en guitarra

Es verdad que los modos Griegos pudieran ser difíciles de memorizar en sus digitaciones, no obstante hay algunas técnicas que se pueden aplicar para aprenderlos rápidamente. Ésta en especial me la enseñó Alonso Arreola.

La Técnica consiste en pensar en dos Modos que son papá y mamá. Jónico y Eólico respectivamente. Es decir: Escala mayor y escala menor natural.

De ahí pensamos que tuvieron cinco hijos. Tres mujeres y dos varones. Las mujeres son las que tienen tercera menor, o sea Dorico, Frigio y Locrio y los hombres aquellos con tercera mayor: lidio y Mixolidio.

Los hijos son idénticos al padre excepto que uno tiene una cuarta aumentada (lidio) y el otro una séptima menor (Mixolidio).

Por su parte las hijas son como su madre excepto que una tiene una sexta mayor (dórico). Otra tiene una Segunda menor (Frigio) y finalmente la otra tiene una Segunda menor y una quinta disminuida (Locrio)

En todos los casos esos intervalos de diferencia respecto al Jónico y Eólico corresponden a las notas que hacen tritono o sea cuarta y séptima.

En los vídeos hay más información:

“Contingencia” una composición para bajo solo

De las cosas hechas aprovechando los días de encierro por la contingencia sanitaria para evitar el Covid-19 quise aprovechar las clases que doy a distancia para componer un estudio para bajo eléctrico que sirviera para mis alumnos y se agregara a mi portafolio musical.

El tema lleva el nombre de los días de encierro para recordar la época en que se escribió. Y la intención fue utilizar técnicas de ejecución comunes en el bajo: tapping, slap y rasgueos.

En términos melódicos estamos básicamente sobre una escala de La Menor. Debía tener un toque un tanto sombrío dada la incertidumbre que se vive en éste periodo que llevamos de marzo 20 a abril 27.

3 Ejercicios Básicos para Bajo Eléctrico

A continuación les presento tres ejercicios básicos que en su momento aprendí del gran bajista mexicano Alonso Arreola.

Ese primer ejercicio muestra cómo tocar tríadas mayores, menores y disminuidas en el bajo. El siguiente hace también tríadas pero agrega la séptima.

Finalmente vamos a ver un aspecto poco conocido en el bajo pero también importante. Los acordes en bloque:

Recursos de audio de tesis doctoral

Se incluyen los archivos de sonido mencionados en la tesis doctoral y en el libro Sistema de Síntesis de Voz en español de México.

fest_diphone_ked.wav

fest_diphone_rab.wav

fest_diphone_esp.wav

sintesis_lpc_after.wav

sintesis_lpc_before.wav

salida_psola.wav

salida_psola_entonacion.wav

td_psola_pruebasonido.wav

fest_clunits_esp.wav

fest_multisyn.wav

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

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

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