Sintetizador de Vocales Sostenidas
Transcript of Sintetizador de Vocales Sostenidas
Tutor: MSc. Diana Torres Boza
Autor: Eddy Rodríguez León
Centro de Estudios de Electrónica y
Tecnologías de la Información
Universidad Central “Marta Abreu” de Las Villas
Facultad de Ingeniería Eléctrica
Centro de Estudios de Electrónica y Tecnologías de la Información
CEETI
TRABAJO DE DIPLOMA
Sintetizador de Vocales
Sostenidas
Santa Clara
2013
"Año 55 de la Revolución"
Hago constar que el presente trabajo de diploma fue realizado en la Universidad Central
“Marta Abreu” de Las Villas como parte de la culminación de estudios de la especialidad
de Ingeniería Biomédica, autorizando a que el mismo sea utilizado por la Institución, para
los fines que estime conveniente, tanto de forma parcial como total y que además no podrá
ser presentado en eventos, ni publicados sin autorización de la Universidad.
Firma del Autor
Los abajo firmantes certificamos que el presente trabajo ha sido realizado según acuerdo de
la dirección de nuestro centro y el mismo cumple con los requisitos que debe tener un
trabajo de esta envergadura referido a la temática señalada.
Firma del Tutor
Firma del Jefe de Departamento
donde se defiende el trabajo
Firma del Responsable de
Información Científico-Técnica
PENSAMIENTO
Los mejores hombres son los de pocas palabras.
William Shakespeare
DEDICATORIA
A mi familia.
AGRADECIMIENTOS
Agradezco a mis padres por toda la ayuda, a mi tía por su apoyo incondicional, en general a toda
mi familia que siempre me ayuda en las buenas y malas, a mi novia Anilet por estar conmigo en
todo momento, a mi tutora Msc. Diana Torres Boza por la ayuda brindada, al Dr. Carlos Ariel
Ferrer Riesgo por el apoyo.
A mis compañeros de aula y a todo el que de una forma u otra me brindó su mano para la
realización de este trabajo.
La voz contiene información útil para el diagnóstico médico. Entre los parámetros que
frecuentemente se utilizan para evaluar el estado del paciente se encuentran los de calidad vocal,
relacionados con las perturbaciones de la periodicidad de la señal la señal de excitación glotal.
Estas mediciones de calidad vocal, al estar relacionadas con las patologías de cuerda vocal son
usualmente estimadas durante la fonación de una vocal sostenida. En la investigación y
desarrollo de estas mediciones las señales de voz sintétizadas, tanto normales como patológicas,
son utilizadas para la comprobación de la eficacia de los diferentes métodos. Adicionalmente en
la docencia, en la asignatura de procesamiento de voz, es de gran importancia mostrar el
funcionamiento de cada una de las componentes involucradas en la síntesis así como la
influencia de las diferentes formas de perturbación de la periodicidad en la señal de voz.
En el sistema propuesto en este trabajo (Vowel_Synth) se implementan dos de las formas de
ondas reportadas en la literatura para la generación de la señal de la glotis (el modelo B de
Rosenberg y una alternativa más eficiente computacionalmente del modelo Liljencrants-Fant
(LF)), para la generación del filtro se escogieron dos modelos, el primero basado en la suma de
sinusoides el cual depende de las frecuencias centrales (formantes), sus anchos de banda y sus
amplitudes; el segundo se basa en un filtro auterregresivo (AR) todo polos que solo depende de
los coeficientes (polos) que introduzca el usuario. Las perturbaciones de la periodicidad como
jitter, shimmer y ruido aditivo fueron consideradas de igual manera con el fin de sintetizar voces
patológicas.
Resumen
TABLA DE CONTENIDOS
TABLA DE CONTENIDOS
INTRODUCCIÓN .......................................................................................................................... 1
Problema científico ................................................................................................................... 2
Objetivo general ........................................................................................................................ 2
Objetivos Específicos ................................................................................................................ 2
Estructura del trabajo .............................................................................................................. 3
1. CARACTERÍSTICAS DE LA SEÑAL DE VOZ .................................................................. 4
1.1. Modelo de producción de la voz ...................................................................................... 4
1.1.1 Modelo Fuente-Filtro ................................................................................................ 4
1.1.2 Señal de exitación g(t) .............................................................................................. 6
1.1.3 Conformación espectral de h(t) y r(t) ....................................................................... 7
1.1.4 Perturbaciones de la periodicidad ............................................................................. 9
1.1.5 Ruido aditivo ........................................................................................................... 11
1.2. Síntesis ........................................................................................................................... 11
1.2.1 Síntesis Concatenativa ............................................................................................ 12
1.2.2 Síntesis de formantes .............................................................................................. 13
1.3. Herramientas de Software disponibles para la síntesis de vocales................................. 16
1.3.1 Praat ........................................................................................................................ 16
1.3.2 Sintetizadores de formantes de Klatt ...................................................................... 17
Conclusiones parciales .................................................................................................................. 23
2. MATERIALES Y MÉTODOS ............................................................................................. 24
2.1. Modelos de Síntesis de la señal de la glotis ................................................................... 24
2.1.1 Modelos de Rosenberg ............................................................................................ 25
2.1.2 Modelo de Liljencrats-Fant ..................................................................................... 27
TABLA DE CONTENIDOS
2.1.1 Modelo de Veldhuis (R++) ..................................................................................... 28
2.2. Modelos de Síntesis del Tracto Vocal ............................................................................ 30
2.2.1 Suma de cosenos ..................................................................................................... 30
2.2.2 Filto autoregresivo (AR) todo polos ....................................................................... 31
2.3. Perturbaciones de la periodicidad .................................................................................. 32
2.3.1 Jitter ........................................................................................................................ 33
2.3.2 Shimmer .................................................................................................................. 34
2.3.3 Ruido ....................................................................................................................... 34
2.3.4 Jitter y Ruido .......................................................................................................... 35
2.3.5 Shimmer y Ruido..................................................................................................... 35
2.3.6 Perturbaciones combinadas ..................................................................................... 35
2.4. Diseño de la interfaz de Usuario .................................................................................... 36
2.4.1 Generalidades .......................................................................................................... 36
2.4.2 Uso de Matlab para la construccion de la interfaz de usuario de Vowel_Synth ... 37
Concluciones Parciales ................................................................................................................. 40
3. RESULTADOS Y DISCUSION .......................................................................................... 41
3.1. Requerimientos de Vowel_Synth. .................................................................................. 41
3.2. Vowel_Synth .................................................................................................................. 42
3.2.1 Configuración de la señal de la Glotis .................................................................... 44
3.2.2 Configuración de Tracto Vocal ............................................................................... 47
3.2.3 Configuración de Ruido .......................................................................................... 50
3.2.4 Síntesis y Visualización .......................................................................................... 52
3.3. Ventajas y Limitaciones de Vowel_Synth ..................................................................... 54
Conlusiones Parciales ................................................................................................................... 56
TABLA DE CONTENIDOS
CONCLUSIONES Y RECOMENDACIONES ........................................................................... 57
Conclusiones ............................................................................................................................. 57
Recomendaciones ..................................................................................................................... 58
REFERENCIAS BIBLIOGRÁFICAS.......................................................................................... 59
INTRODUCCIÓN 1
INTRODUCCIÓN
El habla es de gran importancia por ser la principal vía de comunicación entre los seres
humanos, en la actualidad se han reportado en la literatura innumerables trabajos
relacionados con el procesamiento de voz. Es por esto que han surgido diferentes áreas de
investigación del procesamiento de voz como la síntesis y codificación, análisis,
reconocimiento del habla y de locutor, reconocimiento de idiomas entre otras. Este trabajo
esta principalmente relacionado con la síntesis de señales de voz.
Los primeros sintetizadores de voz sonaban muy robóticos y eran a menudo inteligibles a
duras penas. Sin embargo, la calidad del habla sintetizada ha mejorado en gran medida, y el
resultado de los sistemas de síntesis contemporáneos es, en ocasiones, indistinguible del
habla humana real.
El primer sistema de síntesis computarizado fue creado a final de la década de 1950 y el
primer sistema completo texto a voz se finalizó en 1968. Desde entonces se han producido
muchos avances en las tecnologías usadas para sintetizar voz.
Estas herramientas de síntesis pueden ser aplicadas particularmente entre personas con
discapacidades, por ejemplo los ciegos pueden para acceder a la información visualizada en
pantalla; su objetivo es la lectura de información de la computadora al usuario mediante
mensajes que suelen ser emitidos con voces total o parcialmente sintéticas. Otras
aplicaciones de los sistemas de síntesis de voz están presente en los sistemas de telefonía
celular (convierten un mensaje de texto en un mensaje de voz).
Actualmente la gran mayoría de estos programas de síntesis de voz tienen como finalidad la
transmisión por voz del contenido de archivos de texto (TTS), estos tienen utilidades en el
Introducción
INTRODUCCIÓN 2
aprendizaje de lenguas extranjeras o para ayudar a mejorar la pronunciación de sonidos y
palabras a personas disléxicas o con otros defectos de habla. También existen herramientas
que sintetizan las diferentes patologías pero no permiten modificar los parámetros para la
síntesis de la voz.
En el caso del grupo de procesamiento de voz del CEETI las señales de voz simuladas son
utilizadas fundamentalmente para la prueba de diferentes mediciones de calidad vocal así
como en la docencia (asignatura de Procesamiento de Voz en la carrera de Ing. Biomédica).
En el caso de las aplicaciones médicas las señales más utilizadas para obtener mediciones
de calidad vocal son las vocales sostenidas. Estas a su vez son de especial interés en la
asignatura de Procesamiento de Voz por sus características particulares.
Problema científico
Dado que utilizando las aplicaciones comerciales es posible sintetizar vocales sostenidas
pero no es posible manipular cada una de las partes del modelo de producción de voz, es
necesaria, en el CEETI, una aplicación que simule tanto fonaciones de vocales con
características de voces normales como patológicas. Además que permita manipular y
visualizar las diferentes partes del modelo fuente-filtro.
Para la realización de esta herramienta se presenta el siguiente objetivo general
Objetivo general
Desarrollar una aplicación que permita sintetizar vocales sostenidas (normales y
patológicas) con el fin de utilizar las mismas en los experimentos de medición de
calidad vocal y en la docencia.
Para el cumplimiento del objetivo general se han planteado los siguientes objetivos
específicos
Objetivos Específicos
Ofrecer al usuario la posibilidad de introducir variaciones en la forma de onda que
simulen patologías de la voz.
Ofrecer al usuario la posibilidad de manipular los diferentes elementos del modelo
fuente-filtro.
INTRODUCCIÓN 3
Desarrollar una aplicación lo más amena posible a los usuarios finales de la misma
(profesores, investigadores y estudiantes).
Estructura del trabajo
En el Capítulo 1 se presentan los principales conceptos que se tratan en este trabajo así
como las características de la señal de voz, también se muestran los diferentes softwares
existentes en el mercado para la síntesis. Se brinda una panorámica general existente en
torno al problema que se aborda y que motiva este trabajo.
En el Capítulo 2 se muestran los modelos a seguir para la síntesis de la señal glotal, los
modelos de los filtros utilizados así como una caracterización de cómo sintetizar los tipos
de señales que se pueden realizar con Vowel_Synth y las bondades de Matlab para el
diseño de interfaces gráficas de usuario.
En el Capítulo 3 se presentan los resultados de esta herramienta así como un manual de
usuario para la ayuda al personal que utilice Vowel_Synth y una breve comparación con
otros programas de síntesis.
CARACTERÍSTICAS DE LA SEÑAL DE VOZ
4
1. CARACTERÍSTICAS DE LA SEÑAL DE VOZ
En este capítulo de darán a conocer varios conceptos relacionados con las características de
la señal de voz y la generación del habla tanto fisiológica como sintetizada. Además se
describen diferentes sistemas comerciales para la síntesis del habla particularmente de
vocales sostenidas.
1.1. Modelo de producción de la voz
El proceso de producción de la voz humana comienza en el cerebro con la creación del
mensaje, luego este envía los impulsos nerviosos necesarios para cada órgano involucrado
en el proceso del habla para así lograr los movimientos adecuados en cada órgano motor,
los pulmones son la fuente principal de aire, este aire es comprimido por el diafragma y
debido a la presión se producen los sonidos al hacer pasar el aire por algún estrechamiento
desde las cuerdas vocales hasta los labios.
1.1.1 Modelo Fuente-Filtro
Los sonidos se clasifican en sonoros o sordos según la periodicidad, los sonoros son
aquellos que tienen periodicidad y se producen cuando el estrechamiento es en las cuerdas
vocales, este es el caso de las vocales y algunas consonantes como “b”, “m”, “n” entre
otras. Los sonidos sordos son aquellos que no tienen periodicidad, esto es característico
solo en las consonantes tales como “s”, “j”, “f” etc… debido al paso de aire por las
constricciones en el tracto vocal, estas se denominan consonantes fricativas. Otro grupo de
Capítulo 1
CARACTERÍSTICAS DE LA SEÑAL DE VOZ
5
consonantes son las explosivas sordas “p”, “t” y “k”, estas se producen al liberar
repentinamente una oclusión en el tracto vocal.
El modelo más empleado en la síntesis es el modelo Fuente-Filtro (Ver Figura 1.1).donde
los pulsos de aire generados por la glotis g(t) son conformados por la función de
trasferencia del tracto vocal H(t) y posterior por el radiador de los labios R(t). La principal
ventaja es la sencillez (Titze I, 1980) (Steinecke & Herzel, 1995) por lo que tiene tanto uso
en los estudios de la codificación y transmisión del habla. Hay que tener presente
considerar la estacionariedad del tracto vocal (20-50 milisegundos) (Malepati, 2010), o sea
que el tracto no cambia su posición en el intervalo de análisis para así poder aplicar las
técnicas más comunes de análisis tales como la correlación, la Transformada de Fourier y
otras (Torres, 2008).
Figura 1.1 Modelo Fuente-Filtro de Producción de la Voz
La ecuación que representa este modelo es mostrada a continuación:
(1.1)
con r(t) la respuesta al impulso del radiador, gi(t) la forma de onda de la fuente en el pulso
i-ésimo, que incluye también cualquier perturbación de amplitud, Ti-1 la perturbación de
duración con respecto a 0T , Ti-1 representa el pulso anterior y e(t) representando el ruido. Si
g(t) no depende del índice del pulso, las tres respuestas de frecuencia (h(t), r(t) y g(t)) son
constantes, y concentrándolas en una única respuesta resultante h(t) se puede asumir un
modelo más sencillo y práctico, descrito por la ecuación:
teTTTttgtrthtsN
i
iii
1
101 )(*)(*
CARACTERÍSTICAS DE LA SEÑAL DE VOZ
6
(1.2)
En este caso se ha introducido el factor de proporcionalidad ai. La ecuación (1.2) resulta de
mucha mayor utilidad que (1.1) pues representa una simplificación del modelo.
Dado lo descrito anteriormente la señal de voz presenta las siguientes características:
Contiene una estructura de armónicos de la señal de excitación g(t) con
gran atenuación de las altas frecuencias.
Contiene resonancias en algunas frecuencias (formantes) presentes en la
respuesta del tracto vocal.
El radiador presenta reforzamiento de las altas frecuencias.
1.1.2 Señal de exitación g(t)
Han existido varios métodos para la estimación de la señal glotal g(t), los primeros fueron
altamente invasivos debido a la colocación de transductores, otros basados en el cálculo del
área de las cuerdas vocales como la electroglotografía, no tuvo éxito debido a la
conductividad eléctrica transglotal, la laringoboscopía fue otro método pero era muy difícil
la instrumentación para obtener una secuencia de imágenes adecuada para medir el área
(Torres, 2008).
El método más usado es el empleo de la señal residual del filtrado inverso para estimar la
forma de onda de g(t), aunque este tiene apareadas una serie de limitaciones que se tornan
rigurosas en voces patológicas. Las formas de onda obtenidas han sido representadas
mediante modelos paramétricos donde se le asignan determinadas funciones matemáticas a
las fases de apertura y cierre de la forma de onda de g(t) (ver Figura 1.2). Entre estos
modelos los más empleados son los polinomiales y trigonométricos de Rosenberg
(Rosenberg, 1971) y el modelo de Liljencrants-Fant (Fant, et al., 1985).
N
i
iii teTTTtathts1
01 )(
CARACTERÍSTICAS DE LA SEÑAL DE VOZ
7
Figura 1.2 Formas de onda y fases de la señal de excitación glotal g(t) y su derivada g’(t). Tp es la
duración de la fase de apertura, Tn la del cierre, Tc la fase cerrada, y t la duración total del pulso.
Como indicador de cuán adecuado es el modelo se han empleado criterios de naturalidad de
la voz sintetizada y de minimización del error medio cuadrático con respecto a la señal
residual del filtrado inverso (Klatt, 1980) (Hillman, 1983). Ninguna de las dos alternativas
resulta completamente convincente. Por ejemplo, en (Rosenberg, 1971) se reporta que
voces sintetizadas con su modelo polinomial fueron percibidas como más naturales que las
grabaciones originales (un resultado sin explicación), mientras que el modelo de
Liljencrants-Fant (Fant, et al., 1985), con el que se reportan los menores valores de error
cuadrático medio en su ajuste a las señales residuales, ha producido “resultados
decepcionantes” (O´leidhin & Murphy, 2003) al sintetizar nuevamente la voz empleando la
g(t) estimada. En este momento no existen motivos para preferir un modelo u otro de
estimación o síntesis de g(t).
1.1.3 Conformación espectral de h(t) y r(t)
El empleo de técnicas de predicción lineal para estimar H(f) ha provocado que sea común
simplificar este modelo fundiendo las características de frecuencia de la fuente G y el
radiador R. Par ello se emplean fundamentalmente dos alternativas:
La primera aprovecha que G(f) y R(f) tienen características complementarias (G(f) pasa-
bajos y R(f) pasa-altos), para fundirlas en una señal de espectro plano en la glotis (fuente)
de manera que toda la conformación espectral de la señal acústica puede atribuirse a la
influencia del tracto vocal. La señal más simple que satisface las suposiciones de
periodicidad y espectro plano para la fuente es un tren periódico de impulsos, y es
R
e
s
u
m
e
n
I
n
t
r
o
d
u
c
c
i
ó
n
1
CARACTERÍSTICAS DE LA SEÑAL DE VOZ
8
empleada con frecuencia en aplicaciones de análisis, codificación y síntesis. En ese caso
más sencillo la señal de voz s(t) es una suma de respuestas del tracto vocal al tren de
impulsos delta de Dirac () de excitación:
(1.3)
donde N es la cantidad de pulsos glotales que se consideran, 0T es el período del tren de
impulsos, y h(t) es la respuesta al impulso del tracto vocal.
La segunda alternativa hace uso de que el radiador consiste físicamente en una operación de
derivación (convirtiendo una señal de velocidad de flujo g(t) en una señal de presión
acústica s(t)). De esta manera el modelo fuente filtro puede reducirse al mostrado en la
siguiente figura:
Figura 1.3 Modelo Fuente-Filtro con el efecto derivativo del radiador incluido en la excitación; g´(t) es
la derivada de g(t).
La señal de presión acústica puede expresarse entonces como:
(1.4)
Donde g’ i (t) la derivada del pulso glotal i-ésimo. Si todos los pulsos tienen igual forma de
onda g(t) la ecuación (1.4) puede rescribirse:
(1.5)
g’(t)
TRACTO
s(t)
0 t si0
0t si1 t Titthts
N
i
1
0
tgthtsN
i
i
1
'
N
i
Tittgthts1
0
' *
CARACTERÍSTICAS DE LA SEÑAL DE VOZ
9
que resulta equivalente a (1.3) si se considera a la convolución h(t)*g’(t) como la respuesta
al impulso del sistema que conforma espectralmente a s(t), representado sólo por h(t) en
(1.3).
El inconveniente de esta alternativa con relación a la anterior radica en la necesidad de
contar con un estimado de g(t) o su derivada g’(t), dado que ambas estiman h(t) mediante
técnicas de filtrado inverso. Su ventaja principal es la mayor naturalidad de la voz
sintetizada por esta vía, lo que ha provocado que sea la alternativa preferida en aplicaciones
de síntesis (Torres, 2008).
1.1.4 Perturbaciones de la periodicidad
La señal s(t) generada a partir de cualquiera de las dos alternativas descritas, (ecuaciones
(1.3) o (1.5)) es perfectamente periódica, mientras que en las señales reales la periodicidad
es sólo aproximada. El tracto puede considerarse estacionario en intervalos de algunas (2-5)
decenas de milisegundos, lo cual es suficiente en la mayoría de las vocales, donde se puede
aplicar el modelo. Si se considera que la configuración del tracto vocal permanece
constante (y por tanto su respuesta al impulso h(t)) las perturbaciones de la periodicidad de
s(t) están dadas completamente por las alteraciones en la excitación. Estas pueden ser
divididas en cuatro factores:
Perturbación de la duración de los pulsos (jitter), consiste en la separación
de los pulsos en intervalos de tiempo no exactamente iguales a 0T .
Perturbación de la amplitud de los pulsos (shimmer), consiste en que los
pulsos puedan expresarse uno en función de otro a través de un factor de
proporcionalidad diferente de la unidad.
Presencia de ruido aditivo: Cada pulso se diferencia del otro en una
magnitud aleatoria en cada instante de muestreo, de valor medio cero.
Perturbación de forma de onda: La g(t) varía de pulso a pulso de manera
que el cambio no se reduce a un factor de proporcionalidad.
CARACTERÍSTICAS DE LA SEÑAL DE VOZ
10
Una expresión que incluye todos estos factores es:
(1.6)
con r(t) la respuesta al impulso del radiador, gi(t) la forma de onda de la fuente en el pulso
i-ésimo, que incluye también cualquier perturbación de amplitud (factores 2 y 4), Ti la
perturbación de duración con respecto a 0T (factor 1), y e(t) representando el ruido aditivo
(factor 3). Si el cuarto factor de perturbación no está presente, o sea, g(t) no depende del
índice del pulso, las tres respuestas de frecuencia (h(t), r(t) y g(t)) son constantes, y
concentrándolas en una única respuesta resultante h(t) se puede asumir un modelo más
sencillo y práctico, descrito por la ecuación siguiente e ilustrado en la Figura 1.4:
(1.7)
Figura 1.4 Representación gráfica de la ecuación (1.7)
En este caso se ha introducido el factor de proporcionalidad ai, anteriormente incluido en
gi(t) para representar el segundo factor de perturbación (shimmer). La ecuación resulta de
mucha mayor utilidad que (1.5) pues, aunque representa una simplificación del modelo,
conduce a un problema frecuentemente abordado en la literatura: la determinación de los
instantes de ocurrencia )( 01 ii TTT de las réplicas de una determinada señal (h(t)) en
400
0 420
0 440
0 460
0 480
0 500
0 -
0.2 -
0.15 -
0.1 -
0.05 0
0.0
5 0.
1 0.1
5 0.
2 0.2
5 0.
3
a5 a1 a2 a3
a4 T0 ΔT3
teTTTttgtrthtsN
i
iii
1
101 )(*)(*
N
i
iii teTTTtathts1
01 )(
CARACTERÍSTICAS DE LA SEÑAL DE VOZ
11
presencia de ruido (e(t)) y atenuación (ai) desconocidos. Campos donde se encuentra el
mismo problema son el radar, el sonar, el ultrasonido, la supresión de interferencia (Hertz,
1986), etc. Esta amplia difusión del problema permite que se cuente en la actualidad con
una abundante literatura sobre el tema, con múltiples propuestas de solución.
A pesar de esto, no puede ignorarse que (1.7) constituye una aproximación gruesa de la
señal de voz, sobre todo en voces patológicas, donde la variabilidad de gi(t) dista de ser
despreciable. El uso de (1.7) se justifica sólo en la obtención de modelos de análisis y
expresiones de cálculo aproximado de parámetros, donde el trabajo con gi(t) variables
resulta muy complicado. La utilidad práctica de los modelos y expresiones obtenidos puede
ser evaluada posteriormente, ya sea en señales reales o sintéticas, empleando o no un
modelo para gi(t).
1.1.5 Ruido aditivo
Es de destacar que el último término de (1.7) (e(t)) es el ruido aditivo presente en s(t), la
señal acústica radiada, cuando en principio el ruido turbulento se asume generado en la
glotis. Se puede esperar entonces que e(t), resultado del paso a través de las respuestas del
tracto vocal y el radiador del ruido original generado en la glotis, no sea espectralmente
plano (ruido blanco) sino “coloreado”. La distribución espectral del ruido turbulento
original tampoco es completamente plana (O´leidhin & Murphy, 2003), y por demás, e(t) es
en principio no estacionario.
1.2. Síntesis
El primero en sintetizar vocales sostenidas para su estudio fue el científico danés Christian
Gottlieb Kratzenstein, quien construyó modelos del tracto vocal que podía producir las
cinco vocales largas (a, e, i, o, u) (Tordera, 2011).
La calidad de un sintetizador esta dada por la naturalidad e inteligibilidad. La naturalidad
de un sintetizador de voz se refiere hasta qué punto suena como la voz de una persona real.
La inteligibilidad de un sintetizador se refiere a la facilidad de la salida de poder ser
entendida. El sintetizador ideal debe de ser a la vez natural e inteligible.
CARACTERÍSTICAS DE LA SEÑAL DE VOZ
12
La síntesis del habla puede ser desarrolada mendiante el uso de dos alternativas: síntesis
concatenativa y síntesis de formantes (Tordera, 2011). La síntesis concatenativa, se usa
principalmente para aplicaciones que requieran alta naturalidad, mientras que por fomantes
es muy útil para sistemas discretos computacionalmente.
1.2.1 Síntesis Concatenativa
La síntesis concatenativa se basa en la concatenación de segmentos de voz grabados.
Generalmente, produce los resultados más naturales. Sin embargo, las diferencias entre la
variación natural del habla y las técnicas automatizadas de segmentación de formas de onda
resultan en defectos audibles, que conllevan una pérdida de naturalidad.
Hay tres tipos básicos de síntesis concatenativa.
Síntesis por selección de unidades: La síntesis por selección de unidades utiliza una
base de datos de voz grabada (más de una hora de habla grabada). Durante la creación
de la base de datos, el habla se segmenta en unidades del lenguaje: fonemas, sílabas,
palabras, frases y oraciones. Normalmente, la división en segmentos se realiza usando
un reconocedor de voz modificado para forzar su alineamiento con un texto conocido.
La selección de unidades da la máxima naturalidad debido al hecho de que no aplica
mucho procesamiento digital de señales al habla grabada, lo que a menudo hace que el
sonido grabado suene menos natural, aunque algunos sistemas usan un poco de
procesado de señal en la concatenación para suavizar las formas de onda. De hecho, la
salida de la mejor selección de unidades es a menudo idéntica de la voz humana real,
especialmente en contextos en los que el sistema ha sido adaptado. Por ejemplo, un
sistema de síntesis de voz para dar informaciones de vuelos puede ganar en
naturalidad si la base de datos fue construida a base grabaciones de informaciones de
vuelos, pues será más probable que aparezcan unidades apropiadas e incluso cadenas
enteras en la base de datos. Sin embargo, la máxima naturalidad a menudo requiere
que la base de datos sea muy amplia, llegando en algunos sistemas a los gigabytes de
datos grabados.
CARACTERÍSTICAS DE LA SEÑAL DE VOZ
13
Síntesis de dífonos: La síntesis de dífonos usa una base de datos mínima conteniendo
todos los dífonos que pueden aparecer en un lenguaje dado. El número de dífonos
depende de la fonotáctica del lenguaje: el español tiene unos 800 dífonos, el alemán
unos 2500. En la síntesis de dífonos, la base de datos contiene un sólo ejemplo de cada
dífono.
La calidad del habla resultante es generalmente peor que la obtenida mediante la
selección de unidades pero más natural que la obtenida mediante sintetización de
formantes. La síntesis de dífonos padece de los defectos de la síntesis concatenativa y
suena robótica como la síntesis de formantes.
Síntesis específica para un dominio: La síntesis específica para un dominio concatena
palabras y frases grabadas para crear salidas completas. Se usa en aplicaciones donde
la variedad de textos que el sistema puede producir está limitada a un particular
dominio, como anuncios de salidas de trenes o información meteorológica.
Esta tecnología es muy sencilla de implementar, y se ha usado comercialmente durante
largo tiempo: es la tecnología usada por aparatos como relojes y calculadoras parlantes. La
naturalidad de estos sistemas puede ser muy grande, porque la variedad de oraciones está
limitada y corresponde a la entonación y la prosodia de las grabaciones originales. Sin
embargo, al estar limitados a unas ciertas frases y palabras de la base de datos, no son de
propósito general y sólo pueden sintetizar la combinación de palabras y frases para los que
fueron diseñados (Tordera, 2011).
1.2.2 Síntesis de formantes
Los formantes son las frecuencias de resonancias, por lo que cada sonido sonoro
(periódico) tiene sus propios formantes. La síntesis de formantes no usa muestras de habla
humana en tiempo de ejecución. En lugar de eso, la salida se crea usando un modelo
acústico. Parámetros como la frecuencia fundamental y los niveles de ruido se varían
durante el tiempo para crear una forma de onda o habla artificial.
CARACTERÍSTICAS DE LA SEÑAL DE VOZ
14
Varios sistemas basados en síntesis de formantes generan habla robótica y de apariencia
artificial, y la salida nunca se podría confundir con la voz humana debido a la falta de
naturalidad. Sin embargo, la naturalidad máxima no es siempre la meta de un sintetizador
de voz, y estos sistemas tienen algunas ventajas sobre los sistemas concatenativos.
La síntesis de formantes puede ser muy inteligible, incluso a altas velocidades, evitando
los defectos acústicos que pueden aparecer con frecuencia en los sistemas concatenativos.
La síntesis de voz de alta velocidad es a menudo usada por los discapacitados visuales
para utilizar computadores con fluidez. Por otra parte, los sintetizadores de formantes son
a menudo programas más pequeños que los sistemas concatenativos porque no necesitan
una base de datos de muestras de voz grabada. De esta forma, pueden usarse en sistemas
empotrados, donde la memoria y la capacidad de proceso son a menudo pequeñas y por
tanto de menor costo. Dado que los sistemas basados en formantes tienen un control total
sobre todos los aspectos del habla producida, pueden incorporar una amplia variedad de
tipos de entonaciones (Tordera, 2011).
1.2.2.1. Sintetizador de formantes de Klatt
Denis H. Klatt (Klatt, 1980) utilizó el método de síntesis de formantes para realizar un
software que permite sintetizar voces tanto normales como patológicas. Klatt describe que
el tracto vocal puede simularse con dos tipos de resonadores, en cascada (ver Figura 1.5) y
en paralelo (ver Figura 1.6), el primero tiene como ventaja que las amplitudes relativas de
los picos de los formantes son correctas sin la necesidad de controlar la amplitud individual
para cada formante como lo es en los resonadores en paralelo (cada formante necesita una
amplitud individual). La desventaja es que todavía necesita una configuración de formantes
en paralelo para la síntesis de las consonante fricativas y las explosivas, con esta
configuración en cascada la función de transferencia del tracto vocal no puede ser creada
adecuadamente, por lo que estos sintetizadores son más complejos como estructura global;
el segundo resonador (paralelo) son varios formantes del tracto vocal conectados en
paralelo con una amplitud de control delante que determina la amplitud de cada pico
espectral (Klatt, 1980).
CARACTERÍSTICAS DE LA SEÑAL DE VOZ
15
Figura 1.5 Resonadores en cascada del sintetizador por formantes de Klatt, tomado de (Klatt, 1980).
Figura 1.6. Resonadores en paralelo del sintetizador por formantes de Klatt tomado de (Klatt, 1980)
Figura 1.7 Configuración cascada/paralelo del sintetizador por formantes de Klatt tomado de (Klatt,
1980).
Dadas las ventajas y desventajas de cada configuración que con una sola no podía sintetizar
todas las letras, Klatt se inclinó por mostrar una configuración que tuviera presente estas
dos configuraciones antes dichas y entonces diseñó la que se muestra en la Figura 1.7.
CARACTERÍSTICAS DE LA SEÑAL DE VOZ
16
1.3. Herramientas de Software disponibles para la síntesis de vocales.
En esta sección se hará una breve descripción de herramientas disponibles para la síntesis
de voz. Estas herramientas están hechas para la síntesis del habla en general.
1.3.1 Praat
Praat es un software para el análisis fonético del habla creado por Paul Boersma y David
Weenink del Intituto de Ciencias Fonéticas de la Universidad de Amsterdam. Este sistema
permite el análisis, síntesis y manipulación de la señal de voz (Boersma & Weenink,
1992-2013). Debido a la amplia gama de herramientas implementadas en el mismo y la
incorporación de un lenguaje compilado (script), este programa se ha convertido en uno de
los más utilizados en la comunidad científica relacionada con el procesamiento del habla.
Praat posee varias herramientas para la síntesis de sonidos. Específicamente se pueden
sintetizar vocales mediante dos opciones:
La generación de un sonido mediante una fórmula matemática. Para las vocales
sostenidas basta con introducir la ecuación (1.3)
Utilizando la herramienta Editor de Vocales (VowelEditor) según se muestra en la
Figura 1.8
Específicamente la opción de síntesis 2 es la más recomendada para vocales pues la
herramienta está desarrollada con este fin.
VowelEditor utiliza una representación gráfica de la posición de las vocales en el plano F1-
F2 según se muestra en la Figura 1.8. Al señalar un punto en el plano con el ratón se
establece la vocal que se desea sintetizar. La duración de la síntesis así como la frecuencia
fundamental pueden ser controladas en VowelEditor. El valor de los cuatro primeros
formantes puede ser establecido así como la dinámica de la frecuencia fundamental. Esta
última es manipulada a través de las nombradas trayectorias (Boersma & Weenink, 1992-
2013).
CARACTERÍSTICAS DE LA SEÑAL DE VOZ
17
Figura 1.8 Ventana del VoweEditor implementada en Praat.
Este sistema no permite de forma secilla la manipulación de las diferentes partes del
modelo de producción de la voz. Existe la posibilidad de que mediante el lenguaje de
scripts incorporado en Praat sea posible controlar los parámetros del modelo de producción
de voz así como la introducción de diferentes perturbaciones. Este procedimiento se torna
muy engorroso y es necesario estar familiarizado con los scripts de Praat.
1.3.2 Sintetizadores de formantes de Klatt
En la sección 1.2.2.1 se muestra un descripción de la arquitectura cascada/paralelo del
sintetizador de Klatt. Varias herramientas han sido desarrolladas con este fin algunas de
libre acceso, para otras es necesario pagar un elevado precio y otras son utilizadas por
grupos específicos de investigación y los ejecutables no se encuentran disponibles, solo las
descripciones de los sistemas. Dentro de las aplicaciones de libre acceso se encuentra
KLSyn88, KLSyn, WinSnoori, Praat, KPE80 entre otros. Entre las variantes de compra de
licencias esta SynthWorks distribuido por Scicon R&D Inc (Scicon R&D Inc, 1994-2013)
cuyo precio establecido es de $395.0 y HLsyn de Sensimetrics Corporation (Scicon R&D
Inc, 1994-2013). Existe también una variante online del sintetizador de Klatt elaborada por
CARACTERÍSTICAS DE LA SEÑAL DE VOZ
18
el laboratorio de Investigaciones del Habla de la Universidad de Delaware (Speech
Research Lab, 2013). Algunos autores han realizado también bibliotecas de código para la
implementación del sintetizador de Klatt (Klatt, 1980).Estas bibliotecas han sido utilizadas
en la construcción de algunas de las herramientas mencionadas anteriormente. En esta
sección se describirán las variantes de libre acceso del sintetizador de Klatt.
1.3.2.1.KLsyn 88
Es un software desarrollado en el año 1991 por Dennis Klatt (Klatt, 1980). La
configuración general de este sintetizador puede ser modificada según se muestra en la
Figura 1.9.
Figura 1.9 Ventana de configuración para KLSyn 88
Como se observa en la figura anterior es posible manipular diferentes parámetros del
modelo de Klatt (Klatt, 1980) como la duración, la frecuencia de muestreo, número de
formantes en cascada, la forma que puede tomar la fuente (g(t)), la configuración del tracto
(cascada o paralelo), entre otras opciones (ver Figura 1.9).
Para cada porción del modelo de producción de la voz KLSyn88 permite la manipulación
de los parámetros correspondientes. En el caso de la función de la glotis g(t) es posible
sintetizarla a través de un tren de impulsos, según se describe en (Klatt, 1980) y del modelo
de Liljencrants-Fant (Fant, et al., 1985). La ventana de configuración se muestra en la
Figura 1.10
CARACTERÍSTICAS DE LA SEÑAL DE VOZ
19
Figura 1.10 Ventana de configuración de la fuente
Para establecer la configuración de la arquitectura en cascada o paralelo del filtro para el
sintetizador de Klatt pueden utilizarse las ventanas de configuración de la Figura 1.11 A y
B respectivamente.
A
B
Figura 1.11 Ventanas de configuración de KLSyn88 A: Configuración de la arquitectura en cascada
B:Configuración de la arquitectura en paralelo
Es posible en KLSyn 88 generar señales que contengan ruidos de fricción. La
configuración del filtro para la fuente generadora de ruidos de fricción es posible
manipularla según se muestra en la Figura 1.12.
CARACTERÍSTICAS DE LA SEÑAL DE VOZ
20
Figura 1.12 Ventana de configuración del resonador para la fuente generadora de ruidos de fricción.
Varios trabajos han sido reportados en la literatura donde la generación de señales
sintetizadas ha sido elaborada utilizando KLSyn88.
1.3.2.2. KPE80
KPE80 es otra de las variantes para la síntesis utilizando el sintetizador de Klatt. Este
sistema está desarrollado en C para plataforma Unix (Simpson, 2012). Este sistema fue
creado por Andrew Simpson del departamento de Lingüística y Fonética de la Universidad
de Londres.
Figura 1.13 Interfaz gráfica de KPE80
El sistema KPE80 provee una interfaz gráfica como la mostrada en la Figura 1.13. En esta
ventana los parámetros de la arquitectura de Klatt pueden ser manipulados por el usuario.
CARACTERÍSTICAS DE LA SEÑAL DE VOZ
21
Es posible modificar la trayectoria de los formantes y refinar los valores de los parámetros
utilizados en la síntesis.
Permite llevar a cabo el proceso conocido como "síntesis por copia" mediante el cual
pueden crearse estímulos sintetizados basados en un enunciado natural, editando los valores
de los parámetros hasta conseguir una reproducción sintetizada lo más parecida posible a la
natural. Además es posible realizar comparaciones espectrales, entre las señales sintetizadas
y la original utilizando las facilidades incorporadas en el sistema.
1.3.2.3. WinSnoori
WinSnoori es un programa de análisis acústico del habla desarrollado en el LORIA (del
francés, Laboratoire Lorrain de Recherche en Informatique et ses Applications) de Nancy.
El programa incluye una interfaz gráfica con el sintetizador de Klatt, del que se usa la
implementación de Jon Iles and Nick Ing-Simmons (Laprie, 2009).
Figura 1.14 Interfaz Gráfica del Winsnoori. La ventana en el interior de la interfaz principal pertenece
al sintetizador de Klatt.
CARACTERÍSTICAS DE LA SEÑAL DE VOZ
22
WinSnoori permite llevar a cabo la síntesis a partir de los valores extraídos del análisis
acústico de un documento y modificados mediante la interfaz gráfica según se muestra en la
Figura 1.14.
Para el manejo de los diferentes componentes del modelo de producción de voz, WinSnoori
provee diferentes opciones. Es posible acceder a la configuración general a traves del menú
Setup y en la ventana de configuración (Figura 1.5). En esta figura se puede observar
Figura 1.15 Ventana de configuración del sintetizador de Klatt en WinSnoori.
las diferentes opciones para la configuración del sintetizador. La fuente g(t) puede ser
sintetizada utilizando la variante propuesta por klatt (Klatt, 1980) o el modelo de
Liljencrats-Fant (Fant, et al., 1985). Además es posible escoger la forma de onda que se
desea visualizar en el panel de Señal de Salida (Output waveform) según se muestra en la
Figura 1.15. Para la configuración de los formantes varias opciones son implementadas. Es
posible elaborar una estructura de formantes manualmente o extraerla de alguna señal real.
CARACTERÍSTICAS DE LA SEÑAL DE VOZ
23
Conclusiones parciales
En este capítulo se dieron a conocer las diferentes características de la señal de voz, los
modelos de síntesis más usados. Además se describen diferentes aplicaciones comerciales
para la síntesis del habla, específicamente síntesis de vocales sostenidas.
MATERIALES Y MÉTODOS
24
2. MATERIALES Y MÉTODOS
En este capítulo se describen las particularidades de las diferentes componentes del modelo
de síntesis implementado en el sistema propuesto (Fuente-Filtro). Se brinda una detallada
descripción de los diferentes modelos de la señal glotal considerados en la literatura asi
como las variantes para la síntesis de la función de transferencia del tracto vocal. Además
se describen las diferentes formas de perturbación de la periodicidad para la síntesis de
voces patológicas (jitter, shimmer, ruido) y cómo fueron tratadas en el desarrollo del
sistema propuesto.
Adicionalmente se describen las propiedades principales para el desarrollo de interfaces de
usuario así como las limitaciones y ventajas de Matlab para la elaboración del sistema
propuesto.
2.1. Modelos de Síntesis de la señal de la glotis
En la actualidad la síntesis de voz ha tenido gran auge en diversas aplicaciones, para esto ha
sido preciso simular los diferentes parámetros del modelo Fuente-Filtro. La variabilidad de
la señal glotal es un factor donde no existe consenso en cuanto a las formas de onda a
emplear y cómo efectuar la variación en las mismas (Rosenberg, 1971) (Klatt & Klatt,
1990) (Titze & Liang, 1993) (Murphy & Yegnanarayana, 1999). En este trabajo el Modelo
B de Rosenberg y el R++ (Veldhuis, 1998), una alternativa más eficiente
computacionalmente que fusiona el modelo original de la señal glotal de Rosenberg
(Rosenberg, 1971) y el de Liljencrats-Fant (Fant, et al., 1985), son implementados. La
Capítulo 2
MATERIALES Y MÉTODOS
25
elección de estas variantes esta dada por la sencillez con que estos modelos pueden ser
desarrollados.
2.1.1 Modelos de Rosenberg
En (Rosenberg, 1971) se plantea que la señal glotal no es mas que la concatenación de
diferentes polinomios donde se establecen una fase de apertura y otra de cierre de las
cuerdas vocales. Los diferentes modelos de la señal glotal reportados en este trabajo son:
A. La simulación de este modelo está caracterizado por una onda triangular, siendo
la fase de apertura ( ) y la fase de cierre .
B. Este modelo de síntesis está compuesto por polinomios, la fase de apertura está
dada por y la fase de cierre por
].
C. El presente modelo está compuesto por funciones trigonométricas, la fase de
apertura esta dada por y el cierre .
D. Este modelo presenta la misma forma de apertura que el anterior
y cuenta con fase de cierre .
E. Para la síntesis de este modelo se utiliza para la fase de apertura
y para el cierre
F. Este modelo está definido por un trapecio siendo la apertura y
el cierre .
Donde es la amplitud deseada, el tiempo de la onda glotal, el tiempo de apertura de
las cuerdas vocales y el tiempo de cierre. Las variantes de forma glotal descritas
MATERIALES Y MÉTODOS
26
anteriormente pueden ser observadas en la Figura 2.1. Estas formas de onda de la señal
glotal representan el flujo de aire que pasa por las cuerdas vocales (Rosenberg, 1971). Para
la estimación del flujo de aire es necesario estimar la derivada de la función de presión
(Rosenberg, 1971) (ver Figura 2.2).
Figura 2.1 Comparación entre los seis modelos se síntesis de señales glotales de Rosemberg (Rosenberg,
1971).
Figura 2.2 Tipos de ondas de la señal de la glotis g(t) y g´(t) (derivada) sintetizadas con Vowel_Synth
por modelo B de Rosemberg.
El modelo B se implementó por ser uno de los más semejantes y de los más económicos
computacionalmente, en la Figura 2.1 se muestra un ejemplo donde se introdujeron los
siguientes parámetros: frecuencia fundamental (F0) F0 = 150 Hz, período fundamental (T0)
MATERIALES Y MÉTODOS
27
T0 = 1\F0, amplitud a = 1, Tp = 0.33T0, Tn = 0.09 T0 y t = T0 como se muestra en la Figura
2.2.
2.1.2 Modelo de Liljencrats-Fant
El modelo de Liljencrants y Fant (Fant, et al., 1985) obtiene la forma de onda glotal de
presión g(t)´ por ser más sencilla de deducir que la señal de flujo, luego esta señal es
integrada para obtener g(t). Una representación de este modelo puede ser observada en la
Figura 2.3. La formulación matemática que representa el modelo de la señal glotal de
Liljencrants-Fant se representa en la ecuación (2.1).
(2.1)
Figura 2.3 Representación gráfica del modelo de Liljencrant-Fant. Figura tomada de (Fant, et al.,
1985).
(-(t -t )/t )0 e ae a
(-(t -t )/t )0 e a
(-(t-t )/t )
e 0
f(t) si 0
' f(t ) si
1-
e
e
t t
g t e et t t
e
MATERIALES Y MÉTODOS
28
donde tp es el tiempo donde ocurre el máximo flujo de aire, la máxima apertura ocurre a te,
el intervalo antes de te es la fase de apertura, y después de te es la fase de cierre de las
cuerdas vocales (ver Figura 2.3).
La función f(t) utilizada en (2.1) se define como:
(2.2)
Este modelo es muy complejo debido a que para el cálculo de α es necesario encontrar la
solución de la ecuación (2.3) y el costo computacional es muy elevado. (Veldhuis, 1998).
(2.3)
Para resolver esta limitante del modelo de Linljencrants-Fant se propone (Veldhuis, 1998)
utilizar la simplicidad del modelo de Rosenberg y las ventajas del modelo descrito en esta
sección. A continuación se describe esta variante.
2.1.1 Modelo de Veldhuis (R++)
El modelo R++ (Veldhuis, 1998) es una alternativa más eficiente computacionalmente del
modelo de Liljencrants-Fant y también responde a la ecuación (2.2) pero partiendo del
modelo de Rosenberg (Rosenberg, 1971) donde se muestra en la ecuación (2.4) y
(2.5).
(2.4)
(2.5)
MATERIALES Y MÉTODOS
29
El cálculo de tp responde a la ecuación (2.6)
( 2.6)
donde tp es el tiempo donde ocurre el máximo flujo de aire, la máxima apertura ocurre a te,
el intervalo antes de te es la fase de apertura, y después de te es la fase de cierre de las
cuerdas vocales.
Figura 2.4 Comparación de un pulso glotal de presión g´(t) entre el método (LF) y R++ para los
mismos parámetros, con línea discontinua el modelo (LF) y con línea contínua el R++, t en segundos y
g’(t) en unidades arbitrarias. (Veldhuis, 1998).
Figura 2.5 Forma de onda glotal de presión (derivada) sintetizada con Vowel_Synth por el modelo R++.
La Figura 2.5 muestra la forma de onda glotal de presión (derivada) sintetizada con
Vowel_Synth por el modelo R++.
MATERIALES Y MÉTODOS
30
2.2. Modelos de Síntesis del Tracto Vocal
Varios modelos del tracto vocal pueden ser utilizados para la síntesis de vocales (Quatieri,
2002). En este trabajo dos de estas variantes de función de transferencia del tracto vocal
son consideradas: el filtro todo polos que sería el equivalente de diseñar un filtro digital, y
la suma de cosenos. Ambas variantes serán descritas a continuación.
2.2.1 Suma de cosenos
Como respuesta al impulso, típica del tracto vocal, h(t), se empleó la suma de sinusoides,
este es el más frecuentemente empleado en la literatura para la síntesis de vocales. La h(t)
puede obtenerse como la suma de M sinusoides amortiguadas (ver ecuación ( 2.7)) que son
las representaciones temporales de los polos complejos conjugados del modelo:
( 2.7)
Tabla 2.1 Valores de amplitud (A) ancho de banda (B) y frecuencia central (F) de los cinco resonadores
del filtro. La amplitud en unidades arbitrarias (u. a.).
Formantes
Parámetros
1 2 3 4 5
A (u. a.) 250 60 215 25 40
B(Hz) 320 720 520 770 350
F(Hz) 520 800 1190 1840 2390
En este caso Am, Bm y Fm son las amplitudes, anchos de banda y frecuencias centrales
respectivamente de cada una de las M resonancias del tracto vocal. Se seleccionó para los
)(ttFeAthM
m
m
tB
mm 0 )2cos()(
1
MATERIALES Y MÉTODOS
31
ejemplos trabajar con los mismos valores que en (Parsa & Jamieson, 1999) y (Medan, et al.,
1991) fijando M = 5 y los formantes dados por los valores de la
Tabla 2.1, que corresponden a su vez con los valores de una vocal “a” (Rabiner & Juang,
1993) pero el usuario los puede cambiar.
2.2.2 Filto autoregresivo (AR) todo polos
Considerando el tracto vocal desde la glotis hasta fuera de los labios, el filtro todo polo
responde a la siguiente ecuación (Quatieri, 2002).
(2.8)
Donde A es la ganancia, M es el número de coeficientes, los coeficientes de predicción
lineal (LPC, del inglés, Linear Predictive Coefficients),
El modelo de secciones del tubo acústico es una simulación del tracto vocal, donde si se
selecciona un orden M para el filtro se está asumiendo M secciones con sus equivalentes M
coeficientes de reflexión (ver Figura 2.6), pero:
Figura 2.6 Modelo de secciones del tubo acústico.
1. La velocidad de las vibraciones en el aire es un factor físico V = 340 m/s.
2. La longitud del tracto de la persona es de aproximadamente 17 cm.
3. Los coeficientes M implican que el sonido efectivamente se refleje en los límites de
cada sección, esto ocurre cada segundos.
MATERIALES Y MÉTODOS
32
4. Los coeficientes k se aplican a muestras separadas a Ts, por lo que , parece
ser válido, pero en realidad es porque el sonido tiene que regresar al
origen luego de la reflexión para llegar al estado estable.
Como físicamente y , el orden del filtro debe cumplir con la
siguiente igualdad:
(2.9)
O sea, M es aproximadamente igual a los kilohertzios de frecuencia de muestreo para tener
sentido físico, pero se reporta que es posible adicionar cuatro o cinco polos (Markel &
Gray, 1976).
2.3. Perturbaciones de la periodicidad
El uso de la ecuación (1.7) para sintetizar una vocal permite variar fácilmente el valor de
jitter controlando, Ti, mientras ai puede emplearse para variar el shimmer, y la relación
señal a ruido (SNR) puede ser controlada mediante la adición del ruido e(t).
Teniendo en cuenta las perturbaciones de la periodicidad presentes en el modelo de la
ecuación (1.7) es posible crear varios tipos de señales: las que presentan sólo jitter, sólo
shimmer, sólo ruido y las combinaciones posibles de estas perturbaciones de la periodicidad
simulando así una gran variedad de voces patológicas.
A pesar de que las ecuaciones (1.6) y (1.7) permiten obtener s(t) para la variable continua
de tiempo t, su implementación en la variante discreta resulta engorrosa y costosa desde el
punto de vista computacional para un número elevado de pulsos, con la evaluación
acumulativa de (1.7) para cada uno de ellos. Por esta razón el método empleado en este
trabajo consiste en la discretización de h(t) descrita por ( 2.7) para una frecuencia de
MATERIALES Y MÉTODOS
33
muestreo dada, su posterior convolución con el tren de impulsos y la adición de ruido según
(1.6). El muestreo de h(t) se efectúa evaluando ( 2.7)
para t = kTs, kN, y truncando su longitud a un determinado número de muestras. En esta
variante, debido a que la convolución se efectúa en el dominio de tiempo discreto, el tren de
impulsos tiene que satisfacer que los instantes de excitación y las separaciones entre ellos
sean también múltiplos del período de muestreo (Ti-1+0T +T=k1Ts y
0T +T=k2Ts
respectivamente, k1, k2N). Esto no constituye una fuerte limitante en cuanto a las
posibilidades de generación de señales, pues las variabilidades de duración Ti
introducidas en este trabajo superan ampliamente el tiempo correspondiente a un período de
muestreo Ts (variabilidad mínima en un intervalo de 5 muestras).
La frecuencia de muestreo (Fs=1/Ts) empleada para la generación de las señales simuladas
fue de 22.05 kHz, mientras que el valor medio de frecuencia fundamental 0 01/F T se fija
por el usuario al valor deseado. La respuesta al impulso del tracto se truncó al doble de 0T .
Longitudes de h(t) por encima de dos 0T no aportan prácticamente ninguna potencia de
señal adicional (99.2% de potencia contenida en la duración de un pulso, 99.99% de
potencia contenida en la duración de dos 0T ) (Ferrer Riesgo, 2005). La longitud de las
señales generadas se especifica por el usuario.
Los detalles específicos de la generación de cada uno de los tipos de señales con
perturbaciones de la periodicidad (sólo jitter, sólo shimmer, sólo ruido aditivo y las
posibles combinaciones de estas) se describe a continuación.
2.3.1 Jitter
En estas señales el factor ai, que involucra la variabilidad de la amplitud en el tren de
impulsos en la ecuación (1.6), se fija a la unidad (ai=1), y se les anula el término
correspondiente a ruido (e(t) = 0). La única alteración de la periodicidad está dada por la
variación en la separación de los impulsos de excitación Ti, que en este caso es un número
entero aleatorio con distribución de probabilidad uniforme en el intervalo TMáx (en
muestras). Se puede emplear los valores deseados de TMáx pero se recomienda hasta un
MATERIALES Y MÉTODOS
34
25%, este límite superior se fija en correspondencia con (Medan, et al., 1991) donde se
plantean límites razonables de hasta un 25% de jitter en voces patológicas.
2.3.2 Shimmer
En estas señales se genera el factor que gobierna la amplitud de los impulsos de excitación
como ai=1+Δai, siendo Δai un número real en el intervalo ±ΔaMáx y teniéndose una
amplitud promedio unitaria. Al igual que en el caso de jitter, se puede emplear varios
valores diferentes de ΔaMáx. Como los límites reportados de shimmer están alrededor del
doble de los de jitter (límites de un 50% según (Titze, 1995) se decidió introducir las
perturbaciones de shimmer de forma que los porcentajes de ΔaMáx sean, con relación a la
unidad, el doble de los empleados en el caso de jitter. De esta forma los valores de ΔaMáx
recomendados son de 0 a 50%. El resto de las perturbaciones son suprimidas (ΔTi=0, y
e(t)=0).
2.3.3 Ruido
En este caso una señal s(t) “limpia” obtenida para amplitud constante ai=1 (ai=0) y
separación también constante e igual a 0T (Ti = 0), es contaminada con un ruido blanco
Gaussiano e(t) tal que la relación entre las energías (varianzas) de la señal (s2) y el ruido
(e2) (SNR) produzca un valor dado. Esto se logra manipulando la amplitud de una
realización de ruido blanco e(t) con varianza unitaria para obtener el valor de SNR deseado.
La expresión que relaciona ambas varianzas para una SNR (en dB) dada es:
(2.10)
Los valores de SNR se introducen por el usuario pero se recomienda una SNR desde 30db
hasta la más distorsionada con 2dB. Estos valores de SNR se han seleccionado de tal
manera que la mayor perturbación (SNR=2dB) no supere la energía de la señal periódica,
)/(10(SNR/10)2
s
2
e
MATERIALES Y MÉTODOS
35
pues según (Titze, 1995) esta última debe ser mayor que la energía de las perturbaciones en
señales hasta tipo 2 (no caóticas). El rango típico de SNR encontrado en la voz de 15 a 30
dB según (Murphy & Yegnanarayana, 1999).
2.3.4 Jitter y Ruido
En estas señales el factor ai, que involucra la variabilidad de la amplitud en el tren de
impulsos en la ecuación (1.6), se fija a la unidad (ai=1), y se les introduce el término
correspondiente al ruido e(t) (igual a solo ruido). La alteración de la periodicidad está dada
por el ruido y la variación en la separación de los impulsos de excitación ΔTi que al igual
que en sólo jitter es un número entero aleatorio con distribución de probabilidad uniforme
en el intervalo ±ΔTMáx (en muestras). Se puede emplear los valores deseados de ΔTMáx pero
se recomienda hasta un 25% (Medan, et al., 1991) donde se plantean límites razonables de
hasta un 25% de jitter en voces patológicas.
2.3.5 Shimmer y Ruido
En esta señal al igual que sólo shimmer se genera el factor que gobierna la amplitud de los
impulsos de excitación como ai=1+Δai, siendo Δai un número real en el intervalo ±ΔaMáx y
teniéndose una amplitud promedio unitaria. Al igual que en el caso de Shimmer, se puede
emplear varios valores diferentes de ΔaMáx. De esta forma los valores de ΔaMáx
recomendados son de 0 a 50%. El ruido se comporta igual que solo ruido (e(t)) El resto de
las perturbaciones es suprimido (ΔTi=0).
2.3.6 Perturbaciones combinadas
En este último tipo de señales, todas las alteraciones de la periodicidad contempladas
anteriormente fueron introducidas simultáneamente, en los mismos niveles que en los casos
de sólo “jitter”, sólo “shimmer”, y sólo ruido. Las señales se combinan introduciendo
niveles equivalentes de las perturbaciones individuales (n-ésimo nivel de jitter con n-ésimo
nivel de shimmer con n-ésimo nivel de ruido). De esta forma se obtienen señales con las
tres perturbaciones.
MATERIALES Y MÉTODOS
36
2.4. Diseño de la interfaz de Usuario
2.4.1 Generalidades
El término Interfaz Gráfica de Usuario GUI del inglés (Graphical User Interface) se utiliza
para llamar al conjunto de elementos visuales relacionados entre sí, que brinda un sistema o
programa para que el usuario interactúe con él (www.mathworks.com, 2004). El estudio y
desarrollo del diseño de una interfaz requiere de un trabajo donde están inmersas viarias
disciplinas en función a un mismo objetivo: cubrir la necesidad del hombre de transmitir y
comunicar, en este caso, a través de un medio virtual. Las disciplinas que intervienen
pueden variar pero las que se mantienen de alguna manera constante son: la ingeniería, la
programación y el diseño. Una interfaz gráfica, de forma general, debe ser básicamente:
Sencilla. Los elementos están para apoyar, ayudar y guiar, no para confundir, hay que
evitar la saturación y colocación innecesaria de los mismos.
Clara. La información debe ser fácilmente localizable, es decir, debe estar organizada
ya sea de manera lógica, jerárquica o temática.
Predecible. A acciones iguales, resultados iguales.
Flexible. Pensar en botones que puedan modificar textos, realizar cambios en algunas
secciones según convenga, etc.
Consistente. Aunque se realicen cambios en la programación, la representación
gráfica de las funciones e imágenes debe permanecer igual.
Intuitiva. El usuario se siente más seguro en una aplicación en la que no tenga que
adivinar ni pensar como ejecutar acciones.
Coherente. Tanto texto como gráficos, colores y demás elementos utilizados
deben corresponder al contenido de la aplicación. Apoyados generalmente por una
construcción de palabras, frases y elementos visuales (González, 2004).
MATERIALES Y MÉTODOS
37
2.4.2 Uso de Matlab para la construccion de la interfaz de usuario de
Vowel_Synth
Matlab, cuyo nombre proviene del inglés (MATrix LABoratory) es un software matemático
que tiene un lenguaje de programación propio (Lenguaje M) y es multiplataforma (Unix,
Windows y Apple Mac Os X). Creado en 1984 por Cleve Moler con la idea de crear
paquetes de subrutinas escritas en Fortran (del inglés Formula Translating System), un
lenguaje orientado al cálculo numérico, diseñado en sus inicios para las computadoras IBM
y usado en aplicaciones científicas y de ingeniería, se puede destacar que es el más antiguo
de los lenguajes de alto nivel (Inc., 2005)
El lenguaje de programación M se creó en 1970 proporcionando una acceso sencillo al
software de matrices LINPACK (del inglés Linear System Package) y EISPACK (del inglés
Eigen System Package) sin tener que hacer uso del lenguaje Fortran. Ya en el año 2004 se
apreciaba que Matlab era usado por aproximadamente más de un millón de personas, tanto
académicos como empresarios.
Dentro de sus principales funciones se encuentran:
Manipulación de matrices.
Representación de datos y funciones.
Implementación de algoritmos.
Creación de interfaces de usuario (GUI).
Comunicación con programas en otros lenguajes y con otros dispositivos Hardware.
Además, posee herramientas adicionales como el Simulink (Plataforma de simulación
multidominio) y el Editor de interfaces de usuario (GUI).
El uso del Matlab ha posibilitado el desarrollo en áreas de investigación relacionadas con
procesamiento digital de señales; ya sea audio, imágenes o video, debido a la gran
diversidad de funciones y herramientas que presenta destinadas para ese fin. Posee una
ayuda al usuario con numerosos ejemplos que, hace posible a un usuario de menor
MATERIALES Y MÉTODOS
38
experiencia realizar los algoritmos, funciones y herramientas en un intervalo corto de
tiempo dependiendo de la complejidad del problema al que se enfrente
(www.mathworks.com, 2004).
Una de las herramientas que posee Matlab es el Editor de Interfaces de Usuario GUIDE
(del inglés Graphical User Interface Development Environment), la cual presenta
características que posibilitan el desarrollo de interfaces gráficas de usuario de manera
sencilla e intuitiva. Para realizar la construcción de un GUI se utiliza el Editor de Diseño
del GUIDE que permite de manera gráfica seleccionar y configurar los elementos y los
componentes del GUI que se desea desarrollar. Los componentes en el GUIDE más
utilizados dentro del área de diseño son:
Push button o botones de presión son los encargados de generar una acción cuando se
le hace clic encima de ellos.
Slider o barra de desplazamiento, acepta valores de entrada de posición dentro de un
rango especificado que son establecidos moviendo la barra deslizante. La
localización de la barra deslizante indica la localización que es el valor que tomará
la variable asociada al elemento.
Check Box o cajas verificación, pueden generar una acción una vez que se activen e
indican su estado de verificado o no verificado o sea en alto o en bajo. Las cajas
verificadoras son útiles para proporcionar opciones independientes al usuario, por
ejemplo, cuando se tienen los textos de una imagen la opción de ser mostrados o no
puede estar asociada a un elemento de este tipo.
Radio Button o botón circular, son similares a los check boxes o botones de chequeo
con la diferencia de que están relacionados entre sí de manera que, si uno está
seleccionado el otro por definición esta deseleccionado.
Edit Text o texto editable, son campos que le permiten a los usuarios insertar o
modificar cadenas de caracteres. Es importante destacar que este objeto manipula
cadenas de caracteres por lo tanto cuando se insertan números para poder ser usados
deben convertirse a sus equivalentes numéricos.
Static Text o textos estáticos, es un objeto que permite mostrar líneas de texto que a
diferencia del Edit Text se muestran fijas y no pueden ser modificadas por el
MATERIALES Y MÉTODOS
39
usuario. Este tipo de objeto puede ser usado para etiquetar controles, proporciona
las direcciones al usuario, o indica valores resultantes de algún cálculo.
Pop-Up menú o menú desplegable, este objeto despliega una lista de opciones.
Axes, permiten al GUI desplegar gráficos o imágenes. Tienen propiedades que
pueden ser modificadas en función de los requerimientos de la aplicación.
Panel o tablero, se usa para agrupar elementos del GUI en grupos según las funciones
que realicen o a gusto del programador, lo cual hace más amigable el diseño (Inc.,
2005).
La Figura 2.7 muestra la herramienta GUIDE inicializada lista para comenzar un diseño.
Figura 2.7 Herramienta GUIDE lista para comenzar el diseño.
Una de las bondades que presenta el desarrollo de un GUI utilizando Matlab es la
interactividad que presenta con el desarrollador y el amigable lenguaje de programación,
por otro lado la propia herramienta genera de forma automática el código en un archivo *.m
asociado a cada uno de los elementos, dentro de este fichero se reservan espacios
específicos donde el programador introduce segmentos de código correspondiente a las
instrucciones específicas para cada elemento que compone la herramienta en desarrollo.
Cuando se desarrolla un GUI queda almacenado en dos archivos
MATERIALES Y MÉTODOS
40
Un archivo con extensión *.m, llamado M-File (archivo *.m), mencionado
anteriormente, el cual contiene el código que corresponde a cada elemento del GUI.
Un archivo con extensión *.fig, llamado FIG-File (archivo *.fig), el cual contiene la
estructura gráfica del diseño y de la configuración de los componentes del GUI.
De modo que cuando se trabaja en la componente gráfica, es almacenado en el archivo *.fig
y cuando se modifica el código de programación de los elementos del GUI es almacenado
en el archivo *.m (Inc., 2005).
Concluciones Parciales
En este capítulo se ha descrito de forma detallada los diferentes parámetros para la síntesis
de los vocales. La función glotal es representada por los modelos B de Rosenberg y R++.
La función de trasferencia del tracto es simulada utilizando la variante de suma de cosenos
y el filtro autorregresivo todo polos. A las señales simuladas es posible introducirles
perturbaciones de la periodicidad tanto de frecuencia, amplitud y ruido aditivo para
representar las voces patológicas. La facilidad para el desarrollo de interfaces gráficas de
Matlab fue escogida para la implementación del sistema propuesto.
RESULTADOS Y DISCUSION
41
3. RESULTADOS Y DISCUSION
En este capítulo se dará una ayuda al usuario del funcionamiento de la aplicación. Además
se brinda información acerca de los requerimientos mínimos del sistema para la utilización
de Vowel_Synth. Una comparación con respecto a los sistemas comerciales descritos en las
secciones 1.3.1 y 1.3.2 es elaborada teniendo en cuenta aspectos como sencillez para los
usuarios finales del sistema, síntesis de patologías, manipulación de las diferentes
componentes del modelo de producción de voz, entre otros.
3.1. Requerimientos de Vowel_Synth.
Para el correcto funcionamiento de Vowel_Synth se deben tener en cuenta los siguientes
requerimientos:
1. Dependencias: Dado el sistema Vowel_Synth es desarrollado en Matlab es necesario
Matlab Runtime Compiler (MRC). Esta herramienta es necesaria para la
interpretación de los ejecutables realizados en Matlab. La desventaja es que este
producto debe adquirirse de forma separada a la instalación de Matlab. De no tener
el MRC debe instalar Matlab y ejecutar Vowel_Synth directamente desde la ventana
de comandos.
2. Matlab: versión 7.4 en adelante.
3. Sistema Operativo:
a. Windows XP/Vista/7/8 versiones 32 y 64 bits.
b. Plataformas Unix, Linux.
c. Mac-OS.
Capítulo 3
RESULTADOS Y DISCUSION
42
4. Requerimientos mínimos de hardware:
a. Procesador: Intel Pentium o Celeron. 2.66 GHz.
b. Almacenamiento: 2,20 Gb de espacio libre en el disco duro (incluye el
Matlab).
c. RAM: 256 Mb de memoria RAM.
5. Configuración de hardware recomendada:
a. Intel Pentium, Celeron, Intel Pentium Dual Core o Intel Pentium Core Dos
Duo en adelante.
b. 3Gb de espacio libre en el disco duro (incluye Matlab).
c. RAM: Memoria RAM de 1 Gb o superior.
3.2. Vowel_Synth
A continuación se muestra el ejemplo de la herramienta Vowel_Synth (síntesis de vocales)
propiamente seleccionado para ser asociado a la herramienta para la que fue desarrollada.
Se puede apreciar que la herramienta posee una interfaz amigable y sencilla. Este es el
principal resultado de la investigación, diseñar la herramienta Vowel_Synth que sea capaz
de sintetizar vocales sostenidas para permitirles a los usuarios realizar estudios realcionados
con la señal de voz.
La herramienta cuenta con seis ventanas con las cuales se puede configurar y visualizar las
diferentes partes del modelo de producción de la voz Fuente-Filtro, la primera ventana es la
presentación (Figura 3.1), para acceder a la configuración pulsamos en el botón siguiente y
se visualiza el panel de configuración el cual muestra el modelo Fuente-Filtro según se
observa en la Figura 3.2.
RESULTADOS Y DISCUSION
43
Figura 3.1 Ventana de bienvenida de Vowel_Synth.
Figura 3.2 Ventana de configuración del modelo Fuente-Filtro de Vowel_Synth.
A continuación se presenta la descripción de las diferentes componentes de la ventana de
configuración del modelo Fuente-Filtro según se muestra en la Figura 3.2
1. Botón glotis:
Al presionar ‘1’ se muestra la ventana de configuración de la glotis.
2. Botón filtro:
Al presionar ´2´ se muestra la ventana de configuración del filtro del tracto vocal.
3. Botón ruido:
Al presionar ´3´ se muestra la ventana de configuración del ruido de la señal a
sintetizar.
4. Botón inicio:
Al presionar ´4´ se retornará a la ventana de presentación.
5. Botón visualizar:
RESULTADOS Y DISCUSION
44
Al presionar ´5´ se abrirá a la ventana de visualización.
6. Botón cerrar:
Al presionar ´6´ se cerrará a la ventana configuración y se retorna a la presentación.
3.2.1 Configuración de la señal de la Glotis
Al presionar el botón correspondiente a la función glotal del modelo fuente-filtro según la
Figura 3.2 la ventana de configuración de la fuente g(t) es mostrada (ver Figura 3.3).
Figura 3.3 Ventana de configuración de la función glotal g(t) e introducción de perturbaciones de la
periodicidad.
Esta ventana está dividida en cuatro secciones. En la parte superior izquierda el usuario
puede escoger la función glotal que desea para la síntesis, a la derecha de esta sección
aparece la sección de visualización de la g(t) escogida. Las secciones de introducción de las
perturbaciones de frecuencia y amplitud se encuentran en la porción inferior de la ventana
de la Figura 3.3. Las funcionalidades incluidas en la configuración de la señal de excitación
glotal son:
RESULTADOS Y DISCUSION
45
1. Menú glotis:
En este menú se le brinda al usuario la posibilidad de generar la señal glotal
por dos modelos muy usados como son el de Rosenberg (Rosenberg, 1971)
y el R++ una alternativa más eficiente computacionalmente del modelo de
Liljencrants-Fant (Fant, et al., 1985) (Veldhuis, 1998), el modelo escogido
se sintetizará y se visualizará en ´4´.
2. Frecuencia fundamental (F0):
En este control se introduce la frecuencia fundamental F0 en Hz. El valor por
defecto es de 150 Hz pero el usuario puede modificar este valor.
3. Tiempo de sintetizado:
En este control se introduce el tiempo en segundos (s) de la vocal
sintetizada. El tiempo de síntesis por defecto es de 1 segundo pero el usuario
puede variar este valor. Es necesario que para generar la señal glotal (´1´) se
hayan introducido los controles ´2´ y ´3´.
4. Visualización de la señal glotal:
Este gráfico muestra al usuario la forma de onda de la señal glotal escogida.
5. Introducción de jitter:
Al marcarse esta opción es posible que el usuario introduzca valores de jitter
a la señal. Los controles que permiten la introducción de los valores de jitter
son activados. El jitter introducido puede ser un valor numérico determinado
o un intervalo establecido.
6. Introducción de shimmer:
Al marcarse esta opción es posible que el usuario introduzca valores de
shimmer a la señal. Los controles que permiten la introducción de los
valores de shimmer son activados. El shimmer introducido puede ser un
valor numérico determinado o un intervalo establecido.
7. Grupo jitter:
Si ´5´ está activo se activará ´7´ para introducir el jitter, este valor se
introduce en porciento.
RESULTADOS Y DISCUSION
46
8. Una señal (jitter):
Al activar este control el usuario sólo podrá sintetizar una señal con el
porciento de jitter especificado en ´7´.
9. Varias señales (jitter):
Al activar este control el usuario podrá sintetizar varias señales con el
porciento de jitter desde el valor mínimo especificado en ´10´ con paso ´12´
y valor máximo ´11´.
10. Mínimo jitter:
Si ´9´ está activo en este control se introduce el mínimo valor de jitter
requerido para la síntesis.
11. Máximo jitter:
Si ´9´ está activo en este control se introduce el máximo valor de jitter
requerido para la síntesis.
12. Paso jitter:
Si ´9´ está activo en este control se introduce el paso de jitter requerido para
la síntesis.
13. Una señal shimmer:
Al activar este control el usuario solo podrá sintetizar una señal con el
porciento de shimmer especificado en ´14´.
14. Valor del shimmer:
Si ´13´ está activo se activará ´14´ para introducir el shimmer, este valor se
introduce en porciento.
15. Varias señales shimmer:
Al activar este control el usuario solo podrá sintetizar varias señales. Los
valores de shimmer varían desde el valor mínimo especificado en ´16´ con
paso ´18´ hasta valor máximo especificado en ´17´.
16. Mínimo shimmer:
Si ´15´ está activo en este control se introduce el mínimo valor de shimmer
requerido para la síntesis.
17. Máximo shimmer:
RESULTADOS Y DISCUSION
47
Si ´15´ está activo en este control se introduce el máximo valor de Shimmer
requerido para la síntesis.
18. Paso shimmer:
Si ´15´ está activo en este control se introduce el paso de shimmer requerido
para la síntesis.
19. Botón Aceptar:
Después de configurar los controles requeridos se procede a ´19´ para
guardar la configuración actual y continuar conformando los demás bloques
del modelo fuente-filtro. A continuación se cierra la ventana glotis y se
muestra nuevamente la ventana de configuración general (Figura 3.2).
20. Botón Cerrar:
Al hacer clic en este botón se cierra la ventana glotis y se muestra
nuevamente la ventana de configuración general (Figura 3.2).
21. Botón inicio:
Al presionar ´21´ se cierra esta ventana y muestra la ventana principal de
Vowel_Synth (Figura 3.1).
Si el usuario desea introducir combinaciones de perturbaciones de jitter y shimmer debe
activar en paralelo las opciones ‘5’ y ‘6’e introducir los valores deseados en cada caso.
3.2.2 Configuración de Tracto Vocal
Al presionar el botón correspondiente a la función de transferencia del tracto vocal del
modelo fuente-filtro según muestra la Figura 3.2 la ventana de configuración de la fuente
g(t) es mostrada (ver Figura 3.3).
RESULTADOS Y DISCUSION
48
Figura 3.4 Ventana de configuración de la función de transferencia del tracto vocal h(t).
Esta ventana está dividida en tres secciones. En la parte superior izquierda el usuario puede
escoger la función de transferencia del tracto vocal que desea para la síntesis a la derecha
de esta sección aparece la sección de visualización de la h(t) escogida. Las secciones de
introducción de los parámetros requeridos se muestran en la porción inferior de la ventana
según se muestra en la Figura 3.4. Las funcionalidades incluidas en la configuración de la
señal de transferencia del tracto vocal h(t) son:
1. Suma de sinusoides:
Al activar la opción ´1´ la función de transferencia del tracto vocal es
establecida como la suma de funciones coseno. Las frecuencias de
resonancias o formantes, amplitudes de estos y ancho de bandas de cada uno
son previamente introducidos en ´5´, este diseño de filtro se rige por la
ecuación mostrada en ´2´.
2. Ecuación del filtro suma de sinusoides:
En ´2´ solo se muestra la ecuación de dicho filtro.
3. Filtro autorregresivo todo polo (AR).
RESULTADOS Y DISCUSION
49
Al activar la opción ´3´ el filtro a usar es un filtro FIR al cual en ´4´ se le
introducen los polos del mismo. Los coeficientes del filtro pueden ser
estimados utilizando análisis de predicción lineal (LPC).
4. Coeficientes del filtro:
En este control se introducen los coeficientes del filtro (AR). Los valores por
defecto de los coeficientes del filtro se muestran al seleccionar ‘3’ el usuario
si desea puede variar estos valores. Los coeficientes mostrados son
obtenidos a partir de la extracción de coeficientes LPC a una señal real. La
cantidad M de coeficientes extraídos es 22 según se corresponde con la
frecuencia de muestreo utilizada en Vowel_Synth. El usuario tiene la
facilidad de introducir los coeficientes deseados. Para ello debe hacer extraer
los coeficientes sin el uso de Vowel_Synth y luego introducirlos en ‘4’.
5. Datos del filtro suma de sinusoides.
En ´5´se introducen las frecuencias de resonancias o formantes, amplitudes
de estos y ancho de bandas de cada formante, estos datos son muy
importantes debido que son los que deciden la vocal a sintetizar. Los valores
por defecto son los publicados en (Rabiner & Juang, 1993) que se
corresponden con la vocal ‘a’.
6. Visualización:
Aquí se visualiza el filtro suma de cosenos una vez generado.
7. Botón inicio:
Al presionar ´7´ se cierra esta ventana y se retornará a la ventana de
presentación.
8. Botón Aceptar:
Después de configurar la los controles requeridos se procede a ´8´ para
guardarlos y seguir configurando las demás partes del modelo fuente-filtro,
se cierra la ventana filtro y se muestra nuevamente la configuración.
9. Botón Cerrar:
Al hacer clic en este botón se cierra la ventana filtro y se muestra
nuevamente la ventana de configuración general (Figura 3.2).
RESULTADOS Y DISCUSION
50
3.2.3 Configuración de Ruido
Al presionar el botón correspondiente a la componente de ruido aleatorio del modelo
fuente-filtro según muestra la Figura 3.2 la ventana de configuración de ruido e(t) es
mostrada (ver Figura 3.5).
Figura 3.5 Ventana de configuración de la componente de ruido aleatorio e(t)
Esta ventana está dividida en cuatro secciones. En la parte superior el usuario puede
escoger entre sintetizar una señal con ruido o limpia. De no marcar la opción anterior los
controles inferiores se activan y el usuario puede introducir los parámetros deseados según
se puede observar en la Figura 3.5. Las funcionalidades incluidas en la configuración del
ruido aleatorio e(t) son:
1. Uso del ruido:
Si el usuario desea tener la señal limpia de ruido solo debe activar ´1´ y se
desactivan todos los demás controles, si no, lo desactiva y procede a la
configuración del mismo. Al abrir esta ventana este control está activo.
RESULTADOS Y DISCUSION
51
2. Relación Señal a Ruido (SNR) :
Si ´1´ está inactivo entonces se introduce en ´2´ el valor de relación señal a
ruido deseado (SNR) para la síntesis.
3. Ruido filtrado:
El ruido es añadido de dos formas, filtrado o blanco, para configurarlo
filtrado se activa el control ´3´.
4. Ruido blanco:
El ruido es añadido de dos formas, filtrado o blanco, para configurarlo
blanco se activa el control ´4´.
5. Ruido aditivo aleatorio:
Si ´1´ está inactivo, se escogió ´3´ o ´4´ entonces se activa ´5´ para usar
ruido aditivo aleatorio.
6. Ruido aditivo proporcional:
Si ´1´ está inactivo, se escogió ´3´ o ´4´ entonces se activa ´6´ para usar
ruido aditivo proporcional, para el uso de este ruido es necesario usar un
nivel determinado de shimmer debido a que este ruido es proporcional a la
amplitud de los pulsos glotales.
7. Botón Cerrar:
Al hacer clic en este botón se cierra la ventana ruido y se muestra
nuevamente la ventana de configuración general (Figura 3.2)
8. Botón inicio:
Al presionar ´8´ se cierra esta ventana y muestra la ventana principal de
Vowel_Synth (Figura 3.1).
9. Botón Aceptar:
Después de configurar los parámetros deseados por el usuario se procede a
´9´ para guardarlos y continuar conformando los bloques restantes del
modelo fuente-filtro, se cierra la ventana ruido y se muestra nuevamente la
ventana de configuración general (Figura 3.2).
RESULTADOS Y DISCUSION
52
3.2.4 Síntesis y Visualización
Después de establecer los parámetros deseados para la síntesis y guardar sus valores como
se explica en las secciones 3.2.1, 3.2.2 y 3.2.3 es necesario visualizar el resultado final y
guardar las señales sintetizadas. Para mostrar la ventana de síntesis y visualización debe
utilizarse el botón ‘5’ de la ventana de configuración general mostrada en la Figura 3.2.
Figura 3.6 Ventana de visualización y manipulación de la señales sintetizadas en Vowel_Synth.
Esta ventana está dividida en cuatro secciones. En la parte izquierda de la ventana se
encuentras los controles para la manipulación de la señal sintetizada así como información
de la misma. Las funcionalidades incluidas en la ventana de síntesis y visualización son:
1. Botón visualizar:
Al ejecutarse esta acción se sintetiza la señal según los parámetros establecidos
anteriormente y posteriormente se muestra en el área de visualización ‘12’.
2. Botón guardar:
Con el objetivo de crear una base de datos de vocales normales y patológicas
sintetizadas una opción para guardar dichas señales es incluida en Vowel_Synth.
Esta acción se realiza mediante ´2´ en el panel de Acciones (ver Figura 3.6) y se
simboliza con un disco (Floppy) para asociarlo, una vez ejecutada la acción se
RESULTADOS Y DISCUSION
53
abrirá una ventana donde le introducimos la dirección y el nombre y esta señal se
guarda en formato *.WAV.
3. Botón escuchar:
Al ejecutar ´3´ en el panel de acciones (ver Figura 3.6.) la voz sintetizada y
visualizada en ‘12’ es reproducida. De esta forma el usuario puede tener una idea
auditiva de la calidad de la síntesis y así modificar los parámetros si la señal no
tiene la calidad requerida. Esto es una forma de realimentación del sistema
Vowel_Synth.
4. Aumentar zoom:
Mediante esta opción es posible realizar un acercamiento de la señal. De esta
manera el usuario puede visualizar con mejor facilidad los detalles de la misma.
Vowel_Synth posee acceso a esta acción mediante ´4´. Para aumentar una porción
de la señal, la función de zoom creará un rectángulo que delimitará la región
deseada por el usuario. También, se puede hacer uso del botón central del ratón, con
la cual se puede aumentar y disminuir el zoom si está activa la acción.
5. Disminuir zoom:
Esta acción es muy importante y se utiliza simultáneamente con ´4´, al presionar ´5´
y hacer clic sobre ´12´ se disminuye el zoom por pasos.
6. Desplazamiento:
Esta acción sólo se realiza mediante ´6´ (ver Figura 3.6) y el usuario puede
identificarla con una mano para asociarlo con la acción de sujetar la señal y
desplazarla. Una vez ejecutada esta acción, el puntero se convierte en una mano con
la cual se puede controlar el desplazamiento en la dirección que el usuario necesite.
7. Cursor:
Luego de usar el ajuste del zoom o mover la señal, una herramienta muy útil es el
cursor donde se activará en el botón ´7´ (ver Figura 3.6.), para hacer uso de ello,
solo después de activarlo, ejecutamos la acción sobre el lugar de interés de la señal
y esta utilidad dará las coordenadas X (tiempo) e Y(amplitud).
8. Ayuda:
El botón ayuda (ver Figura 3.6.) muestra la ayuda de Vowel_Synth.
RESULTADOS Y DISCUSION
54
9. Botón Acerca de…:
Al presionar este botón se le mostrará al usuario una breve información sobre
Vowel_Synth.
10. Panel de información de la señal:
Este panel es el encargado de mostrar la información de interés sobre la señal
sintetizada ya que muestra la frecuencia fundamental (F0), el tiempo de sintetizado,
la frecuencia de muestreo (Fs), el porciento de jitter usado, el porciento de shimmer
usado y la relación señal a ruido (SNR).
11. Panel desplegable:
Para acceder a este panel el usuario debe configurar el sistema para sintetizar varias
señales, en este panel el usuario podrá desplegar los menús y escoger los valores de
perturbaciones establecidos durante la configuración del modelo fuente-filtro (ver
Figura 3.6) para así ver simultáneamente las señales sintetizadas.
12. Área de visualización:
En esta área es donde se visualiza la señal sintetizada.
13. Botón inicio:
Al presionar ´13´ se cierra la ventana de síntesis y visualización y se muestra la
ventana principal de Vowel_Synth (Figura 3.1).
14. Botón configuración:
Al presionar ´14´ se muestra la ventana de configuración general (Figura 3.2)
15. Botón aceptar:
Al presionar ´15´ se cierra la ventana de síntesis y visualización.
3.3. Ventajas y Limitaciones de Vowel_Synth
A continuación una comparación con respecto a los sistemas comerciales descritos en las
secciones 1.3.1 y 1.3.2 es elaborada teniendo en cuenta aspectos como sencillez para los
usuarios finales del sistema, síntesis de patologías, manipulación de las diferentes
componentes del modelo de producción de voz entre otros.
Tabla 3.1 muestra un resumen de las principales características de Vowel_Synth y cómo se
comporta este sistema con respecto a otros sistemas de síntesis propuestos, según los
RESULTADOS Y DISCUSION
55
objetivos planteados en este trabajo. En esta tabla se puede observar como el sistema
propuesto tiene un mayor control sobre los parámetros específicos de las componentes
modelo fuente-filtro. En los sistemas que implementan la variante de Klatt (tres últimos en
la Tabla 3.1) el usuario puede elegir entre los diferentes modelos de la función glotal g(t)
pero no tiene acceso a modificar los parámetros particulares de cada modelo.
Tabla 3.1 Comparación del sistema propuesto Vowel_Synth con sistemas existentes para la síntesis.
Parm: Parámetros, Apl: Tipo de aplicación, MP: Multiplataforma. Simp: Simplicidad. Fr: Ruido de
fricción.
Parámetros g(t) Parm
g(t)
h(t) Parm
h(t)
jitter shimmer Ruido
SNR
Interfaz
gráfica
IF
Simp
de IF
Apl M
P
Programas
Vowel_Synth X X X X X X X X X L, M X
Praat X - X X X X X - L,M X
KLSyn88 X X X X - - Fr ms dos - L -
KPE80 X - X - - Fr X - L -
WinSnoori X - X X - - Fr X X L -
El Praat es un sistema muy potente no sólo para aplicaciones lingüísticas sino también para
aplicaciones médicas. La desventaja de este sistema está en que el mismo es orientado a
objetos y scripts y es necesario una familiarización previa por su complejidad.
Particularmente la síntesis de señales con jitter, shimmer y ruido no es posible realizarla
con solo utilizar el VowelEditor como se describe en la sección 1.3.1.
Es posible deducir de la información de la Tabla 3.1 que la mayoría de los sistemas que se
tuvieron en cuenta en este trabajo están orientados a aplicaciones lingüísticas o de
conversión de texto a voz. La carencia de control sobre las diferentes perturbaciones de la
periodicidad no posibilita el estudio de la influencia de las mismas en el análisis de las
voces patológicas.
El sistema propuesto Vowel_Synth presenta una interfaz gráfica amena para los usuarios
finales, profesores, investigadores y estudiantes asociados al CEETI. Es posible con el
mismo controlar detalladamente cada uno de los módulos del modelo de producción de voz
RESULTADOS Y DISCUSION
56
fuente filtro. La principal desventaja de Vowel_Synth radica en que no puede ser ejecutado
de forma independiente, sino que depende de que las estaciones de trabajo tengan instalado
el intérprete de código Matlab requerido o el propio Matlab.
Conlusiones Parciales
Los requerimientos necesarios para utilización de Vowel_Synth son descritos en este
capítulo, una detallada descripción del sistema es brindada y las ventajas y limitaciones de
Vowel_Synth con respecto a otros sistemas son analizadas. Se puede concluir que
Vowel_Synth brinda una interfaz amena para los usuarios finales de la aplicación y los
parámetros del modelo fuente filtro son fácilmente manipulados dentro del ambiente
gráfico del sistema propuesto.
CONCLUSIONES Y RECOMENDACIONES 57
CONCLUSIONES Y RECOMENDACIONES
Conclusiones
En este trabajo se ha encontrado solución a varios problemas que afectan a los
sintetizadores de voz en la actualidad. Estos aportes se centran alrededor de los objetivos
específicos planteados en la introducción:
1. Con respecto a ofrecer al usuario la posibilidad de introducir variaciones en la forma
de onda que simulen patologías de la voz:
Se insertó la posibilidad de que el usuario escoja si desea sintetizar señales
normales o la introducción de patologías con la inserción de jitter, shimmer y
ruido.
2. En cuanto a ofrecer al usuario la posibilidad de manipular los diferentes elementos
del modelo fuente-filtro:
El usuario podrá mostrar de manera interactiva los diferentes tipos de onda de la
glotis (fuente) y escoger el modelo del filtro que desea generar para lograr la
síntesis.
3. Con respecto a tratar que la aplicación sea lo más amena posible a los usuarios
(profesores, investigadores y estudiantes).
La herramienta se diseñó de modo que la ventana de configuración muestre las
partes del modelo de producción de voz fuente-filtro.
Se personalizaron los botones con iconos que dan idea al usuario de la función
que realiza
Conclusiones y
Recomendaciones
CONCLUSIONES Y RECOMENDACIONES 58
Este conjunto de resultados permite afirmar que con este trabajo se pone en manos de
investigadores, profesores y estudiantes una herramienta que permite la manipulación, la
visualización de las señales de voz y que el trabajo tenga un gran impacto tanto para la
docencia como la investigación.
Recomendaciones
1 Implementar otros modelo de síntesis de la funcion de la fuente glotal g(t)
2 Introducir otros tipos de ruidos aditivos según se propone en (O´leidhin & Murphy,
2003).
3 Implementar el sistema en etros lenguajes de programación como C, C++, Delphi
para crear un programa independiente de MatLab
REFERENCIAS BIBLIOGRÁFICAS 59
REFERENCIAS BIBLIOGRÁFICAS
1. Boersma, P. & Weenink, D., 2001. Praat: Doing Fonetic by Computer. Glot
International , 5 (9-10), pp. 341-345.
2. Fant, G., Liljencrants, J. & Lin, Q., 1985. A four parameter model of the glottal flow.
Speech Transmission Laboratory Quarterly Progress Status Report.
3. Ferrer Riesgo, C. A., 2005. Cuantificación de Parámetros de la Voz para
Aplicaciones Médicas. Trabajo de diploma aspirante a Doctor en Ciencias
Técnicas.
4. González, L., 2004. El diseño de interfaz gráfica de usuario para publicaciones
digitales. Publicaciones Digitales, DGSCA, UNAM., Volumen 5.
5. Hertz, D., 1986. Time delay estimation by combining afficient algorithms and
generalized cross-correlation methods. IEEE Transaction on Acoustic Speech Signal
Processing.
6. Hillman, R. E., 1983. Characteristics of the glottal turbulent noise source. Journal of
the coustical Society of America, pp. 691-694..
7. Inc., T. M., 2005. MATLAB The Language of Technical Computing. Getting Started
with MATLAB. 2 ed. s.l.:MathWorks Inc..
8. Klatt, D. H., 1980. Software for a cascade/parallel formant synthesizer. Journal of the
Acoustic Society of America.
Referencias
Bibliográficas
REFERENCIAS BIBLIOGRÁFICAS 60
9. Klatt, D. H. & Klatt, L. C., 1990. Analysis, synthesis and perception of the voice
quality variations among female and male talkers. Journal of the Acoustical Society
of America, Volumen 87, pp. 820-857.
10. Laprie, Y., 2009. WinSnoori 1.34. Free Software for Speech Synthesis. [En línea]
Available at: www.cs.cmu.edu/afs/cs.cmu.edu/project/ai-
epository/ai/areas/speech/systems/klatt/0.html
[Último acceso: 14 Febrero 2013].
11. Malepati, H., 2010. Digital Media Processing: DSP Algotims Using C. Primera ed.
Burlington: Elsevier Science.
12. Markel, J. D. & Gray, A. H. J., 1976. Linear Prediction of Speech. s.l.:s.n.
13. Medan, Y., Yair, E. & Chazan, D., 1991. Super resolution pitch determination of
the signals. IEEE Transaction on Signal Processing, pp. 40-48.
14. Murphy, P. J. & Yegnanarayana, B., 1999. Robustness of group delay based
methodfor extraction of significant instants of exitation from speech signals.,,. IEEE
Transaction on Speech and Audio Processing, Volumen 7, pp. 609-619..
15. O´leidhin, E. & Murphy, P. J., 2003. Spectral tilt as a perturbation-free estimate of
noise levels in voice signals. Journal of Speech and hearing Research, Volumen 30,
pp. 529-538..
16. Parsa, V. & Jamieson, D. G., 1999. A comparison of high precision F0 extration
algorithms for sustained vowels. Journal of Speech and Hearing Research,
Volumen 42, pp. 112-126..
17. Podesba, R. & Sharma, D., 2013. Research methds in Linguistics. 1 ed. Cambridge:
Cambridge University Press.
18. Quatieri, T. F., 2002. Discrete-Time Speech Signal Processing. Massachusetts: s.n.
19. Rabiner, L. R. & Juang, B., 1993. Fundamentals of speech recognition.
s.l.:Englewood Cliffs, Prentice Hall.
20. Rosenberg, A. E., 1971. Effect of glottal pulse shape on the quality of natural
vowels. Journal of the Acoustical Society of America, Volumen 84, pp. 583-588..
61
21. Scicon R&D Inc, 1994-2013. SynthWorks. [En línea]
Available at: www.sciconrd.com/synthworks.aspx
[Último acceso: 1 2013].
22. Simpson, A., 2012. KPE80- A Klatt Synthesiser and Parameter Editor. [En línea]
Available at: www.enhance.phon.ucl.ac.uk/public/examples/copysyn/kpe/kpe.htm
23. Speech Research Lab, 2013. Synthesis of Speech. [En línea]
Available at: www.asel.udel.edu/speech/tutorials/synthesis/index.html
[Último acceso: 23 1 2013].
24. Steinecke, I. & Herzel, H., 1995. Bifurcations in an asymmetric vocal fold model.
Journal of the Acoustical Society of America, Volumen 97, pp. 1874-1884..
25. Titze I, R., 1980. Comments on the myoelastic-aerodinamic theroy of phonation.
Journal of Speech and hearing Research, Volumen 23, pp. 495-510..
26. Titze, I. R., 1995. Summary Statements. N. C. O. V. A. ed. IN SPEECH Workshop-
on acoustic voice analysis.: Iowa..
27. Titze, I. R. & Liang, H., 1993. Comparison of F0 extraction methods for high-
precision voice perturbations measurements. Journal of Speech and hearing
Research.
28. Tordera, Y. C. J., 2011. Lingüística computacional. Tratamientos del habla.
29. Torres, D., 2008. Evaluación de Algoritmos de Detección de Período Fundamental
para Voces Patológicas. Trabajo de diploma aspirante a licenciatura en Ciencias de
la Computación.
30. Torres, D., 2010. Reducción de la Influencia de las Perturbaciones de Amplitud en.
Tesis maestria.
31. Veldhuis, R., 1998. A computacionally efficient alternative for the Liljencrants-Fant
model and its perceptual evaluation. Journal of Acoustical Society of America,
Volumen 103 , pp. 566-571.