Descargar

Sintesis de Voz

Enviado por Maria Angelica Loeber


  1. Introducción
  2. ¿Qué es la Síntesis de voz?
  3. Bloques
  4. Proceso
  5. Módulos
  6. Front-End y Back-End
  7. Medidas de calidad
  8. Bibliografía

Introducción

El ser humano se ha preocupado cada día más porque la tecnología nos facilite la forma en que vivimos y los procesos que realizamos; para esto es necesaria una comunicación hombre-máquina. El medio de comunicación más fácil para el hombre es el habla, es el medio de comunicación que tenemos más desarrollado y que usamos todos los días en nuestra vida cotidiana, por lo tanto ¿porque no usar el mismo medio de comunicación con las máquinas? A esto es a lo que apunta el estudio de síntesis y reconocimiento de voz: que en un futuro logremos hablarle a la máquina, y esta nos responda de la misma forma. Actualmente se está trabajando en diversos sistemas para que las máquinas logren convertir texto en voz sintetizada, y que a futuro se logre manejar una maquina con la voz. Este trabajo busca dar una muestra del desarrollo que se ha logrado hasta el día de hoy en el proceso de lograr que la maquina emule la voz humana, es decir en la síntesis de voz. Este también será un mecanismo para llevar la tecnología a personas que presentan dificultades a la hora de leer en el monitor del computador, o de intentar interactuar con los actuales medios de comunicación del mismo.

Actualmente existen diversas maneras en que se puede producir la síntesis de voz en las máquinas, todas basadas en el estudio de la lingüista y fonética del idioma, además de crear diferentes patrones matemáticos para generar voz. Básicamente lo que se busca es descomponer las palabras en fonemas, para que mediante diferentes mecanismos que tiene la máquina los convierta en voz, es decir, se basa en la reconstrucción de la voz. Hoy en día se tiene 4 tipos de sintetizadores: los articulatorios, los formantes, derivados de técnicas de predicción lineal y por concatenación de forma de onda, siento este último es más utilizado. En este trabajo, se explicara brevemente cada uno, y con más profundidad la síntesis por concatenación.

Objetivos:

  • Conocer el proceso de desarrollo que se ha dado en el desarrollo de la síntesis de voz.

  • Analizar el proceso actual usado para que las maquinas emulen la voz humana.

  • Determinar cuáles son las grandes dificultades en el desarrollo de la síntesis de voz.

¿Qué es la Síntesis de voz?

La síntesis de voz es el proceso mediante el cual se busca que una máquina genere voz, o simule el habla humana, a partir de un texto, mediante el uso de procesos matemáticos y el estudio de la fonética y la teoría lingüística. Dicho de forma más sencilla, es la producción artificial de expresiones vocales por parte de la máquina, sin que estas sean pregrabadas.

La síntesis de voz busca ser útil para situaciones en las cuales los ojos deben estar enfocados en otras cosas, como al conducir un automóvil, o en medio de cierto procedimiento científico en el cual se dificulta colocar la atención en la máquina para leer un resultado. Así mismo se busca que sea útil a personas con discapacidades que les impidan leer correctamente los monitores de las maquinas.

Tipos de Síntesis:

A lo largo de los años, mediante diferentes investigaciones y el desarrollo de la tecnología se ha llegado a diversas formas de sintetizar voz en las maquinas, las cuales se describen a continuación:

Sintetizador Articulatorio:

Se basa en hacer una analogía entre los parámetros de los órganos articulatorios del hombre, con parámetros circuitales, que le permitan a la maquina emularlos. La calidad que ofrecen es muy alta, sin embargo es un sistema muy complicado en términos de controlar y configurar los parámetros del sistema. Los principales problemas que presenta este tipo de síntesis es que hace falta mucha información sobre los movimientos de los articulados, y se requieren de una gran carga computacional.

Sintetizadores por formantes:

Busca imitar el tracto vocal humano mediante una serie de filtros, que se activan por fuentes que simulan las cuerdas vocales. Estos se basan en modelos matemáticos que controla la frecuencia fundamental o la amplitud de la onda, además de otros factores como el tiempo de apertura del sonido o lo abrupto de la onda, entre otros que pueden afectar la forma en que sale la voz. Por otro lado se crean modelos para la salida de la voz, simulando la faringe la cavidad bucal y los labios, mediante una función modelada por conjuntos de polos, de los cuales cada par es un formante. Todos los modelos cuentan con parámetros que le permiten conocer la frecuencia de un resonador, su ancho de banda o la ganancia del generador; estos parámetros son controlados mediante reglas que dependen del contexto, o análisis que dependen del análisis de la voz natural. Maneja sintetizadores tanto en serie como en paralelo, dependiendo del tipo de sonido que se busque (sonoro u oclusivo, respectivamente). Este tipo de síntesis permite que se puedan simular distintos tipos de voces, sea masculina, femenina, joven, etc. Su principal problema es q necesita que nueva información alimente al sistema constantemente (10 ms.), y hay características de la síntesis de voz que dependen del hablante o el contexto por lo cual no se puede automatizar la generación de estas ecuaciones, además de producir una voz muy robótica y artificial, que bajo ninguna circunstancia se puede llegar a confundir con una voz humana.

Sintetizadores derivados de las técnicas de predicción lineal:

Son sintetizadores basados en los dos anteriores, en los cuales se logra el monitoreo de los parámetros mediante parámetros LPC.

Sintetizadores por concatenación de forma de onda:

Tienen una base de datos con unidades, o fonemas, pregrabados, de modo que después del correcto análisis concatena las unidades adecuadas para generar nuevas frases. Su grado de complejidad es alto y se limita a las características de un solo hablante (aquel que realiza las grabaciones),pero mejora la calidad y se tienen muy buenos resultados, siendo el método más usado en la actualidad para diversas aplicaciones. A continuación se profundiza un poco más en este tipo de síntesis.

Síntesis por concatenación:

Como ya se mencionó anteriormente, este método está basado en bloques de voz pregrabada de forma tal, que dependiendo del sistema, se unan adecuadamente para poder llegar a formar las frases o palabras que se ingresaron por texto.

Bloques

Los bloques son la base de este sistema de síntesis de voz, pues es a partir de los cuales se buscara que el ordenador construya las frases a generar. Se tiene diferentes maneras de generarlos a partir de grabaciones de una persona que mantenga un forma constante al hablar. Estas grabaciones para obtener la información puede se puede realizar de 4 formas diferentes:

  • Frases naturales: Se graban diferentes frases que contengan las unidades que se quieren.

  • Frases portadoras: Se graba una estructura fija, donde se cambian algunas palabras para obtener los bloques que se quieren.

  • Palabras aisladas: se graba cada palabra, y se procede a fragmentarla si es necesario.

  • Logatomos: palabras que no tengan sentido semántico, pero que contengan el bloque deseado. Es generalmente usado cuando el bloque consiste en difonemas o trifonemas, y tiene una estructura dada. Se compone por tres silabas separadas con sonidos explosivos entre ellas (dos sonidos explosivos en total), siendo la silaba del medio la que queremos extraer como bloque. (Ej. Opoat´e: o-p-oa-t-´e se extrae el difonema oa[1]

En cualquier tipo de grabación se debe tener claro cuál será el punto de corte.

Por esta razón en cada sistema de síntesis de voz se debe tener claro cuál va a ser la unidad básica de concatenación, si serán silabas, palabras, frases, etc. Esto se hace basado en la calidad que se busca al generar la voz y en la cantidad de memoria con la que se cuenta, pues a tramos de voz más grandes mejor calidad, pero también se necesita mayor uso de memoria. No se recomienda usar palabras pues la entonación de las palabras es totalmente diferente al usarlas en frases que al decirlas de forma independiente; se pierden características como el ritmo o la entonación, además que se necesitaría una gran base de datos para agrupar todas las palabras existentes. Por otro lado se tiene la síntesis por silabas, lo cual también necesitaría un gran número de las mismas.

La unidad más aceptada hasta el momento es el difonema, que sería la unión de fonemas. El lenguaje, y su fono táctica, tienen una gran influencia en la definición de los difonemas, por lo que el número puede variar dependiendo del idioma que se maneje en el sintetizador. Para el español existe aproximadamente 30, dando un aproximado de 900 difonemas. Estos consisten en crear los bloques desde la mitad de un fonema a la mitad del siguiente, pues al tomar los fonemas como el bloque base se presentan problemas articulatorios en las palabras. Otra ventaja de los difonemas es que no se usan todos, por lo que se pueden eliminar los formados por dos consonantes, que no se den en el lenguaje. (En resumen se puede obtener una base de datos con 550 difonemas, incluyendo los necesarios para representar las diferentes acentuaciones, y algunos casos con trifonemas (unión de tres fonemas) que se digan a gran velocidad. Estos se graban, se seleccionan puntos de corte, y se deben etiquetar o nombrar cada fragmento.

Para resumir, al realizar la elección de bloques del sistema se debe tener en cuenta 4 criterios importantes:

  • Usar el menor numero de concatenación posible

  • Que las uniones se realicen en zonas que sean acústicamente estables

  • Que limitaciones de memoria se tiene.

  • Tener en cuenta el control de la coarticulación.[2]

Proceso

El proceso de la síntesis de voz por concatenación se basa en dos procesos fundamentales, denominados front-end y back-end, uno encargado del proceso de analizar la voz entrante y el otro encargado de sintetizar la voz a partir del texto que se ingresa.

El proceso básico en la síntesis del habla tiene 4 pasos generales:

  • 1. En el primer paso se lleva a cabo el análisis textual, que consiste en dividir el texto en tokens, y analizar cada token de modo que se llegue a una estandarización del texto, de modo que las frases generadas posteriormente sean correctas. Se busca darle el correcto valor fonético las abreviaturas (Ej. Cambiar "Sr." por "señor"), a los números y a diferentes palabras que se deben pronunciar diferente a la forma textual en que se escriben. Además se debe dar concordancia a las palabras que varian de acuerdo al contexto en el que se encuentran (Por ejemplo, "1" se puede leer tanto "un" como "una" dependiendo del contenido de la frase).

  • 2. Después de realizar la división por tokens y el análisis textual del texto, se debe analizar la pronunciación del mismo, pues el sonido de ciertas letras o silabas, unidas a otras puede tomar un sonido diferente al que habría en otra situación, como es el caso de la letra "r" si se encuentra al comienzo de la palabra o en el medio de la misma.

  • 3. Cuando ya se ha analizado la forma correcta de pronunciar cada parte de las frases, se procede a determinar la forma de decir las frases, de modo que se logre la entonación y ritmo (duración y amplitud, tanto de los sonidos como de las pausas) más adecuados. De esta forma se puede determinar el tipo de la frase que se está generando y saber cuáles son las relaciones entre las partes de la frase y entre las frases mismas.

  • 4. Finalmente los datos del análisis se transfieren al módulo de elaboración de la señal, donde se realiza la síntesis y se genera la señal sonora. En el proceso de síntesis se selecciona los bloques adecuados para la concatenación de la frase, de entre varias opciones que se tengan.

Módulos

Para realizar este proceso, los sintetizadores de voz cuentan con diferentes módulos que los componen. Estos módulos se muestran en el Diagrama 1, y son los siguientes:

  • 1. Diccionario de unidades acústicas: Hace referencia a la base de datos con todos los bloques pregrabados que hagan parte de nuestro sistema de síntesis de voz.

  • 2. Módulo de análisis lingüístico: Este módulo se encarga de las funciones 1 y 2 descritas anteriormente, es decir se encarga de procesar las abreviaturas, símbolos, números, etc. de modo que se llegue a un estándar en el texto. Además realiza la función de silabificación, descomponiendo cada palabra en sus respectivas silabas o bloques básicos, basado en reglas de posicionamiento relativo de vocales y consonantes. Otro proceso que se lleva a cabo en este módulo es el análisis de acentuación, representando la acentuación de cada palabra de manera textual, para saber que silaba es la acentuada y poder asignar el difonema correcto a cada parte de la palabra. Finalmente el último proceso se encarga de la transcripción fonética, es decir, pasar cada representación ortográfica del texto a la cadena de fonemas correspondiente, realizando un análisis letra por letra. Los análisis realizados en esta etapa alimentaran las siguientes a los otros dos módulos. Siempre se debe tener en cuenta que los procesos realizados en este módulo depende de cada idioma, pues la forma de tratar tanto la prosodia como la estructura de frases, palabras, silabas y difonemas varía de idioma a idioma. Al módulo de síntesis se envía la cadena que se ha creado de fonemas a partir del texto, mientras que al generador de prosodia se le envía el tipo de frase que es para darle la correcta entonación. Este tipo se extrae del mismo texto, basado en la puntuación. Dependiendo del signo de puntuación que finalice cada frase se determina si es una frase enunciativa inacabada (",",";"), acabada ("."), exclamativa("!") o interrogativa ("?").

Diagrama 1: Tomado de http://dihana.cps.unizar.es/investigacion/voz/ctv.html#diagrama

  • 3. Generador de Prosodia: Se encarga de generar la plantilla de prosodia adecuada que permita al sintetizador generar voz con una buena entonación, de modo que se tenga una emisión natural de la voz generada. Además influye en la forma en que se entiende el mensaje, pues el significado se puede modificar, aunque se usen las mismas palabras. Dependiendo del tipo de información que posee cada frase se le asigna un patrón melódico, es decir, una onda especifica que permite el estudio de la entonación. Existen 4 patrones que se pueden tener en cuenta, siendo estos los patrones enunciativos, interrogativos, exclamativos (expresan emociones) y volativos (expresan mandato, imperativos).

Teniendo en cuenta toda esta información se elige un modelo o patrón de prosodia para aplicar la onda más adecuada a la cadena de difonemas que se sintetizara en el módulo de síntesis.

  • 4. Módulo de síntesis: En el módulo de síntesis se lleva a cabo el 4 paso antes mencionado, se toma toda la información de bloques, de prosodia y tomando de la base de datos los bloques adecuados, sintetiza la onda que se emite.

Front-End y Back-End

Conociendo cuales son los diferentes módulos de un sintetizador de voz se puede expresar con mayor facilidad cuales forman parte del front-end y cuáles del back-end, conceptos vistos anteriormente.

Front-end: El front-end de un sintetizador de voz se ve conformado tanto por el analizador de texto como por el generador de prosodia, es decir, se encarga de todo el procesamiento del texto a su representación fonética, tanto al realizar la normalización del texto, como su conversión a fonemas y la extracción de información prosódica.

Back-end: El back-end del sintetizador se encuentra constituido por el sintetizador en sí, es decir por el que se encarga de convertir la cadena de formantes en una onda que simula la voz humana.

Tipos de Concatenación

La síntesis por concatenación se puede dar desde tres puntos de vista diferentes:

  • 1. Por selección de unidades: Se realiza mediante la grabación de una o más horas habladas, de modo que estas grabaciones se puedan fraccionar en diferentes unidades, como silabas, palabras, frases, etc. Las unidades pueden ser tanto homogéneas como heterogéneas. Después se procede a la corrección manual, para obtener unidades con diferentes entonaciones, por lo que cada unidad puede contar con más de una grabación. A la hora de formar la onda, se selecciona la unidad más adecuada, basado en un árbol de decisión debidamente ponderado. Es la concatenación más natural, pues no procesa digitalmente la señal, aunque en algunos casos se puede usar para suavizar la onda formada. Una desventaja es que puede requerir una base de datos muy grande.

  • 2. Por síntesis de diáfanos: En este caso se forma una base de datos de los diáfanos, en la que cada diafono se encuentra una sola vez. Luego, a la hora de la ejecución, mediante un procesado digital de la onda, se sobrepone la prosodia a la cadena de diafonos formada. La calidad obtenida es menor que la obtenida por selección de unidades, y se obtiene menos naturalidad. Su mayor ventaja es el tamaño de la base de datos, pero actualmente está limitado al área de investigación.

  • 3. Síntesis específica para un dominio: es un enfoque muy similar al de selección de unidades. Se diferencia en que se crea una base de datos con fragmentos más grandes, como palabras o frases creadas para ser salidas completas, por lo que se logra una gran naturalidad. Al ser un sintetizador limitado a cierto dominio se tiene sesgado el vocabulario usado, por lo que se puede tener una base de datos más pequeña. Por esto mismo, se usa cuando la variedad de textos es limitada (como un sistema de información meteorológica). Es el enfoque más usado a nivel comercial, por su facilidad de implementación.

Sin importar cuál de los enfoques se elija, se sigue el mismo proceso descrito anteriormente, ignorando algunos pasos, dependiendo del tipo de síntesis que se busque.

Medidas de calidad

Para saber que tan bueno es el diseño y la implementación de un sintetizador de voz se tiene dos conceptos claves, que ya se han mencionado anteriormente: que sea comprensible (inteligibilidad) y que suene como si fuera una persona la que está hablando (naturalidad). La entonación juega un papel muy importante en estos dos factores.

Inteligibilidad:

Cuando hablamos de inteligibilidad hacemos referencia a la capacidad del sistema de producir palabras, frases y diálogos que se puedan entender, lo cual dependerá de la exactitud con que se concatenan los diferentes bloques, de modo que la estructura quede bien formada. También se tiene en cuenta que se tenga entendimiento sobre el sentido de la frase, y no solo la formación de palabras, pues no es lo mismo decir una oración enunciativa, que una interrogativa, por más que se forme con las mismas palabras.

Se han creado diferentes pruebas para poder medir el grado de inteligibilidad que provee un sintetizador de voz. Uno de estos es el Diagnostic Rhyme Test (DRT), en el cual se tiene a un oyente que debe elegir cual fue la palabra que dijo la máquina, entre dos opciones que varían entre sí por la consonante inicial. También existe un derivado de este tipo de prueba, llamada Modified Rhyme Test (MRT), pero en este caso el oyente debe elegir entre 6 palabras, que variaran tanto en la consonante inicial como en la final. Otr prueba de calidad que existe se llama SUS, y consiste en emitir frases sin ningún sentido semántico, o semánticamente impredecibles, como "la mesa corre edificios con gatos."

Naturalidad:

La naturalidad se da en la forma de decir las frases, por lo cual tiene un gran énfasis en el análisis prosódico que se le da al texto. La prosodia es "el estudio de hechos fónicos no segmentares que ayudan a organizar tanto el léxico como la sintaxis."[3] En otras palabras, es la encargada del estudio de acentos, entonaciones y ritmos en la frase de modo que se logre dar el sentido correcto a la frase, independientemente del contenido de la misma. En este aspecto la naturalidad depende principalmente de la selección de los bloques que se haga a la hora de concatenarlos para producir la síntesis final de voz. El enfoque que se le ha dado a la generación de prosodia, para poder mejorar la naturalidad en la síntesis de voz, se ha dado mediante la creación de estructuras, como árboles o arreglos, que predicen parámetros, como la ubicación de la silaba, donde se encuentran los sonidos fuertes o los sonidos débiles. Sin embargo todos estos esfuerzos no logran una total naturalidad pues no se tiene en cuenta las diferencias de habla que hay entre personas incluso del mismo idioma, pues cada persona desarrolla ciertos estilos de habla y velocidad dependiendo del contexto, que no se puede reproducir fácilmente en un sistema de síntesis de voz.

Otro factor que afecta la naturalidad con que se escucha una frase se relaciona al ritmo, o el tiempo en que se emite cada letra (especialmente las vocales). Afecta en tal magnitud que una diferencia de 2% puede afectar la calidad para bien o para mal. De los tipos de concatenación, la selección de unidades da la máxima naturalidad debido al hecho de que no aplica mucho procesado digital de la señal al habla grabada, lo que a menudo hace que el sonido grabado suene menos natural.

Entre estas dos medidas el mayor reto con el que se encuentra la síntesis de voz es lograr la naturalidad de la misma, ya que al concatenar los diferentes bloques de sonido, si se tiene una buena calidad de grabación, y puntos de corte adecuados, al llevar a cabo la concatenación se puede lograr la inteligibilidad. Sin embargo la naturalidad es difícil de simular, ya que es difícil lograr que el sistema una los bloques de modo que todas las frases queden formadas con las entonaciones, pausas y fluidez en que lo haría una persona. Una prueba general de calidad consiste en calificar el sintetizador de voz, con valores entre 1 y 5, de modo que se pueda calcular una media. Esta prueba se llama Mean Opinion Score (MOS).

Bibliografía

  • 1. Introducción a la Síntesis de Voz – C:UsersAngieDocumentsDocumentsLA GIGIUniversidadSeptimoIntroComsintesis_voz.pdf

  • 2. www.linguatec.es/products/tts/information/technology

  • 3. http://dihana.cps.unizar.es/investigacion/voz/ctv.html#diagrama

  • 4. _k9blXSnMW4.pdf

  • 5. www.giro.infor.uva.es/proyectos/memAgenteMS.pdf

  • 6. http://docs.google.com/viewer?a=v&q=cache:hUFjSu6UBeQJ:rua.ua.es/dspace/bitstream/10045/16038/5/RUA%2520-%2520Tema%25205.ppt+sintesis+de+voz+inteligibilidad&hl=es&gl=es&pid=bl&srcid=ADGEESh8zZzi6IyPjvaPmEZIka3HUY_plEYtyKPrlZXEYCf0ZNddNfqT2U_Ar3RvIvWbfxCOtssGBtQmssWbejcobClId0WCa5Q1P4w9C2aCwQphmNYxwVFGQW0vXOBv1P-T47-2TWSX&sig=AHIEtbQslf3w2FIVxzJYGnjX7e0bkJpa5g

  •  

     

    Autor:

    María Angélica Loeber

    Universidad Austral

    Introducción a la Computación

    Buenos Aires, Argentina

    Noviembre 2011

    [1] http://dihana.cps.unizar.es/investigacion/voz/ctv.html#diagrama

    [2] Sintesis de la voz y del habla, http://docs.google.com/viewer?a=v&q=cache:hUFjSu6UBeQJ:rua.ua.es/dspace/bitstream/10045/16038/5/RUA%2520-%2520Tema%25205.ppt+sintesis+de+voz+inteligibilidad&hl=es&gl=es&pid=bl&srcid=ADGEESh8zZzi6IyPjvaPmEZIka3HUY_plEYtyKPrlZXEYCf0ZNddNfqT2U_Ar3RvIvWbfxCOtssGBtQmssWbejcobClId0WCa5Q1P4w9C2aCwQphmNYxwVFGQW0vXOBv1P-T47-2TWSX&sig=AHIEtbQslf3w2FIVxzJYGnjX7e0bkJpa5g

    [3] Laboratorio de Fonetica ULA, Universidad de los Andes Venezuela, http://ceidis.ula.ve/cursos/humanidades/fonetica/tutorial_de_linguistica/prosodia.html