2. SÍNTESIS DE VOZ Y SEGMENTACIÓN AUTOMÁTICA DE

Anuncio
Desarrollo de un segmentador fonético
automático para habla expresiva
basado en modelos ocultos de Markov
Juan Carmona Mariscal
2. SÍNTESIS DE VOZ Y SEGMENTACIÓN
AUTOMÁTICA DE UNIDADES
Continuando con el panorama general en el que se enmarca nuestro
proyecto, en este capítulo hablaremos brevemente de la síntesis de voz,
particularizaremos en la síntesis por concatenación de unidades, que es
la que hace uso de la segmentación automática, y terminaremos
hablando de la segmentación automática de unidades y comentando un
experimento anteriormente realizado en este sentido.
2.1 La síntesis de voz
Como comenta Gerardo Martínez en [Martínez 1998] muchos sistemas
de laboratorio y dispositivos comerciales realizan la
conversión
automática de un texto a voz sintetizada. El progreso en este área ha
sido posible debido a los avances en la teoría lingüística, en el modelo
de caracterización acústica-fonética de los sonidos, en el modelado
matemático, en la programación estructurada y en el diseño hardware
de los ordenadores.
Los pasos seguidos en todo proceso de síntesis son: primero, un
conjunto de módulos analiza el texto de entrada para determinar la
2. Síntesis de voz y segmentación automática de unidades
20
Desarrollo de un segmentador fonético
automático para habla expresiva
basado en modelos ocultos de Markov
Juan Carmona Mariscal
estructura de la sentencia y la composición fonética de cada palabra y
un segundo conjunto de módulos transforma esta representación
lingüística abstracta en voz.
Los cuatro tipos principales en los que se pueden clasificar los sistemas
de síntesis de voz son:
 Sintetizadores articulatorios. En éstos se realiza una analogía
entre parámetros relativos a los órganos articulatorios y sus
movimientos con parámetros circuitales. Pueden proporcionar
una calidad altísima, pero es muy difícil obtener y controlar
parámetros para un sintetizador de este tipo.
 Sintetizadores por formantes. Son una serie de filtros que
modelan el tracto vocal, excitados por fuentes que simulan las
cuerdas vocales. Gozan de gran difusión.
 Sintetizadores derivados de las técnicas de predicción lineal
(LPC). Son sintetizadores de análisis-síntesis, en los que los
parámetros que controlan la función de transferencia del filtro
que simula el tracto vocal son parámetros LPC.
 Sintetizadores
por
concatenación
de
forma
de
onda.
Concatenan unidades pregrabadas para generar nuevas frases,
con lo que intentan aumentar la calidad de la señal generada
minimizando el ruido de codificación. La complejidad es alta, pero
la calidad obtenida es muy buena.
2. Síntesis de voz y segmentación automática de unidades
21
Desarrollo de un segmentador fonético
automático para habla expresiva
basado en modelos ocultos de Markov
Juan Carmona Mariscal
Éste último tipo de sintetizador es el que está más íntimamente ligado a
nuestro proyecto, por lo que dedicaremos el siguiente epígrafe a su
descripción.
2.2 La síntesis por concatenación de unidades
Esta estrategia para sintetizar voz consiste en emplear trozos de voz
natural pregrabadas como bloques básicos que se concatenan para
reconstruir una expresión arbitraria [Martínez 1998].
El tipo de unidad a concatenar es un parámetro crítico para conseguir
una buena calidad de la voz sintetizada: hay que llegar a un
compromiso entre la calidad intersegmental posible (a mayor longitud
de los segmentos, menos puntos de concatenación y por lo tanto mayor
calidad) y la cantidad de memoria necesaria para almacenar las
unidades pregrabadas.
Los trozos grabados no pueden ser palabras por dos motivos
fundamentales. En primer lugar, la pronunciación de una frase es muy
diferente a la de una secuencia de palabras recitadas aisladamente, ya
que en una frase las palabras tienen una duración más corta que
cuando están aisladas y el ritmo, entonación y acentuación, que
dependen
de
factores
semánticos
y
sintácticos,
son
totalmente
antinaturales cuando se concatenan palabras grabadas aisladamente.
Un segundo problema son las innumerables palabras existentes en un
idioma, si tenemos en cuenta por ejemplo los nombres propios, así
como
la
formación
de
palabras
mediante
sufijos,
2. Síntesis de voz y segmentación automática de unidades
prefijos
y
22
Desarrollo de un segmentador fonético
automático para habla expresiva
basado en modelos ocultos de Markov
Juan Carmona Mariscal
conjugaciones. La sílaba es una unidad interesante lingüísticamente,
pero hay un gran número de ellas. Otra unidad posible es el fonema,
pero el resultado de concatenar fonemas no es satisfactorio debido a
efectos coarticulatorios entre fonemas adyacentes que
producen
cambios de las manifestaciones acústicas de un fonema dependiendo
del contexto [Martínez 1998]. Los efectos coarticulatorios tienden a
minimizarse en el centro acústico de un fonema, lo cual llevó a Peterson
a proponer el difonema, el trozo de voz que va desde la mitad de un
fonema a la mitad del siguiente fonema, como la unidad más
satisfactoria para la concatenación. En castellano, donde se pueden
considerar unos 30 alófonos, el número máximo de difonemas sería de
302 = 900, pero no todos se utilizan. Además puede ser necesario
introducir alófonos diferentes para hacer la distinción entre las vocales
acentuadas y átonas o la inclusión de trifonemas, que son una
extensión a agrupaciones de tres fonemas cuando los efectos de
coarticulación son tan grandes que no es posible la segmentación en
difonemas.
Se puede reducir la longitud de la memoria necesitada para el
almacenamiento de las unidades: a) evitando las unidades difonema
formadas por consonante + consonante que no se puedan dar en el
lenguaje y b) tratando algunos alófonos en determinados contextos
como una unidad de tipo fonema, como por ejemplo los fricativos
sordos.
Otra elección crítica es la de la extracción de las unidades y la selección
del punto de corte. Los difonemas deben ser grabados por un locutor
que sea capaz de controlar y mantener constante la calidad de la voz de
2. Síntesis de voz y segmentación automática de unidades
23
Desarrollo de un segmentador fonético
automático para habla expresiva
basado en modelos ocultos de Markov
Juan Carmona Mariscal
forma que no haya cambios repentinos en el espectro de la fuente en
medio de las sílabas. La unidad (difonema, trifonema o fonema) debe de
ser extraída de algún contexto puesto que no son unidades que puedan
ser grabadas aisladamente. Los contextos posibles son:
 en frase natural: se graban frases diferentes que contienen al
menos una unidad.
 en frase portadora: se graba una frase con una estructura fija
donde se cambia solamente una palabra o un par de palabras que
contienen la unidad a segmentar.
 en palabra aislada
 en logatomos: palabras cortas que incluyen la unidad requerida y
no tienen significado semántico.
Una vez obtenida la grabación se necesita marcar cada uno de los
fonemas (o difonemas) con sus fronteras (inicio y fin), marcaje que
resulta tremendamente laborioso para realizar de manera manual y que
puede dar lugar a errores, por lo que se hace necesario el uso de algún
sistema de segmentación automática como el que desarrollamos en
nuestro proyecto.
2.3 La segmentación automática de unidades
La segmentación consiste en delimitar mediante etiquetas la posición de
los fonemas dentro de las frases. Si dicho proceso de segmentación es
realizado manualmente por el usuario éste debe escuchar una a una las
locuciones, y colocar las etiquetas que aíslan cada uno de los fonemas
2. Síntesis de voz y segmentación automática de unidades
24
Desarrollo de un segmentador fonético
automático para habla expresiva
basado en modelos ocultos de Markov
Juan Carmona Mariscal
dentro de las mismas; este procesado manual requiere una gran
cantidad de tiempo y además, en algunos casos, lleva asociado también
errores. Estos errores pueden venir derivados del cansancio que este
trabajo implica, o en otros casos, de que al ser realizada la
segmentación por varias personas con el objetivo de reducir el volumen
de trabajo, se producen errores de criterio en la segmentación (distinto
criterio a la hora de segmentar algunos fonemas) que llevan a una falta
de uniformidad en la base de datos.
Como se comenta en [González 2000] algunos de dichos errores pueden
ser corregidos mediante el etiquetado automático, ya que por un lado no
es necesaria la edición manual para generar el etiquetado (los
desarrolladores se pueden centrar así en otros aspectos), y por otro
lado, al ser realizado todo el marcado por un mismo programa, el
criterio de segmentación de unidades siempre será el mismo. Se puede
pensar que es posible que se produzcan también errores de marcado,
que en algunos casos podrán ser mayores que con la segmentación
manual, hecho que puede quedar compensado por la considerable
reducción en el tiempo de procesado.
En [González 2000] se describen una serie de experimentos que se
llevaron a cabo en el seno del Grupo de Tecnologías del Habla para
realizar la segmentación de las frases componentes de una base de
datos (NatVox) de una manera automática. Se empleó un reconocedor
de palabras aisladas (a diferencia del nuestro, que es a nivel de
fonemas). Se emplearon para el entrenamiento y la evaluación
locuciones que contenían un total de 16062 alófonos, y para la
evaluación de la segmentación automática se consideraron como
2. Síntesis de voz y segmentación automática de unidades
25
Desarrollo de un segmentador fonético
automático para habla expresiva
basado en modelos ocultos de Markov
Juan Carmona Mariscal
erróneas aquellas etiquetas en las cuales la posición de la marca difería
en más de 20 milisegundos con respecto de la existente en el *.par que
había sido marcado manualmente (hay que tener en cuenta, que la
resolución del sistema, como ocurre con el nuestro, viene marcada por
el desplazamiento de tramas que se emplee, no pudiendo nunca ser
mayor que dicho desplazamiento, que tanto en su caso como en el
nuestro, es de 10 milisegundos). Con este umbral de 20 milisegundos
se obtuvo una tasa de acierto del 89% (tasa de error del 11%) y un error
medio cometido por marca del 9%.
A lo largo de los capítulos 4 a 7 se describirá nuestro sistema y las
bases de datos con las que trabajamos, y en el capítulo 8 describiremos
los experimentos realizados y las tasas de error que obtenemos con
nuestro sistema, considerando los mismos umbrales que acabamos de
comentar.
2. Síntesis de voz y segmentación automática de unidades
26
Descargar