Full text
Yasmina Galve Pastor Diseño de herramientas de asistencia a la logopedia en una plataforma distribuida Proyecto Fin de Carrera Ingeniería de Telecomunicación Zaragoza, Julio 2012 Director: Dr. Antonio Miguel Artiaga
RESUMEN Las tecnologías del habla (TH) pueden suponer una herramienta muy poderosa a la hora de facilitar la vida cotidiana a aquellas personas que presentan alguna patología en su capacidad del habla. La utilización de estas tecnologías permite el desarrollo de herramientas que asistan a los profesionales de la logopedia en su labor de ayudar a personas con problemas de dicción. Sin embargo, el alto coste de las herramientas que existen en el mercado y además, la no existencia de herramientas en español, han impedido la utilización de estas tecnologías para este fin. El presente proyecto tiene como objetivo el diseño de una herramienta libre de asistencia a la logopedia, válida tanto para el español como para otros idiomas, y que pueda ser ejecutada en una plataforma distribuida, evitando problemas de incompatibilidad de sistemas operativos. La herramienta consiste en un editor de actividades que permita a los logopedas diseñar sus propias actividades sin necesidad de tener conocimientos técnicos. El editor es totalmente configurable con el fin de que pueda trabajar con el número máximo de patologías posible, adaptándolas a cada caso en particular. Se trabaja el procesado de la señal de voz mediante las técnicas tradicionales y se introducen técnicas que eliminan la influencia del pitch, la cual supone un problema cuando se trata voz de alta tonalidad como es el caso de la voz infantil. Se calcula la longitud del tracto vocal, la cual permite reducir la variabilidad de los formantes mediante su normalización. Se diseña un motor de simulación física, que transforma los parámetros de la señal de voz obtenidos en distintos tipos de movimiento de un objeto que el usuario final visualizará en la pantalla. Se introduce la posibilidad de añadir otras condiciones que influirán en el movimiento del objeto. De esta manera, los logopedas disponen de mayor flexibilidad en el diseño de las actividades y pueden variar el nivel de dificultad de las mismas. Por último, se diseña una interfaz gráfica que guíe a los logopedas en la configuración de actividades, proporcionándole numerosas opciones para configurar y variar. La configuración de las actividades se podrá guardar en un archivo XML para poder compartirla con otros profesionales o poder cargarla en el futuro.
AGRADECIMIENTOS Quiero aprovechar estas líneas para mostrar mi agradecimiento a todas aquellas personas que han colaborado y, de alguna manera, me han ayudado en la realización de este proyecto. En primer lugar quiero agradecer a mi director, Antonio Miguel Artiaga, la oportunidad de realizar este proyecto tan interesante, así como su dedicación y asesoramiento durante la duración del mismo. Al colegio Alborada por la disposición e interés mostrados. A mis compañeros y jefes de Circe quiero agradecer su apoyo y libertad concedida durante la última etapa del proyecto. A mis padres, Julia y Miguel, a quienes nunca podré agradecer lo suficiente su confianza y apoyo incondicional durante toda la carrera. Por último, a Carlos y a mis compañeros y amigos.
i ÍNDICE DE CONTENIDOS 1. Introducción ............................................................................................................. 1 1.1 Estado del arte ................................................................................................... 2 1.2 Definición de objetivos ...................................................................................... 2 1.3 Tareas realizadas ................................................................................................ 3 1.3.1 Documentación .......................................................................................... 3 1.3.2 Procesado de señal ..................................................................................... 4 1.3.3 Diseño del motor de simulación física ........................................................ 4 1.3.4 Diseño de la interfaz gráfica ....................................................................... 4 1.4 Tecnologías empleadas ...................................................................................... 4 1.5 Organización de la memoria .............................................................................. 5 2. Procesado de la señal de voz .................................................................................... 7 2.1 La Voz Infantil ......................................................................................................... 7 2.1.1 Interpretación de la voz .................................................................................. 7 2.2 Procesado de voz .................................................................................................... 8 2.2.1 Aparato fonador humano y modelo digital de producción de voz ................ 8 2.2.2 Pre-procesado ............................................................................................... 10 2.2.3 Estimación de energía ................................................................................... 11 2.2.4 Autocorrelación ............................................................................................. 12 2.2.5 Análisis de predicción lineal LPC .................................................................... 12 2.2.6 Estimación del Pitch ...................................................................................... 13 2.2.7 Estimación de Formantes .............................................................................. 14 2.2.8 Análisis Homomórfico ................................................................................... 15 3. Estimación robusta de Formantes y Estimación del Tracto Vocal ......................... 17 3.1 Estimación Robusta de Formantes ....................................................................... 17 3.1.1 Dificultad de la voz infantil ............................................................................ 17 3.1.2 Eliminación de la influencia del pitch ............................................................ 18 3.2 Estimación de la longitud del tracto vocal y normalización ................................. 20 3.2.1 Estimación de la longitud del tracto vocal .................................................... 20
ii 3.2.2 Normalización de Formantes ........................................................................ 21 4. Descripción de la Aplicación ................................................................................... 23 4.1 PreLingua 2 ........................................................................................................... 24 4.2 Estructura de la aplicación ............................................................................... 25 4.2.1 Bloque de procesado ................................................................................ 26 4.2.2 Motor de simulación física ....................................................................... 26 4.2 Interfaces de usuario ....................................................................................... 34 4.3 Estructura de clases Java ................................................................................. 36 4.3.2 Clase configuración ................................................................................... 38 4.3.4 Clases para el motor de simulación .......................................................... 40 4.4 Configuración de actividades ........................................................................... 41 4.4.1 Actividades de Pre-lenguaje .......................................................................... 41 4.4.2 Actividades de Vocalización .......................................................................... 45 5. Conclusiones y Líneas Futuras ................................................................................ 49 5.1 Conclusiones .................................................................................................... 49 5.2 Difusión del proyecto ....................................................................................... 50 5.3 Líneas futuras ................................................................................................... 51 ANEXO I. Análisis de predicción lineal LPC ..................................................................... 57 ANEXO II. Análisis Homomórfico .................................................................................... 63 ANEXO III. Modelo del Tracto Vocal ............................................................................... 67 ANEXO IV. Ejemplos de Actividades ............................................................................... 71 IV.1 Actividad de detección de voz ............................................................................. 71 IV.2 Actividad de intensidad de voz ........................................................................... 73 IV.3 Actividad de tonalidad......................................................................................... 73 IV. 5 Actividad de soplo II ........................................................................................... 76 IV.6 Actividad de laberinto ......................................................................................... 77 IV. 7 Actividad de ataque vocal .................................................................................. 79 IV. 8 Actividad de vocalización ................................................................................... 80 IV. 9 Actividad de transición entre vocales ................................................................ 81 ANEXO V. Archivo de Configuración XML ....................................................................... 83
iii ÍNDICE DE FIGURAS Figura 2.1. Aparato fonador humano. ............................................................................ 8 Figura 2.2. Modelo digital de producción de voz. ........................................................... 9 Figura 2.3. Pre-procesado de la señal de voz. .............................................................. 10 Figura 2.4. Energía de la señal de voz. .......................................................................... 11 Figura 2.5. Comparación de métodos de estimación del pitch. .................................... 13 Figura 2.6. Estimación del pitch. ................................................................................... 14 Figura 2.7. Extracción de formantes. ............................................................................ 15 Figura 2.8. Separación de componentes en el dominio cepstral. ................................ 16 Figura 3.1. Espectrograma para las vocales en voz adulta (a) y voz infantil (b). .......... 17 Figura 3.2. Diagrama de bloques para la estimación robusta de formantes. ............... 22 Figura 4.1: Estructura del sistema. ................................................................................. 25 Figura 4.2: Algoritmo del motor de simulación. ............................................................. 27 Figura 4.3: Actividad de control de tonalidad. ............................................................... 29 Figura 4.4: Actividad de control de tonalidad con inercia.............................................. 30 Figura 4.5: Actividad de control de soplo con condiciones física adicionales. ............... 31 Figura 4.6: Actividades con máscara. ............................................................................. 32 Figura 4.7: Actividad de trabajo vocálico de tipo Imágenes .......................................... 33 Figura 4.8: Actividad de trabajo vocálico de tipo Dianas. .............................................. 34 Figura 4.9: Interfaz de configuración. ............................................................................. 35 Figura 4.10: Interfaz de configuración avanzada. .......................................................... 35 Figura 4.11: Estructura de clases. ................................................................................... 36 Figura 4.12: Clases de la interfaz gráfica. ....................................................................... 37 Figura 4.13: Clase Configuración. ................................................................................... 38 Figura 4.14: Clases para el procesado de señal. ............................................................. 39 Figura 4.15: Clases del motor de simulación física. ........................................................ 40 Figura 4.16: Elección del mundo. ................................................................................... 41 Figura 4.17: Elección de imágenes. ................................................................................ 42 Figura 4.18: Carga de nuevas imágenes. ........................................................................ 42 Figura 4.19: Elección de la posición inicial. .................................................................... 42 Figura 4.20: Elección de las condiciones adicionales del Mundo. .................................. 43 Figura 4.21: Elección del tipo de movimiento. ............................................................... 43 Figura 4.22: Elección de la dirección del movimiento. ................................................... 44 Figura 4.23: Otros ajustes en actividades de Pre-lenguaje. ........................................... 45 Figura 4.24: Actividad con objetivo. ............................................................................... 45 Figura 4.25: Elección del tipo de actividad. .................................................................... 46 Figura 4.26: Selección de vocales y adición de nuevas vocales. .................................... 46 Figura 4.27: Cálculo de la VTL. ........................................................................................ 47 Figura 4.28: Otros ajustes en actividades de Vocalización. ............................................ 47
6
7 2. Procesado de la señal de voz 2.1 La Voz Infantil La voz es el principal canal de comunicación entre los seres humanos y por ello requiere una atención especial en la población infantil. La activad vocal experimenta un gran desarrollo durante los primeros meses de vida. Durante este tiempo tienen lugar cambios estructurales que permiten la evolución de la voz y provocan un cambio en su frecuencia que va desde los 400 Hz del llanto a los 110 Hz en niños y 220 Hz en niñas tras la pubertad [6]. 2.1.1 Interpretación de la voz La alteración de la voz es muy común en la población infantil. Si se trata de niños con discapacidad son diversas las causas que pueden influir en la calidad de voz, por ejemplo el retardo mental, el síndrome de Down, la parálisis cerebral, etc. Se considera como voz alterada o disfonía la alteración de alguna de cualidades acústicas o la combinación de varias de ellas:
Procesado de la señal de voz 8 Intensidad (dB): volumen de la voz resultante de la presión del aire a su paso por las cuerdas vocales. Tono (Hz): consecuencia de la vibración de las cuerdas vocales en la fonación. Este valor desciende lentamente desde la infancia hasta la pubertad donde tiene lugar un descenso brusco en el caso de los hombres. Timbre: es la característica que dota de personalidad a la voz. Está formado por la frecuencia fundamental, sus armónicos y los formantes. Estos últimos dependen de la disposición de los órganos que intervienen en la producción de la voz y varían según el género, talla, y raza del niño. Duración: tiempo que permanecen las cuerdas vocales en vibración. El tiempo máximo de fonación es de gran interés para el diagnóstico. 2.2 Procesado de voz 2.2.1 Aparato fonador humano y modelo digital de producción de voz La voz consiste en una onda de presión acústica sonora que se genera por el movimiento de la estructura física del sistema fonador. Esta onda se propaga por el aire a una velocidad de unos 340 m/s. El aparato fonador humano se divide en dos subsistemas principales: Aparato fonatorio: formado por pulmones, tráquea y laringe hasta las cuerdas vocales. Aparato articulatorio: formado por paladar, lengua, dientes, labios y mandíbula. Los sonidos dependen de la posición de estos elementos al paso del aire por ellos. Cavidad nasal Tracto vocal Tracto subglotal Aparato fonador Cuedas vocales Tráquea Pulmones Aparato articulatorio Paladar Dientes Lengua Labios Mandíbula Figura 2.1. Aparato fonador humano.
Procesado de la señal de voz 9 El aparato fonador humano puede modelarse, de forma bastante aproximada, como un sistema lineal todo polos que representa la posición de los órganos involucrados o tracto vocal, y una señal de entrada o señal de excitación que representa el paso del aire por los pulmones, tráquea y cuerdas vocales. Como señal de salida de obtendrán dos tipos de sonidos dependiendo de la naturaleza de la señal de excitación: Sonidos sonoros: son de energía elevada y se produce la vibración de las cuerdas vocales. Para generar este tipo de sonidos, la señal de excitación será un tren de impulsos de frecuencia controlada. Sonidos sordos: no existe vibración de las cuerdas vocales y son de baja energía. Para generar este tipo de sonidos, la señal de excitación será ruido blanco. Se obtiene un modelo digital de producción de voz (Figura 2.2) que consiste en la combinación de ambas señales de excitación, las cuales modelan el funcionamiento de la glotis y el filtro lineal todo polos que representa el tracto vocal. El tracto vocal presenta un elevado número de resonancias pero las más importantes son las dos primeras, pues son las que contienen mayor información sobre la producción sonora. El espectro de la señal de salida se obtendrá a partir del producto del espectro de la excitación y la respuesta frecuencial del filtro que representa el tracto vocal. Generador de tren de impulsos Generador de ruido aleatorio Modelo del pulso glotal Modelo del tracto vocal VOZ Pitch Ganancia de la fuente sonora Ganancia de la fuente de ruido Segmentos sonoros Segmentos sordos Figura 2.2. Modelo digital de producción de voz. El procesado de la señal de voz permite extraer sus parámetros más importes.
Procesado de la señal de voz 10 2.2.2 Pre-procesado Para procesar la señal de voz digitalmente es necesario convertir la señal acústica en una señal eléctrica con un micrófono. A continuación, se muestrea la señal obtenida para convertirla en una seña digital. En la voz humana, la información frecuencial se concentra en los primeros 4000 Hz así que, una frecuencia de muestreo de 8000 Hz será suficiente para extraer esta información y evitar el aliasing (Teorema de Nyquist). Tres bloques componen el pre-procesado de la señal de voz: compensación DC, filtro de pre-énfasis y enventanado. DC OFFSET PRE-ÉNFASIS VENTANA HAMMING Figura 2.3. Pre-procesado de la señal de voz. El bloque DC offset elimina la posible componente de continua de la señal mediante un filtro de banda eliminada en la frecuencia 0. ( ) ( ) El filtro de pre-énfasis compensa la caída de -6dB por octava de la señal de voz debido al pulso glotal y la radiación de los labios. ( ) ( ) La señal de voz tiene un comportamiento pseudo-aleatorio a corto plazo y, por eso, es necesario llevar a cabo un enventanado que realice un análisis localizado de la señal. La ventana utilizada en el procesado de voz es la ventana de Hamming que, al tener un lóbulo principal ancho y lóbulos secundarios pequeños, produce un suavizado espectral realzando la información central de la ventana y minimizando la información de los extremos. ( ) { ( ) ( )
Procesado de la señal de voz 11 Para compensar el efecto de minimización de los extremos se solapan las ventanas, de manera que las muestras en los extremos de una ventana correspondan con las muestras centrales de las ventanas consecutivas. 2.2.3 Estimación de energía La estimación de energía permite distinguir sonidos sonoros cuya energía es elevada, de sonidos sordos cuya energía es menor [7]. [ ] ∑( [ ] [ ]) ∑ [ ] [ ] ( ) Expresando ( ) ( ) [ ] ∑ [ ] [ ] ( ) La ventana utilizada para el cálculo de la energía es rectangular. Figura 2.4. Energía de la señal de voz. En la Figura 2.4 se observa una señal de voz y la energía localizada calculada. Los máximos locales representan los segmentos de sonidos sonoros. Los segmentos de baja energía son sonidos sordos. 05000 10000 15000 -1.5 -1 -0.5 0 0.5 1x 104 Muestras Amplitud Segmento de voz 020 40 60 55 60 65 70 75 80 85 90 95 Muestras dB Energía del segmento de voz
Procesado de la señal de voz 12 La alta energía de los sonidos sonoros permite construir un VAD muy simple que se comporta bien en condiciones de bajo ruido [7]. Este VAD indica la presencia de voz comparando la estimación de energía del segmento con un umbral preestablecido. Si la energía es mayor que ese umbral, el segmento es sonoro. Si es menor, el segmento es sordo. 2.2.4 Autocorrelación La función de autocorrelación, , cuantifica el parecido de una señal consigo misma cuando se le aplica un desplazamiento de muestras. [ ] ∑[ ( ) ( )] ( ) La autocorrelación de una señal periódica es también una señal periódica del mismo periodo. Se puede aprovechar esta propiedad para detectar patrones periódicos en la señal de voz e identificar si se trata de un sonido sonoro y, por lo tanto, posee pitch. Este valor de pitch se puede obtener a partir del periodo de la autocorrelación, es decir, de la distancia entre máximos [8]. 2.2.5 Análisis de predicción lineal LPC El análisis de predicción lineal (LPC) permite obtener la función de transferencia del filtro que ha generado la señal de voz y que se corresponde con la función del tracto vocal, así como la señal residual que representa la señal de excitación [7]. Esta técnica se detalla en el Anexo I. El análisis LPC permite obtener los coeficientes del filtro denominado filtro inverso ( ) cuya entrada es la señal de voz y salida la señal de excitación, a partir de la cual se podrá extraer la frecuencia fundamental o pitch. El filtro que representa el tracto vocal ( ) se modela como ( ). De este filtro ( ), será posible extraer los formantes que caracterizan las vocales para cada individuo.
Procesado de la señal de voz 13 2.2.6 Estimación del Pitch El análisis LPC descrito en el Anexo I permite obtener la señal de error o residual a partir de una señal de voz. Esta señal residual se corresponde con la excitación vocal y, a partir de ella, se puede extraer más fácilmente el pitch. Tomando la autocorrelación de esta señal residual, se obtiene la frecuencia de pitch calculando la distancia entre el origen y el primer máximo, pues esta distancia se corresponde con el periodo de pitch [4]. En la Figura 2.5 se observa la diferencia entre el cálculo del pitch mediante la autocorrelación de la señal de voz y la autocorrelación del error de predicción. Se observa como en la primera (a) es más difícil distinguir el pitch del resto de información (formantes). Sin embargo, mediante el cálculo de la autocorrelación del error de predicción (b), donde solo existe información de la señal de excitación, es más fácil determinar el pitch. (a) (b) Figura 2.5. Comparación de métodos de estimación del pitch. Para eliminar datos espurios se utiliza un filtrado de mediana de orden 5. El proceso, pues, para el cálculo de la frecuencia de pitch se resume en la Figura 2.6. 050 100 150 200 0 50 100 150 200 250 300 Autocorrelación 0100 200 300 0 50 100 150 200 250 300 Autocorrelación del error de predicción
Procesado de la señal de voz 14 DC OFFSET PRE-ÉNFASIS VENTANA HAMMING ANÁLISIS LPC AUTOCORRELACIÓN DEL ERROR DE PREDICCIÓN ESTIMACIÓN DEL PITCH FILTRO DE MEDIANA Figura 2.6. Estimación del pitch. 2.2.7 Estimación de Formantes El análisis LPC descrito en la sección 2.2.5 permite separar la influencia del tracto vocal de la señal de excitación. Por tanto, a partir de éste análisis es posible centrarse en la estructura formántica analizando el polinomio ( ) (2.7). ( ) ∑ ∏( ) ( ) Con un orden de predicción adecuado, aproximadamente de las raíces del polinomio anterior estarán cerca de las frecuencias de resonancia en el plano con la frecuencia de muestreo. Los ceros o raíces de ( ), pares complejos conjugados, son los polos de ( ) que modelan los formantes [7]. Los tres primeros formantes se corresponden con las raíces del polinomio ( ), convertidas a frecuencia analógica multiplicando por la frecuencia de muestreo y ordenadas de menor a mayor. Se utiliza de nuevo el filtro de mediana para desechar valores espurios. El proceso a seguir para el cálculo de los formantes se resume en la Figura 2.7.
Procesado de la señal de voz 15 DC OFFSET PRE-ÉNFASIS VENTANA HAMMING ANÁLISIS LPCRAICES FRECUENCIA ANALÓGICA FORMANTES FILTRO DE MEDIANA Figura 2.7. Extracción de formantes. 2.2.8 Análisis Homomórfico El análisis homomórfico se utiliza para convertir un elemento matemático en otro. En el caso del análisis de la señal de voz, se utiliza para separar dos componentes relacionadas mediante una convolución en una suma. De esta manera, la señal de voz en el dominio cepstral, se separa en una combinación lineal de la señal de excitación [ ] y el modelo del tracto vocal [ ](2.8). Se detallan los fundamentos matemáticos del análisis homomórfico en el Anexo II. [ ] [ ] [ ] [ ] [ ] [ ] ( ) Tras su aplicación, se obtiene a la salida la señal de cepstrum (Figura 2.8). La parte baja corresponde con la información del tracto vocal y la parte alta con la excitación [7]. Para separar dicha información se realiza un liftado que es un proceso similar al filtrado pero en el dominio cepstral.
Estimación robusta de Formantes y Estimación del Tracto Vocal 22 longitud a una longitud de referencia de valor 17.5 cm. Los formantes normalizados se obtienen a partir de los formantes calculados siguiendo (3.9). ( ) ( ) En [4] se demuestra que utilizando esta técnica, los formantes se encuentran menos dispersos tras la normalización para ambos sexos, demostrando que el proceso de normalización de formantes reduce considerablemente la variabilidad inter-locutor y dota de robustez a las técnicas de procesado cuando se trabaja con voz infantil. El diagrama de la Figura 3.2 resume el procesado completo de la señal de voz. DC OFFSET PRE-ÉNFASIS VENTANA HAMMING ANÁLISIS LPC AUTOCORRELACIÓN DEL ERROR DE PREDICCIÓN PITCH ANÁLISIS HOMOMÓRFICO LIFTADO Sx AUTOCORRELACIÓN IFFT RAICES LPC ESTIMACIÓN DE FORMANTES VTL FORMANTES NORMALIZADOS ENERGÍA Segmentos SONOROS Segmentos SORDOS Figura 3.2. Diagrama de bloques para la estimación robusta de formantes. Es posible diseñar herramientas para la terapia de voz, como se describe en los siguientes capítulos, utilizando las técnicas descritas hasta el momento.
23 4. Descripción de la Aplicación El objetivo del proyecto es desarrollar herramientas libres de asistencia a la logopedia que ayuden a los profesionales a educar la voz de pacientes con patologías en el lenguaje debidas a algún tipo de discapacidad o malformación. Las tecnologías del habla permiten el desarrollo de este tipo de herramientas que han sido demandadas por profesionales de educación especial pero que, la no existencia de aplicaciones libres y en español, han hecho que no se hayan aprovechado este tipo de técnicas para este fin. Este proyecto está enmarcado dentro del Grupo de Tecnologías de las Comunicaciones (GTC) en colaboración con el Colegio Público de Educación Especial Alborada (CPEE Alborada) siguiendo la línea de proyectos realizados con anterioridad en este mismo grupo. En concreto, sigue la línea de PreLingua [4] ,ya que la aplicación se desarrolla con el objetivo de trabajar los aspectos del pre-lenguaje. Se ha diseñado un editor de actividades totalmente configurable, que permite a los logopedas diseñar sus propias actividades, con el fin de adaptarlas personalmente a cada paciente y poder compartirlas con otros profesionales para que sean utilizadas en pacientes de características similares.
Descripción de la Aplicación 24 4.1 PreLingua 2 PreLingua 2 es un editor de actividades que se ha diseñado con el objetivo de ser utilizado como herramienta de asistencia a la logopedia. Es altamente configurable y permite a los profesionales del ámbito diseñar sus propias actividades, sin necesidad de conocimientos técnicos, adaptándolas a cada paciente en particular y con la posibilidad de poder guardar la configuración de la actividad y compartirla a través de la red. Uno de los problemas que aparecían en aplicaciones anteriores era la incompatibilidad entre sistemas operativos. Estas aplicaciones estaban diseñadas para ser utilizadas en sistemas Windows y, además, era necesario instalarlas en cada uno de los equipos en los que se iba a utilizar. Uno de los objetivos del proyecto es evitar este problema y, para ello, se ha diseñado una aplicación que se pueda ejecutar en una plataforma distribuida, es decir, que se pueda acceder a través de la Web sin necesidad de instalarla en el ordenador. Para conseguirlo, el editor se ha desarrollado en lenguaje Java [20], utilizando el entorno de desarrollo integrado libre NetBeans y su editor gráfico basado en Swing para la parte gráfica. Otro de los objetivos del proyecto es que el editor sea totalmente configurable. Las aplicaciones desarrolladas anteriormente consistían en actividades que trabajaban en forma de juegos cerrados. La aplicación desarrollada en este proyecto es totalmente configurable, cada logopeda puede elegir qué aspecto de la voz desea trabajar, combinarlos como desee y adaptar los parámetros a las necesidades de cada paciente. Los aspectos que se trabajan en la aplicación son las habilidades pre-lingüísticas o prelenguaje que son las características que se adquieren durante el primer año de vida. El correcto desarrollo de estas habilidades permitirá la evolución del lenguaje del niño para la comunicación en el futuro con total normalidad. Las tecnologías del habla permiten trabajar estos aspectos del pre-lenguaje utilizando las técnicas de procesado de señal de voz descritas en los capítulos anteriores. Las características con las que se va a trabajar son: Detección de actividad de voz. Control de la intensidad. Control del soplo. Control del tono. Vocalización.
Descripción de la Aplicación 25 4.2 Estructura de la aplicación La Figura 4.1 representa la estructura del sistema. PROCESADO DE VOZ ANÁLISIS LPC AUTOCORRELACIÓN DEL ERROR DE PREDICCIÓN PITCH ANÁLISIS HOMOMÓRFICO LIFTADO ESTIMACIÓN DE FORMANTES VTL FORMANTES NORMALIZADOS ENERGÍA PREPROCESADO MOTOR DE SIMULACIÓN FÍSICA DEL MUNDO VIRTUAL 1NUEVA POSICIÓN EN FUNCIÓN DE LOS DATOS 2INERCIA 3CONDICIONES AÑADIDAS AL MUNDO VIRTUAL 4MÁSCARA 10 ms 1NUEVA POSICIÓN EN FUNCIÓN DE LOS DATOS 2INERCIA 3REPRESENTACIÓN EN PANTALLA 10 ms (x,y) (x,y) Figura 4.1: Estructura del sistema. Dos son los grandes bloques de los que consta la aplicación: Bloque de procesado El bloque de procesado analiza la señal captada del micrófono y la procesa en tiempo real, extrayendo los parámetros que caracterizan la voz del locutor. Motor de simulación física Las actividades finales consisten, básicamente, en un objeto que el niño mueve con la voz sobre una imagen de fondo. El motor de simulación física del entorno virtual o Juego consiste en un bucle, que se repite continuamente y que calcula la posición del objeto en el mundo virtual diseñado, en función de los parámetros obtenidos en el procesado y de las condiciones que configuran la física del mundo.
Descripción de la Aplicación 26 4.2.1 Bloque de procesado Este bloque utiliza las técnicas de procesado de voz descritas en los capítulos 2 y 3. En primer lugar, con una frecuencia de muestreo de 8000 Hz, se obtiene la señal de voz del micrófono en tramas de 80 muestras. Se realiza un pre-procesado de esta señal de entrada para adecuarla a su posterior tratamiento (sección 2.2.2). Este preprocesado consiste en la preparación de la trama de análisis de 240 muestras con un desplazamiento de 80 muestras, la compensación DC, el filtro de preénfasis y el enventanado de la señal para el análisis localizado (Figura 2.3). La energía se calcula a partir de la señal de entrada y permite la detección de actividad de voz y la discriminación entre sonidos sordos y sonoros (sección 2.2.3). Mediante el análisis LPC (sección 2.2.5) se obtendrá la señal residual o error de predicción que permitirá, a partir de su autocorrelación, estimar el pitch (Figura 2.6). Para el cálculo de los formantes es necesario tener en cuenta que la aplicación está dirigida a población infantil y la problemática que este tipo de voz presenta (sección 3.3.1). Es necesario eliminar la influencia del pitch para obtener una estimación robusta de los formantes (sección 3.1.2). Mediante el análisis homomórfico, se separan las dos componentes de la señal: la información del filtro o tracto vocal y la información de la señal de excitación o pitch (Figura 2.8). Realizando un liftado se elimina la influencia del pitch y se obtiene una estimación robusta de los formantes. Por último, se calcula la longitud del tracto vocal (VTL) para la normalización de los formantes (Figura 3.2) que reduce su alta variabilidad en voz infantil (sección 3.2). Así pues, a la salida de este bloque, se obtiene un vector con los parámetros extraídos de la señal de voz (4.1). [ ] ( ) Este vector es la entrada al siguiente bloque, el motor se simulación. 4.2.2 Motor de simulación física El segundo gran bloque del sistema es el motor de simulación física del entorno virtual o Juego. Se crea un mundo virtual que simula el movimiento físico de un objeto en tiempo real. Esta simulación consiste en la repetición, cada 10 ms y durante toda la duración de la actividad, de un bucle que calcula las coordenadas ( ) del objeto en
Descripción de la Aplicación 27 movimiento. Estas coordenadas serán función de los datos obtenidos en el procesado y de las condiciones añadidas al mundo virtual. Se pueden configurar dos tipos de actividades y cada una seguirá un algoritmo para calcular la posición del objeto en movimiento. ACTIVIDADES DE PRELENGUAJE El bucle sigue el siguiente algoritmo para conseguir el movimiento deseado (Figura 4.2). Cada paso del algoritmo genera un tipo de movimiento como salida. ¿INERCIA? ¿MUNDO? ¿MÁSCARA? ¿FINALIZAR? ¿FINALIZAR? ¿FINALIZAR? SI SI SI NO NO NO SI SI SI 10 ms Figura 4.2: Algoritmo del motor de simulación. PASO 1: Nueva posición en función de los datos. Este primer paso consiste en la traducción directa de los parámetros de la voz del locutor obtenidos en el procesado (4.1), con un parámetro físico del mundo virtual. ( ) ( ) ( )
Descripción de la Aplicación 28 Se pueden obtener dos tipos de movimiento en este primer paso, movimiento si existe detección del parámetro de voz especificado y movimiento en función del valor de estos parámetros. En primer lugar, el movimiento más simple se obtiene incrementando la posición de un objeto en una trayectoria rectilínea, en función de la detección del parámetro de la voz indicado. ( ) {( ) ( ) [ ] [ ] ( ) [ ] [ ] ( ) Dependiendo del tipo de desplazamiento ( ), este movimiento se puede dividir a su vez en dos subtipos. El primer subtipo consiste en aplicar un desplazamiento constante si se detecta la presencia de algún parámetro de . Un ejemplo de este tipo sería una actividad en la que un objeto se mueve únicamente si la energía supera cierto umbral definido. Este tipo de actividades presenta buenos resultados en áreas como la estimulación temprana pues es capaz de captar la atención de niños con discapacidades cognitivas importantes. El segundo subtipo es el que relaciona el valor del desplazamiento ( ) directamente con un parámetro extraído en . Se consigue así una dependencia de la voz con la velocidad del movimiento. ( ) {( ) ( [ ]) [ ] [ ] ( ) [ ] [ ] ( ) [ ] y [ ] indican distintos parámetros extraídos durante el procesado. En la actividad, se pueden combinar varios de estos parámetros en su configuración. Tomando el ejemplo anterior, el objeto se moverá si la energía detectada supera cierto umbral y, además, la velocidad del objeto dependerá de la intensidad de la voz. Si el niño habla más alto, el objeto se moverá más rápido. Este tipo de actividades ayuda a que el niño sea capaz de controlar la intensidad de su voz. El segundo tipo de movimiento que surge en este paso, se obtiene mediante la correspondencia directa del dato obtenido con las coordenadas ( ) del objeto en el mundo virtual. Una transformación de las coordenadas será necesaria para adaptarlas a los límites del entorno. ( ) ( ) ( )
Descripción de la Aplicación 29 Como ejemplo se propone una actividad que combina la detección de energía y el valor del pitch (Figura 4.3). El objeto (pez) se mueve horizontalmente ( ) en función de la detección de voz ( ) y la posición en el depende del valor del pitch. El locutor entona las notas musicales, lo que se observa en la trayectoria como una especie de escalera ascendente. Se puede comprobar la existencia de valores espurios. Estos valores se pueden reducir, como se verá en el siguiente paso. Figura 4.3: Actividad de control de tonalidad. PASO 2: Inercia. En este segundo paso, la nueva posición calculada depende de la posición en el instante anterior y de un parámetro α que toma valores entre 0 y 1 en función del efecto que se quiera conseguir. ( ) (( ) ( ) ) ( ) Para los dos primeros subtipos del paso 1, se aplica esta dependencia con al desplazamiento del objeto. El objetivo es conseguir un efecto de inercia, de manera que el movimiento se prolonga en ausencia de actividad de voz hasta que se agota, creando el efecto de movimientos más suaves. ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) Para valores más bajos de α, el movimiento se prolonga durante más tiempo. Se asignará este valor en función del efecto deseado. En el caso de que las coordenadas dependan directamente de un parámetro de voz, la dependencia con α se aplica directamente a e . Esta dependencia consigue un suavizado del movimiento, evitando datos espurios en la trayectoria. En esta ocasión, se requieren valores de α mayores. ( ) ( ) ( ) ( ) ( )
Descripción de la Aplicación 30 Se propone el mismo ejemplo que en el paso 1 pero añadiendo ahora este efecto de inercia (Figura 4.4). Se asignan distintos valores de α, un valor para el movimiento horizontal de detección y otro para el movimiento vertical en función del valor del pitch. El valor de α para el movimiento horizontal será menor que para el movimiento vertical. En este caso, el locutor aumenta y reduce la tonalidad de su voz. La parte izquierda (a) se corresponde con esta actividad en ausencia del efecto de inercia, se observa la existencia de valores espurios. En la parte derecha (b) se aprecia la mejora que se obtiene al introducir este efecto. (a) (b) Figura 4.4: Actividad de control de tonalidad con inercia. Aunque este efecto ayuda al niño a alcanzar su objetivo, los resultados son positivos ya que también es importante que se sientan motivados en la realización de la actividad. PASO 3: Condiciones añadidas al mundo virtual. Conseguido un movimiento más uniforme, se pueden añadir condiciones adicionales al entorno virtual que simulen efectos físicos del mundo real. Este paso dota de más realismo y de más dificultad a la actividad. ( ) ( ( ) ( )) ( ) Se puede simular un efecto de gravedad añadiendo un movimiento continuo hacia abajo o un efecto de corriente mediante un movimiento continuo horizontal. El niño deberá superar esta adversidad física con su voz. La dificultad de la actividad recaerá en el valor del paso que se le de al movimiento continuo, el cual se traduce en la velocidad con la que el objeto caerá o se desplazará por el efecto de la corriente. ( ) ( ) ( ) ( )
Descripción de la Aplicación 31 Como ejemplo (Figura 4.5) se muestra un objeto (globo) que cae continuamente hacia abajo. El usuario, deberá impedir que el globo caiga al suelo mediante, por ejemplo, el soplo. Figura 4.5: Actividad de control de soplo con condiciones física adicionales. Este tipo actividades de control del soplo ayuda mejorar el control de la respiración, necesario para un hablar fluido. PASO 4: Máscara. En este último paso se incorpora un nuevo elemento al entorno virtual, la máscara. Una máscara consiste en una imagen que se superpone al fondo. Esta imagen contiene zonas transparentes, donde el objeto podrá moverse, y zonas opacas que actúan de barreras físicas impidiendo el paso del objeto. La inserción de máscaras equivale a una introducción de obstáculos en el mundo virtual. ( ) ( ( ) ( ) ) ( ) Antes de calcular la nueva posición del objeto, se comprueba si es una posición válida, esto es, una posición que no esté ocupada por la máscara ( ). En el caso de que sea válida, la nueva posición se hará efectiva. Si la coordenada calculada está ocupada por la máscara, el objeto no se moverá (4.13). Se consigue así un efecto de barrera. ( ) {( ) ( ) ( ) ( ) El diseño de máscaras hace que las posibilidades a la hora de crear una actividad sean innumerables. El logopeda diseñará estas máscaras dependiendo del efecto que quiera conseguir, la patología de la voz del paciente a tratar y la dificultad que quiera añadir. Se muestran en la Figura 4.6 ejemplos de máscaras.
Descripción de la Aplicación 38 Ventana_calculo_ltv y contenedor_ calculo_ltv Para las actividades de vocalización es necesario normalizar los formantes obtenidos en el procesado para reducir su variabilidad. Esta normalización se realiza utilizando la longitud del tracto vocal (VTL) (sección 3.2). Se han propuesto dos métodos para la obtención de este parámetro, calcularlo directamente de la voz del niño u obtenerlo de una tabla. Para el primer caso, esta clase graba la voz del niño (clase Recorder) que tiene que emitir las 5 vocales para que el cálculo sea válido. Esta señal es procesada (clase Pitchfor) y se obtiene la LTV como la media de este valor durante todo el procesado (clase Memanalysis). Ventana_tabla_ltv y contenedor_tabla_ltv La segunda opción para calcular la VTL es obtenerlo de una tabla. Basándose en el sexo del niño y su altura se calcula la VTL [4]. Ventana_añadir_vocales y Contenedor_añadir_vocales Durante el diseño de la herramienta, surgió la posibilidad de hacer que ésta no fuera válida únicamente para el español. Definiendo nuevas vocales, se permite que esta herramienta se adapte a otros idiomas. Esta clase permite añadir nuevas vocales introduciendo los formantes que las definen y almacenándolos. 4.3.2 Clase configuración Este bloque solo contiene la clase Configuración. Es la clase que almacenan todos los datos seleccionados en la pantalla principal de configuración y los pone a disposición del motor de simulación para calcular la posición del objeto en movimiento. -guardar_config() -cargar_config() Configuración CONFIGURACIÓN Figura 4.13: Clase Configuración.
Descripción de la Aplicación 39 Esta clase permite la serialización de los datos, es decir, permite guardar una configuración diseñada por el logopeda en un archivo XML. Asimismo, permite la carga de archivos en este formato, de manera que es posible guardar una configuración y cargarla en cualquier otro momento, así como compartirla con otros usuarios. 4.3.3 Clases para el procesado de señal -add_frame(); -get_VTL_media(); -get_pitch_medio(); -get_f1(); -get_f2(); Memanalysis -new Recorder(); -new Pitchfor(); -new Memanalysis(); -run(); -deten_grabación() -simulación(); -simulación_v(); Recorder_thread -startR(); -stopR(); -readR(); -isOpenR(); Recorder -extract_pitchfor(); Pitchfor PROCESADO DE SEÑAL Figura 4.14: Clases para el procesado de señal. Recorder_thread Esta clase es un hilo de ejecución que permite la obtención de la señal de micrófono, su procesado y la simulación del movimiento físico mientras se ejecuta toda la parte gráfica. Esto hará que todo el proceso se realice en tiempo real. Recorder La clase Recorder se encarga de obtener la señal de audio del micrófono en tramas de 80 muestras y con una frecuencia de muestreo de 8000 Hz. La señal obtenida se adapta y almacena para su posterior procesado. Pitchfor Esta clase procesa la señal obtenida en la clase anterior siguiendo el esquema de la Figura 3.2 y extrae los parámetros característicos de la voz. La trama de análisis está formada por 240 muestras y un desplazamiento de 80 que permite el análisis localizado de la señal de voz de entrada. Por cada trama que se procesa, esta clase proporciona un vector de salida con los parámetros de voz obteniéndose un cálculo de éstos en tiempo real.
Descripción de la Aplicación 40 Memanalysis La clase Memanalysis almacena los parámetros extraídos de las tramas procesadas. Permite también la obtención de sus valores medios en el caso de ser necesarios. 4.3.4 Clases para el motor de simulación -new Tablero_Juego(); -new Recorder_Thread(); Ventana Juego -motor_simulacion(); Tablero_Juego MOTOR SIMULACIÓN -new Tablero_Vocales(); -new Recorder_Thread(); Ventana_Vocales -motor_simulacion_v(); Tablero_Vocales Figura 4.15: Clases del motor de simulación física. Ventana_Juego y Tablero_Juego La clase Ventana_Juego es la que crea el hilo de ejecución de la clase Recorder_thread descrita anteriormente. El contenedor de esta ventana es de la clase Tablero_Juego y es el motor de simulación física propiamente dicho. Esta clase calcula la posición del objeto en movimiento siguiendo el algoritmo de la Figura 4.2 y basándose en los datos de la clase Configuración y los parámetros obtenidos en la clase Pitchfor. Las tareas que lleva a cabo esta clase son: Obtención de la posición inicial. Obtención de la máscara. Cálculo de la siguiente posición. Aplicación del efecto de inercia. Aplicación de las condiciones adicionales del mundo virtual. Comprobación de que la posición calculada es una posición correcta según la máscara. La nueva posición se hace efectiva.
Descripción de la Aplicación 41 Ventana_Vocales y Tablero_Vocales En el caso de que la actividad sea de tipo Vocalización, estas dos clases compondrán el motor de simulación. Como en las clases anteriores, Ventana_Vocales iniciará el hilo de ejecución y Tablero_Vocales, su contenedor, se encarga de calcular el movimiento. 4.4 Configuración de actividades El editor diseñado es altamente configurable. Se ha diseñado de tal manera que un logopeda puede programar sus propias actividades sin necesidad de tener conocimientos técnicos, siguiendo los pasos que se indican en los paneles numerados de la ventana principal (Figura 4.9). En esta sección se detallan los pasos a seguir en la configuración de los dos grandes tipos de actividades, las del pre-lenguaje y las de vocalización. 4.4.1 Actividades de Pre-lenguaje Este tipo de actividades se configura en la parte izquierda de la ventana principal (Figura 4.9). Estos son los pasos a seguir: PASO 1: Elección del mundo. Figura 4.16: Elección del mundo. En este primer paso se eligen las imágenes que se van a utilizar. Se debe seleccionar una imagen de fondo y otra que será el objeto en movimiento. En caso de que la actividad utilice máscaras también se seleccionará en este paso.
Descripción de la Aplicación 42 Figura 4.17: Elección de imágenes. Además de las imágenes que se proponen en la aplicación, es posible cargarlas desde archivo (Figura 4.18 (a)) o desde Internet mediante su URL (Figura 4.18 (b)). (a) (b) Figura 4.18: Carga de nuevas imágenes. PASO 2: Posición inicial. Una vez elegidas las imágenes, se decidirá la posición en la que el objeto comenzará su movimiento (Figura 4.19). Además de poder elegir entre las posiciones sugeridas (a), es posible indicar la coordenada ( ) donde iniciar la actividad en la pestaña “AVANZADO” (b). Todos los valores introducidos en las tablas toman un valor entre 0 y 1. (a) (b) Figura 4.19: Elección de la posición inicial.
Descripción de la Aplicación 43 PASO 3: Condiciones del mundo. En este paso se añaden las condiciones externas que tendrá el mundo, las cuales aportarán un movimiento adicional al provocado por la voz. Aquí se le da valor a ( )(4.11). (a) (b) Figura 4.20: Elección de las condiciones adicionales del Mundo. Mediante la opción “Estático”, el objeto no se moverá en ausencia de voz (( ) ( )). Dotando al objeto de un movimiento continuo hacia abajo se simula un efecto de gravedad y un efecto de corriente con un movimiento horizontal (a). Se pueden combinar varias direcciones para crear trayectorias oblicuas. En la pestaña “AVANZADO” (b) se asigna el valor de ( ), lo que se traduce en la elección de la velocidad con la que el objeto caerá o se moverá horizontalmente. En el caso de combinar varias direcciones, variar los valores de y consigue decidir la pendiente de la trayectoria oblicua. PASO 4: Tipo de movimiento. Este paso de la configuración se corresponde con la elección del tipo de movimiento del paso 1 del algoritmo de la Figura 4.2. (a) (b) Figura 4.21: Elección del tipo de movimiento.
Descripción de la Aplicación 44 Para cada parámetro [ ] (energía, pitch, soplo), se decide si se desea un tipo de movimiento de “Detección” en el que objeto se mueve si se activa [ ] (4.3), o un movimiento de “Posición” en el que las coordenadas del objeto se corresponden con el valor de [ ] (4.5). La casilla “Velocidad” solo se puede seleccionar para un movimiento de “Detección” y se corresponde con un movimiento del tipo descrito por (4.4). El objeto se mueve si se activa [ ] y su velocidad dependerá del valor que tome [ ]. En la pestaña “AVANZADO” se asignan los valores mínimos y máximos para cada parámetro [ ] y el umbral de detección de voz. PASO 5: Dirección del movimiento. Este paso también se corresponde con el primer paso del algoritmo de la Figura 4.2. Es donde se asignan los valores ( ) de la expresión 4.3. (a) (b) Figura 4.22: Elección de la dirección del movimiento. Para cada parámetro seleccionado en el paso anterior, se decide la dirección que tomará el objeto en su movimiento (Figura 4.22(a)). En la pestaña “AVANZADO” (b) se asigna un valor a y que fijan la velocidad con la que el objeto se moverá. Como en el paso 3 se pueden definir trayectorias oblicuas cuya pendiente podrá variar en función de los valores asignados a la dirección horizontal y a la dirección vertical. PASO 6: Otros ajustes. Permite añadir funcionalidades adicionales a la actividad configurada (Figura 4.23(a)). La primera opción, “Efecto de inercia”, se corresponde con el paso 2 del algoritmo de la Figura 4.2.
Descripción de la Aplicación 45 (a) (b) (c) Figura 4.23: Otros ajustes en actividades de Pre-lenguaje. La pestaña “INERCIA” permite asignar los valores de α de (4.7) y (4.9). Para valores menores de α se consigue una mayor prolongación del movimiento, es lo deseable para “α Detección”. Valores más altos son suficientes para “α Posición”, con el fin de conseguir un suavizado del movimiento en el caso de movimientos del tipo (4.5). Otras opciones de visualización se pueden añadir. El dibujo de la trayectoria permitirá al logopeda evaluar la ejecución de la actividad. La línea vertical y horizontal, a elegir dependiendo de la dirección del movimiento, fijan unos objetivos que el paciente debe alcanzar. La posición de las líneas se puede variar con el teclado. Por ejemplo, en la Figura 4.24 niño tiene que hacer que el cohete traspase la línea empujándolo con su soplo. Figura 4.24: Actividad con objetivo. Tanto para la trayectoria como para las líneas, se puede cambiar su color para distinguirlas sobre el fondo elegido. 4.4.2 Actividades de Vocalización Este tipo de actividades se configura en la parte derecha de la ventana principal (Figura 4.9). Estos son los pasos a seguir:
Descripción de la Aplicación 46 PASO 1: Elección del tipo de actividad. En este paso se elige entre los tres tipos de actividades. “Imágenes” consiste en la representación en el centro de la pantalla de una imagen que comenzará por la vocal que se desea trabajar. El centro de la imagen se corresponde con los formantes teóricos establecidos y el paciente debe acertar con un dardo en el centro de esta imagen mediante la pronunciación de dicha vocal (Figura 4.25 (a)). “Dianas” amplia el espacio de representación y, dependiendo de la vocal a trabajar, se situará una diana en la coordenada de la pantalla que se corresponda con los formantes teóricos de dicha vocal Figura 4.25 (b)). “Transiciones” es similar a “Dianas” pero, en este caso se trabaja con dos vocales. Dos imágenes que representarán estas vocales se situarán en las coordenadas de la pantalla fijadas por sus formantes. El niño deberá realizar la transición de una vocal hacia la otra y un coche recorrerá este camino Figura 4.25 (c)). El tipo de movimiento en las tres actividades es el que definen (4.16) y (4.17). (a) (b) (c) Figura 4.25: Elección del tipo de actividad. PASO 2: Selección de las vocales a trabajar. En este paso se seleccionan las vocales a trabajar (Figura 4.26 (a)). Las actividades “Imágenes” y “Dianas” solo necesitan una vocal mientras que la actividad “Transiciones” necesita dos. (a) (b) Figura 4.26: Selección de vocales y adición de nuevas vocales.
Descripción de la Aplicación 47 Nuevas vocales podrán ser añadidas a la lista con el fin de que la herramienta no sea válida solo para el español, sino también para otros idiomas (Figura 4.26 (b)). Introduciendo los formantes que caracterizan la nueva vocal y la imagen que se desea asignar a ésta, quedará definida una nueva vocal. PASO 3: Cálculo de la longitud del tracto vocal. Dos vías se han definido para el cálculo de la longitud del tracto vocal (Figura 4.27(a)): Obtención de la VTL de una tabla introduciendo el sexo y la talla del niño (Figura 4.27(b)) [4]. Cálculo de la propia VTL a partir de la voz del niño (Figura 4.27(c)). Se calcula la VTL (sección 3.2) mediante la grabación de la voz del niño pronunciando las cinco vocales. (a) (b) (c) Figura 4.27: Cálculo de la VTL. PASO 4: Otros ajustes. Este último paso permite añadir un efecto de inercia similar al de las actividades de Pre-lenguaje ( Figura 4.28 (a)). En la pestaña “AVANZADO” ( Figura 4.28 (a)) se asigna el valor concreto para este parámetro. (a) (b) Figura 4.28: Otros ajustes en actividades de Vocalización. En el Anexo IV se proponen algunos ejemplos de actividades que se pueden configurar con el editor diseñado.
54 [11] T. Quatieri, “Minimum and mixed phase speech analysis-sinthesis by adaptative homomorphic deconvolution,” IEEE Transaction on Acoustics, Speech and Signal Processing, vol. 27, no. 4, 1979. [12] W. Verhelst and O. Steenhaut, “A new model for the short-time complex cepstrum of voiced speech,” IEEE Transactions on Acoustics, Speech, and Signal Processing, vol. 34, no. 1, pp. 43-51, Feb. 1986. [13] U. Goldstein, “An articulatory model for the vocal tracts of growing children,” PhD thesis, Dept. of Electrical Engineering and Computer Science, Massachusetts Institute of Technology, 1977. [14] Houri K. Vorperian, “Development of vocal tract length during early childhood: A magnetic resonance imaging study,” Journal of Acoustical Society America, vol. 117, no. 1, pp. 338-350, 2005. [15] a. Paige and V. Zue, “Calculation of vocal tract length,” IEEE Transactions on Audio and Electroacoustics, vol. 18, no. 3, pp. 268-270, Sep. 1970. [16] H. Wakita, “Normalization of vowels by vocal-tract length and its application to vowel identification,” IEEE Transactions on Acoustics, Speech and Signal Processing, vol. 25, no. 2, pp. 183 - 192, 1977. [17] R. Kirlin, “A posteriori estimation of vocal tract length,” IEEE Transactions on Acoustics, Speech and Signal Processing, vol. 26, no. 6, pp. 571 - 574, 1978. [18] M. R. Schroeder, “Determination of the Geometry of the Human Vocal Tract by Acoustic Measurements,” Journal of the Acoustical Society of America, vol. 41, no. 4B, pp. 1002-1010, 1967. [19] B. F. Neciog, M. A. Clements, and T. Barnwell, “Unsupervised estimation of the human vocal tract length over sentence level utterances,” in Acoustics, Speech, and Signal Processing. ICASSP, 2000, pp. 1319-1322. [20] B. Eckel, Piensa en Java. Prentice-Hall, 2007. [21] J. M. Escartín Villellas, “Diseño de una plataforma web de docencia distribuida aplicada a la logopedia y comunicación en educación especial,” Universidad de Zaragoza, 2011. [22] O. Saz, S.-C. Yin, E. Lleida, R. Rose, C. Vaquero, and W. R. Rodríguez, “Tools and Technologies for Computer-Aided Speech and Language Therapy,” Speech Communication, vol. 51, no. 10, pp. 948-967, Oct. 2009. [23] O. Saz, J. Simón, W.-R. Rodríguez, E. Lleida, and C. Vaquero, “Analysis of Acoustic Features in Speakers with Cognitive Disorders and Speech Impairments,” EURASIP Journal on Advances in Signal Processing, no. 1, 2009.
55 [24] O. Saz, “Consideraciones en el desarrollo de herramientas informáticas para logopedia en educación especial,” Maremagnum: publicación galega sobre os trastornos do espectro autista, vol. 13, pp. 131-138, 2009.
56