Upload
others
View
8
Download
0
Embed Size (px)
Citation preview
INSTITUTO POLITECNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA EN INGENIERÍA
Y TECNOLOGÍAS AVANZADAS
“Sistema de reconocimiento de voz para la
detección oportuna de dislexia en niños”
PROYECTO TERMINAL
QUE PARA OBTENER EL TÍTULO DE
Ingeniero en Telemática
PRESENTAN
Itzel Moreno Martínez
Karla Ivette Naranjo Juarez
ASESORES
M. en C. Andrés Lucas Bravo
Dr. Jesús Manuel Olivares Ceja
Dra. Benina Velázquez Ordoñez
Ciudad de México, enero 2018
INSTITUTO POLITECNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA EN INGENIERÍA
Y TECNOLOGÍAS AVANZADAS
“Sistema de reconocimiento de voz para la
detección oportuna de dislexia en niños”
PROYECTO TERMINAL
QUE PARA OBTENER EL TÍTULO DE
Ingeniero en Telemática
PRESENTAN
Itzel Moreno Martínez Karla Ivette Naranjo Juarez
ASESORES
M. en C.
Andrés Lucas Bravo
Dr. Jesús
Manuel Olivares Ceja
Dra. Benina
Velázquez Ordoñez
PRESIDENTE
SECRETARIO
M. en C. José Alfredo Bermúdez Sosa M. en C. Susana Araceli Sánchez
Nájera
DEDICATORIA
Itzel Moreno Martínez
“A mi abuelo Gabino Martínez Aguilar, por enseñarnos que la mejor
herencia que se le puede otorgar a una persona es la educación”
AGRADECIMIENTOS
Itzel Moreno Martínez
A la vida por ser la mejor universidad, por permitirme vivir este momento y compartirlo con quienes más
quiero: mi familia.
Al Instituto Politécnico Nacional por proporcionarme las herramientas necesarias para desarrollarme
profesionalmente y darme la mejor arma que un ser humano puede tener: la educación. ¡Gracias por
enseñarme a poner siempre: “La Técnica al Servicio de la Patria”!
A mis asesores el Dr. Jesús Manuel Olivares Ceja, el M. en C. Andrés Lucas Bravo y la Dra. Benina
Velázquez Ordoñez por su apoyo y atención brindada durante la realización del proyecto. ¡Gracias por el
tiempo dedicado!
Al M. en C. José Alfredo Bermúdez Sosa, mi profesor, quién con sus enseñanzas acrecentó mi amor e
interés por las telecomunicaciones.
A Gloria Martínez, mi madre, quién desde que inicio mi formación académica ha sabido guiarme y
apoyarme en cada momento. ¡Gracias por estar siempre a mi lado!
A Gabino Martínez y Ma. del Socorro Martínez, por ser mis segundos padres, y siempre apoyarme en mis
éxitos y fracasos. ¡Gracias por todas las muestras de amor que me han regalado!
A mis adorados hermanos, Álvaro y Adrián, con quienes he compartido la mayor parte de mi vida y por
tener siempre una palabra de aliento para mí. ¡Gracias por su lealtad!
A los niños de México, por quienes inicio este proyecto y con el cual buscamos que tengan una mejor
calidad de vida.
AGRADECIMIENTOS
Karla Ivette Naranjo Juarez
A través de estas líneas me gustaría expresar mi más profundo agradecimiento a todas las personas que han
estado a mi lado durante esta trayectoria, en especial a quienes participaron en la elaboración de este
proyecto.
Principalmente quiero agradecer a mis asesores el Dr. Jesús Olivares, el M. en C. Andrés L. Bravo y a la
Dra. Benina Velázquez, por dirigir este proyecto, por brindarnos su apoyo, su tiempo y por compartir con
nosotras sus conocimientos.
A mi mamá Josefina Juárez, por ofrecerme su apoyo incondicional, por sus sacrificios, por escucharme
siempre y por gastar su valioso tiempo en mí. A mi papá Everardo Naranjo, por darme todas las facilidades
para alcanzar mis objetivos, por enseñarme el valor del trabajo, el esfuerzo y la perseverancia. Gracias a
ambos por creer en mí.
A mis hermanos, que con sus consejos me han impulsado en todo momento. A cada uno de ellos le
agradezco por todo lo que me han enseñado, por compartir conmigo sus experiencias, por sostenerme y
guiarme desde siempre.
A Christopher Rodríguez, le agradezco por acompañarme en este camino, por enseñarme y aprender
conmigo, por sus innumerables palabras de aliento y por seguir creciendo juntos.
Quiero hacer una mención especial y darles las gracias a todos los niños, que con su voz hicieron posible
este proyecto.
Por último es para mí un honor, dar gracias al Instituto Politécnico Nacional por permitirme, crecer, estudiar
y forjarme en sus aulas, hasta convertirme en Ingeniera Telemática.
11
ÍNDICE
CAPÍTULO I: INTRODUCCIÓN .............................................................................................................. 25
1.1 Planteamiento del problema .................................................................................................................. 26
1.2 Propuesta de solución ........................................................................................................................... 26
1.2.1 Descripción general ....................................................................................................................... 26
1.3 Alcances ................................................................................................................................................ 28
1.4 Metodología .......................................................................................................................................... 28
1.5 Objetivo General ................................................................................................................................... 28
1.6 Objetivos Específicos ............................................................................................................................ 28
1.7 Estado del Arte ...................................................................................................................................... 29
1.7.1 Proyectos sobre el trastorno de la dislexia ..................................................................................... 29
1.7.2 Trabajos sobre reconocimiento de voz ........................................................................................... 30
CAPÍTULO II: MARCO TEÓRICO .......................................................................................................... 33
2.1 Dislexia ................................................................................................................................................. 33
2.1.1 Tipos de Dislexia ........................................................................................................................... 33
2.1.2 Diccionario fonético de palabras de difícil pronunciación para niños con dislexia ....................... 34
2.2 Proceso de producción de la voz ........................................................................................................... 37
2.2.1 Sonido ............................................................................................................................................ 37
2.2.2 Aparato Fonador ............................................................................................................................ 37
2.2.3 Lenguaje ......................................................................................................................................... 39
2.2.4 Lengua............................................................................................................................................ 39
2.2.5 Habla .............................................................................................................................................. 39
2.2.5.1 Unidades fundamentales del habla .......................................................................................... 39
2.3 Reconocimiento de voz ......................................................................................................................... 40
2.3.1 Señal de voz ....................................................................................................................................... 41
2.3.2 Captación de la señal de voz .......................................................................................................... 42
2.3.2.1 ADC ........................................................................................................................................ 42
2.3.2.2 Muestreo ................................................................................................................................. 43
2.3.2.3 Efecto Alias ............................................................................................................................. 44
2.3.2.4 Cuantización ........................................................................................................................... 45
2.3.2.5 Codificación ............................................................................................................................ 46
12
2.3.2.6 Especificación del formato de archivo de audio ..................................................................... 46
2.3.3 Preprocesamiento ........................................................................................................................... 47
2.3.3.1 Filtrado de la señal de voz ....................................................................................................... 47
2.3.3.2 Filtro de promedio móvil ........................................................................................................ 47
2.3.3.3 Filtro pasa banda ..................................................................................................................... 48
2.3.3.4 Preénfasis ................................................................................................................................ 49
2.3.3.5 Segmentación .......................................................................................................................... 49
2.3.3.6 Ventaneo ................................................................................................................................. 50
2.3.3.7 Detección de inicio y fin de palabra ........................................................................................ 51
2.3.3.8 Rabiner-Sambur ...................................................................................................................... 51
2.3.3.9 Normalización ......................................................................................................................... 54
2.3.4 Procesamiento ................................................................................................................................ 54
2.3.4.1 Extracción de características ................................................................................................... 54
2.3.4.2 Codificación de Predicción Lineal (LPC) ............................................................................... 54
2.3.5 Reconocimiento de patrones .......................................................................................................... 57
2.3.5.1 Aprendizaje automático .......................................................................................................... 58
2.3.5.2 Supervisado ............................................................................................................................. 58
2.3.5.3 Algoritmo 𝑘-NN...................................................................................................................... 58
2.3.5.4 No supervisado ........................................................................................................................ 59
2.3.5.5 Algoritmo 𝑘-Means ................................................................................................................. 59
CAPÍTULO III: ANÁLISIS ....................................................................................................................... 65
3.1 Descripción general del sistema ............................................................................................................ 65
3.1.1 Perspectiva del producto ................................................................................................................ 65
3.1.2 Funcionalidad del producto ............................................................................................................ 65
3.1.3 Características de los usuarios ....................................................................................................... 65
3.1.4 Restricciones .................................................................................................................................. 66
3.2 Requerimientos específicos del sistema .......................................................................................... 66
3.2.1 Requerimientos comunes de las interfaces .................................................................................... 67
3.2.1.1 Interfaces de usuario ............................................................................................................... 67
3.2.1.2 Interfaces de hardware ............................................................................................................ 67
3.2.1.3 Interfaces de software ............................................................................................................. 68
3.2.1.4 Interfaces de comunicación ..................................................................................................... 69
3.2.2 Requerimientos funcionales ........................................................................................................... 69
3.2.3 Requerimientos no funcionales ...................................................................................................... 70
13
3.2.3.1 Requisitos de rendimiento ....................................................................................................... 70
3.2.3.2 Seguridad ................................................................................................................................ 70
3.2.3.3 Fiabilidad ................................................................................................................................ 70
3.2.3.4 Disponibilidad ......................................................................................................................... 71
3.2.3.5 Mantenibilidad ........................................................................................................................ 71
3.2.3.6 Portabilidad ............................................................................................................................. 71
3.2.4 Otros requerimientos ...................................................................................................................... 71
3.3 Herramientas tecnológicas .................................................................................................................... 76
3.3.1 Sistema operativo ........................................................................................................................... 76
3.3.2 Lenguajes de programación ........................................................................................................... 77
3.3.3 Software de desarrollo ................................................................................................................... 78
3.3.4 Sistema Gestor de Base de Datos ................................................................................................... 82
3.3.5 Servidor .......................................................................................................................................... 83
CAPÍTULO IV: DISEÑO ....................................................................................................................... 88
4.1 Diccionario de mensajes ....................................................................................................................... 88
4.2 Modelado del sistema ........................................................................................................................... 88
4.2.1 Diagramas de casos de uso............................................................................................................. 88
4.2.2 Diagramas de secuencias ............................................................................................................... 99
4.2.3 Diagramas de actividades............................................................................................................. 102
4.2.4 Diagrama de clases ...................................................................................................................... 106
4.3 Base de Datos ...................................................................................................................................... 107
CAPÍTULO V. IMPLEMENTACIÓN ..................................................................................................... 111
5.1 Reconocimiento de voz ................................................................................................................... 111
5.1.1 Captura de la señal de voz ........................................................................................................ 112
5.1.1.1 Micrófono ............................................................................................................................. 112
5.1.2 Preprocesamiento ..................................................................................................................... 118
5.1.3 Procesamiento .......................................................................................................................... 130
5.1.4 Reconocimiento de patrones .................................................................................................... 135
5.2 Sistema de información ................................................................................................................... 139
CAPÍTULO VI: PRUEBAS Y RESULTADOS ....................................................................................... 156
6.1 Sugerencias para uso del sistema .................................................................................................... 160
VII. CONCLUSIONES ............................................................................................................................. 164
14
7.1 Reconocimiento de voz ................................................................................................................... 164
7.2 Sistema de información ................................................................................................................... 165
7.3 Trabajo a futuro ............................................................................................................................... 165
Bibliografía ............................................................................................................................................... 168
Anexo…………………………………………………………………………………...………………..164
15
ÍNDICE DE FIGURAS
Figura 1. 1 Sistema de reconocimiento de voz para la detección oportuna de dislexia en niños ................ 28
Figura 2.1: Esquema del aparato fonador humano...................................................................................... 38
Figura 2.2: Diagrama de las etapas del reconocimiento de voz del sistema ............................................... 41
Figura 2.3: Convertidor Analógico Digital ................................................................................................. 42
Figura 2.4: Muestreo de una señal analógica limitada en banda [16] ......................................................... 44
Figura 2.5: Representación del efecto alias que ocurre al submuestrear una señal [16] ............................. 45
Figura 2. 6 Cuantización y muestreo de una señal ...................................................................................... 46
Figura 2. 7 Diagrama a bloques del filtrado en la etapa de preprocesamiento. .......................................... 47
Figura 2. 8 Esquema filtro pasa banda ideal. .............................................................................................. 48
Figura 2.9: Diagrama a bloques de las etapas del módulo de reconocimiento de patrones ........................ 57
Figura 2.10: Diagrama a bloques del aprendizaje supervisado [27] ........................................................... 58
Figura 2.11: Diagrama a bloques del aprendizaje no supervisado [27] ...................................................... 59
Figura 2.12: Posicionamiento aleatorio de k=3 centroides iniciales en un conjunto de datos .................... 60
Figura 2.13: Se generan k-grupos al asignar cada dato al centroide más cercano ...................................... 60
Figura 2.14: Se repite el procedimiento hasta que los centros de cada clúster dejen de cambiar ............... 61
Figura 5. 1 Diagrama a bloques de las etapas del reconocimiento de voz. ............................................... 111
Figura 5. 2 Ejecución del programa de captura de la señal de voz. .......................................................... 112
Figura 5.3 Señal de voz de la palabra blanca con música en vivo ............................................................ 114
Figura 5.4 Señal de voz de la palabra blanca con música de fondo .......................................................... 114
Figura 5.5 Señal de voz de la palabra blanca con una conversación a 50 cm ........................................... 114
Figura 5.6 Señal de voz de la palabra blanca con una conversación a un metro ...................................... 114
Figura 5.7 Señal de voz de la palabra blanca con una conversación a tres metros ................................... 114
Figura 5.8 Señal de voz de la palabra blanca sin ruido ............................................................................. 114
Figura 5. 9 Señal de voz de la palabra blanca con ruido ambiental de transito ........................................ 115
Figura 5. 10 Señal de voz de la palabra blanca con música de fondo ....................................................... 115
Figura 5. 11 Señal de voz de la palabra blanca con una conversación a 50 cm ........................................ 116
Figura 5. 12 Señal de voz de la palabra blanca con una conversación 1 m .............................................. 116
Figura 5. 13 Señal de voz de la palabra blanca con una conversación a 3m ............................................. 116
Figura 5. 14 Señal de voz de la palabra blanca sin ruido .......................................................................... 116
Figura 5.15 Señal de voz de la palabra blanca con música en vivo .......................................................... 117
Figura 5.16 Señal de voz de la palabra blanca con música de fondo ........................................................ 117
Figura 5.17 Señal de voz de la palabra blanca con una conversación a 50 cm ......................................... 117
Figura 5.18 Señal de voz de la palabra blanca con una conversación a un metro .................................... 117
Figura 5.19 Señal de voz de la palabra blanca con una conversación a tres metros ................................. 117
Figura 5.20 Señal de voz de la palabra blanca sin ruido ........................................................................... 117
Figura 5. 21 Filtrado de promedio móvil con longitudes de M = 5, 8 y 12 coeficientes. ......................... 120
Figura 5. 22 Coeficientes del filtro FIR y Ventana de Hamming. ............................................................ 121
Figura 5. 23 Coeficientes del filtro FIR pasa banda. ................................................................................. 121
Figura 5. 24 Filtro FIR de orden 12 aplicado a la señal de voz ................................................................ 121
Figura 5. 25 Filtro Preénfasis aplicado a la señal de voz con a = 0.9 ....................................................... 122
16
Figura 5. 26 Señal de voz filtrada utilizando los tres filtros secuencialmente. ......................................... 122
Figura 5. 27 Centésimo segmento de la señal de voz de la palabra escapó .............................................. 123
Figura 5. 28 Ventaneo de un segmento de la señal de voz con distintas ventanas. .................................. 125
Figura 5. 29 Diagrama de flujo del algoritmo de detección de inicio y fin de palabra. ............................ 126
Figura 5. 30 Magnitud promedio de la palabra escapó. ............................................................................ 126
Figura 5. 31 Tasa de cruces por cero de la palabra escapó ....................................................................... 127
Figura 5. 32 a) Oscilograma de la señal de voz antes de ser recortada. b) Palabra escapó. ...................... 127
Figura 5. 33 Detección de inicio y fin de una palabra, con una conversación a 50 cm de distancia. ....... 128
Figura 5. 34 Detección de inicio y fin, posterior al filtrado de promedio móvil (M = 4). ........................ 128
Figura 5. 35 Palabra blanca recortada correctamente. .............................................................................. 129
Figura 5. 36 Alteración en la detección de inicio y fin de la palabra gemelo por ruido inicial. ............... 129
Figura 5. 37 Palabra gemelo recortada correctamente. ............................................................................. 130
Figura 5. 38 Espectro de potencia para un segmento de la señal .............................................................. 131
Figura 5. 39 Programa para el procesamiento de un archivo de audio en Java, ....................................... 135
Figura 5. 40 Almacenamiento de vectores de características por palabra. ............................................... 135
Figura 5. 41 Herramienta de agrupación ................................................................................................... 136
Figura 5.42 Diferencia entre el conjunto de palabras formado por /bala/ y /dala/ .................................... 138
Figura 5.43 Resultado proporcionado por el clasificador ......................................................................... 139
Figura 5. 44 Mapa del sitio ....................................................................................................................... 139
Figura 5. 45 Inicio de servicios en la distribución XAMPP ..................................................................... 140
Figura 5. 46 Base de datos en el servidor ................................................................................................. 140
Figura 5. 47 Estructura tabla Usuario en la base de datos. ....................................................................... 140
Figura 5. 48 Página de inicio del sistema .................................................................................................. 141
Figura 5. 49 Formulario de registro de usuario ......................................................................................... 142
Figura 5. 50 Menú de navegación del administrador. ............................................................................... 142
Figura 5. 51 Registro de un especialista por el administrador. ................................................................. 142
Figura 5. 52 Verificación de Cédula Profesional en el portal de gobernación. ......................................... 143
Figura 5. 53 Validación de un usuario en el sistema................................................................................. 143
Figura 5. 54 Menú de navegación del sistema de información ................................................................. 143
Figura 5. 55 Pantalla información del trastorno de Dislexia. .................................................................... 144
Figura 5. 56 Registrar pacientes en el sistema de información ................................................................. 144
Figura 5. 57 Pacientes inscritos en el sistema, .......................................................................................... 145
Figura 5. 58 Editar información de un paciente registrado. ...................................................................... 145
Figura 5. 59 Ayuda para realizar una grabación de voz ............................................................................ 146
Figura 5. 60 Presentación de las palabras que deben ser leídas durante la prueba. .................................. 146
Figura 5. 61 Subir archivos de audio de cada paciente ............................................................................. 147
Figura 5. 62 Archivos en el servidor ......................................................................................................... 147
Figura 5. 63 Cambio de contraseña en la pantalla Configuración. ........................................................... 148
Figura 5. 64 Descarga de archivos de audio y directorio de Archivos en el equipo del especialista. ....... 148
Figura 5. 65 Interfaz del especialista ........................................................................................................ 149
Figura 5. 66 Funcionamiento de la interfaz del especialista. .................................................................... 149
Figura 5. 67 Procesamiento de archivos de audio desde la interfaz del especialista. ............................... 150
Figura 5. 68 Resultado de la prevaloración por el sistema para el usuario Médico especialista. ............. 151
Figura 5. 69 Resultado de la prevaloración para el usuario Médico auxiliar. ........................................... 152
Figura 5. 70 Posición del micrófono para realizar una grabación. ............................................................ 161
17
ÍNDICE DE TABLAS
Tabla 1.1: Relación entre el resultado de la prueba diagnóstica y la presencia o ausencia del trastorno ... 27
Tabla 2.1: Palabras recopiladas de difícil pronunciación y su pronunciación 35
Tabla 2.2: Palabras de difícil pronunciación para niños en 1° y 2° grado 35
Tabla 2.3: Palabras de difícil pronunciación para niños en 3° grado 36
Tabla 2.4: Palabras de difícil pronunciación para niños en 4° grado 36
Tabla 2.5: Palabras de difícil pronunciación para niños en 5° y 6° grado 37
Tabla 2.6: Clasificación de los fonemas del español 40
Tabla 2.7: Ecuaciones de las ventanas más utilizadas para el ventaneo 50
Tabla 2. 8 Características principales de cada ventana 50
Tabla 3.1: Características del usuario administrador .................................................................................. 65
Tabla 3.2: Características del usuario médico auxiliar ............................................................................... 66
Tabla 3.3: Características del usuario médico especialista ......................................................................... 66
Tabla 3.4: Equipo de cómputo .................................................................................................................... 67
Tabla 3. 5 Características de micrófonos .................................................................................................... 68
Tabla 3.6: Recursos de software ................................................................................................................. 68
Tabla 3.7: Requerimientos funcionales ....................................................................................................... 69
Tabla 3.8: Requerimiento no funcional de rendimiento .............................................................................. 70
Tabla 3.9 Requerimientos no funcionales de seguridad .............................................................................. 70
Tabla 3.10: Requerimientos no funcionales de fiabilidad ........................................................................... 70
Tabla 3.11: Requerimiento no funcional de disponibilidad ........................................................................ 71
Tabla 3.12: Requerimiento no funcional de mantenibilidad ....................................................................... 71
Tabla 3.13: Requerimiento no funcional de portabilidad ............................................................................ 71
Tabla 3.14: Requerimientos legales ............................................................................................................ 71
Tabla 3.15: Identificación de riesgos .......................................................................................................... 72
Tabla 3.16: Priorización del Riesgo ............................................................................................................ 73
Tabla 3. 17(continuación): Priorización del Riesgo .................................................................................... 74
Tabla 3.18: Planeación de riesgos ............................................................................................................... 75
Tabla 3. 19(continuación): Planeación de riesgos....................................................................................... 76
Tabla 3.20: Sistema operativo ..................................................................................................................... 77
Tabla 3.21: Lenguajes de programación ..................................................................................................... 78
Tabla 3.22: Software de desarrollo ............................................................................................................. 79
Tabla 3. 23(continuación): Software de desarrollo ..................................................................................... 80
Tabla 3.24: Sistema Gestor de Base de Datos ............................................................................................ 82
Tabla 3.25: Servidor .................................................................................................................................... 83
Tabla 4.1 Diccionario de mensajes del sistema .......................................................................................... 88
Tabla 4.2: Atributos importantes del caso de uso 1 .................................................................................... 89
Tabla 4.3: Atributos importantes del caso de uso 2 .................................................................................... 90
Tabla 4.4: Aspectos importantes del caso de uso 3 ..................................................................................... 92
Tabla 4.5: Aspectos importantes del caso de uso 4 ..................................................................................... 93
18
Tabla 4.6: Aspectos importantes del caso de uso 5 ..................................................................................... 94
Tabla 4. 7: (continuación): Aspectos importantes del caso de uso 5 .......................................................... 95
Tabla 4.8: Aspectos importantes del caso de uso 6 ..................................................................................... 96
Tabla 4.9: Aspectos importantes del caso de uso 7 ..................................................................................... 97
Tabla 4.10: Aspectos importantes del caso de uso 8 ................................................................................... 98
Tabla 5.1 Relación Señal a Ruido del Micrófono 1 115
Tabla 5.2 Relación Señal a Ruido del Micrófono 2 116
Tabla 5.3 Relación Señal a Ruido del Micrófono 3 118
Tabla 5.4 Comparación de la SNR 118
Tabla 5.5 Número de segmentos para cada par de palabras. 131
Tabla 5.6 Número de segmentos para cada par de palabras. 132
Tabla 5. 7 Número de segmentos para cada par de palabras. 132
Tabla 5. 8 Número de segmentos para cada par de palabras. 133
Tabla 5. 9 Número de segmentos para cada par de palabras. 133
Tabla 5.10 Patrones de las palabras 136
Tabla 5. 11(continuación): Patrones de palabras 137
Tabla 6.1 Resultados obtenidos para la etapa de entrenamiento 156
Tabla 6. 2(continuaciòn): Resultados obtenidos para la etapa de entrenamiento 157
Tabla 6.3 Resultados obtenidos en la etapa de prueba 157
Tabla 6. 4(continuación): Resultados obtenidos en la etapa de prueba 158
Tabla 6.5 Resultados obtenidos en la etapa de validación 158
Tabla 6. 6(continuación) Resultados obtenidos en la etapa de validación 159
Tabla 6.7 Rendimiento del Reconocedor de Voz 159
Tabla 6. 8 (continuación): Rendimiento del Reconocedor de Voz 160
19
ÍNDICE DE DIAGRAMAS
Diagrama 4-1 Caso de uso "Ingresar al sitio" ....................................................................................... 89
Diagrama 4-2 Caso de uso "Captura de la voz" .......................................................................................... 90
Diagrama 4-3 Caso de uso "Preprocesamiento de la voz" .......................................................................... 92
Diagrama 4-4 Caso de uso "Procesamiento de la voz" ............................................................................... 93
Diagrama 4-5 Caso de uso "Entrenamiento de palabras" ........................................................................... 94
Diagrama 4-6 Caso de uso "Clasificación de palabras" .............................................................................. 96
Diagrama 4-7 Caso de uso "Presentación del diagnóstico" ........................................................................ 97
Diagrama 4-8 Caso de uso "Gestión de datos del sistema" ......................................................................... 98
Diagrama 4-9 secuencia "Ingresar al sitio" ................................................................................................. 99
Diagrama 4-10 secuencia "Captura de la voz" ............................................................................................ 99
Diagrama 4-11 secuencia "Preprocesamiento de la voz" .......................................................................... 100
Diagrama 4-12 secuencia "Procesamiento de la voz" ............................................................................... 100
Diagrama 4-13 secuencia "Entrenamiento de palabras" ........................................................................... 101
Diagrama 4-14 secuencia "Clasificación de palabras" .............................................................................. 101
Diagrama 4-15 Actividades “Ingresar al sitio” ......................................................................................... 102
Diagrama 4-16 Actividades "Captura de la voz" ...................................................................................... 102
Diagrama 4-17 Actividades "Preprocesamiento de la voz" ...................................................................... 103
Diagrama 4-18 Actividades "Procesamiento de la voz" ........................................................................... 103
Diagrama 4-19 Actividades “Entrenamiento de palabras” ....................................................................... 104
Diagrama 4-20 Actividades "Presentación de diagnóstico" ...................................................................... 105
Diagrama 4-21 Actividades "Gestión de datos del sistema" ..................................................................... 105
Diagrama 4-22 de clases del sistema ........................................................................................................ 106
Diagrama 4- 23: Modelo relacional de la base de datos ........................................................................... 107
20
21
RESUMEN
En las personas con discapacidad existen diferentes padecimientos, en este documento se aborda uno de
los trastornos del aprendizaje conocido como dislexia que tiene consecuencias, en quien la padece, tanto
en el ámbito personal, social, así como laboral; en muchas ocasiones son discriminados reduciendo sus
oportunidades de empleos bien remunerados.
Aunque el trastorno de la dislexia no tiene una cura definitiva, al detectarse oportunamente en la infancia
es posible que quien la padece al recibir el tratamiento adecuado supere parcialmente sus problemas y
pueda tener una mejor integración en la sociedad.
Este documento presenta una alternativa para hacer un diagnóstico oportuno en personas con dislexia.
Con el propósito de lograr una cobertura geográfica de la zona centro del país. En el lugar del diagnóstico
se tiene considerado que se encuentren especialistas en el área de tratamiento y corrección de los trastornos
del lenguaje para que evalúen los resultados proporcionados por el sistema propuesto y dar un
prediagnóstico de dislexia.
Se desarrolló un sistema con arquitectura cliente/servidor que integra dos módulos para realizar el
diagnóstico; el primero es el aprendizaje de patrones de voz de palabras que se conoce que son útiles para
la detección de la dislexia y que para este propósito se trabajó con archivos de audio, de niños que
proporcionaron la lectura de dichas palabras; el segundo módulo utiliza los resultados del primer módulo
y algoritmos de procesamiento de voz y medidas de distancia entre patrones para clasificar la voz de
personas que se quieran diagnosticar.
Este proyecto se enfoca en infantes que comienzan a leer o poseen un nivel lector de educación primaria.
Los participantes para este proceso, han sido voluntarios y sus datos se mantienen con un perfil
confidencial. Asimismo, las pruebas se realizaron con previo consentimiento de los padres o tutores de
cada niño.
Las comunicaciones integran protocolos de encriptación de información para procurar su consistencia y
confidencialidad. La herramienta telemática es un apoyo a los especialistas y de ninguna manera se
considera su sustitución.
Los resultados de las pruebas realizadas permiten considerar esta propuesta como una alternativa útil para
la detección temprana de la dislexia mediante el reconocimiento de voz.
Palabras clave: Dislexia, procesamiento de voz, aprendizaje en máquina «machine learning»,
identificación de patrones.
22
CAPÍTULO I: INTRODUCCIÓN
Sistema de reconocimiento de voz para la detección oportuna de la dislexia en niños
Capítulo I
24
Capítulo I
25
CAPÍTULO I: INTRODUCCIÓN
Las estadísticas del INEGI [1] en México, indican que al menos cinco millones de personas tienen algún
tipo de discapacidad física o mental. Entre estos problemas están los relacionados con el lenguaje, con una
población de aproximadamente el 5%; a nivel mundial este porcentaje es aún mayor afectando
principalmente a infantes. Las estadísticas de los Institutos de Salud de Estados Unidos «NIH, National
Institutes of Health» muestran que el 15% de la población tiene algún tipo de trastorno de aprendizaje, los
más comunes son las dificultades con la lectura y el habla.
La adquisición del lenguaje oral es un acto natural en las personas, que se adquiere con la exposición
del niño al mundo hablante de los adultos; el lenguaje escrito es una habilidad cultural que requiere de un
proceso de enseñanza-aprendizaje explícito y sistemático. Leer y escribir son habilidades de comunicación
básicas que han constituido el desarrollo del ser humano. El tener dificultades específicas de aprendizaje
en la lectura y escritura, contribuye a obstaculizar la adquisición de conocimiento e involucra conflictos
sociales en el proceso formativo. Dentro de los trastornos de lectura y escritura se encuentra la dislexia.
La dislexia [2], es un trastorno del habla que se presenta en las personas desde la infancia y persiste en
el tiempo afectando habilidades básicas como la lectura y la escritura repercutiendo en problemas de
aprendizaje. Las personas se verán afectadas por el trastorno, aunque tengan capacidades intelectuales
normales o incluso superiores. La revista “México Sano” de la Secretaría de Salud publicó que
aproximadamente el 8% de los niños que cursan la primaria presentan dislexia, que como se ha expuesto
afecta su capacidad y desarrollo.
Los síntomas de la dislexia se pueden notar desde que los infantes comienzan a decir sus primeras
palabras, pero usualmente el diagnóstico se realiza hasta que empiezan a leer y escribir. En algunos casos
los niños con trastornos de aprendizaje [3], presentan también trastornos en la lectura pero no es
necesariamente dislexia; porque esta se puede confundir con dificultades de atención, cuestiones
madurativas o emocionales.
La detección oportuna de la dislexia le permite a los afectados mejorar su calidad de vida y darles
mejores oportunidades para estudiar y completar una carrera, otorgándoles al mismo tiempo la oportunidad
de mejorar la interacción con su entorno y así evitarles la marginación social a que se encuentran expuestos.
En este documento se aborda el problema de la dislexia ya que, si no se trata oportunamente, causa
afectaciones socioeconómicas para quien la padece. Como alternativa de solución se propone una
herramienta de reconocimiento de voz que ayude a la detección oportuna en niños de la zona centro del
país, otorgando un resultado validado por un especialista para que los afectados puedan iniciar un
tratamiento acorde sus características.
La organización formal de este documento es la siguiente. En el Capítulo 1, se brinda una introducción
al trastorno de la dislexia y se propone al reconocimiento de voz como alternativa para su detección.
Capítulo 2, se desarrolla el sustento teórico que fundamenta el planteamiento del problema y su propuesta
de solución. Capítulo 3, es el resultado del análisis de requerimientos para la realización del sistema.
Capítulo 4, se presenta el diseño del sistema. Y finalmente como Anexo, se adjunta una carta que ilustra el
proceso llevado a cabo para la obtención de muestras de voz a utilizar en el entrenamiento del sistema.
Capítulo I
26
1.1 Planteamiento del problema
El trastorno de la dislexia afecta a hombres y mujeres desde la infancia con consecuencia para quien
la padece en la edad adulta, de tener nulas o pocas oportunidades en el ámbito laboral. Actualmente no se
conoce una cura definitiva, solamente tratamientos para mejorar las oportunidades de un mayor desarrollo
académico y social en comparación a vivir sin tratamiento. Los resultados son mejores cuando los
tratamientos se inician en edades tempranas del desarrollo de las personas, por lo tanto, su detección
oportuna permite iniciar su atención.
Algunas de las pruebas para detectar la dislexia [4] se basan en lo que escriben los niños, pero se ha
detectado que estas no son completamente certeras porque la opinión de los especialistas varía; solamente
sirven como indicadores para que algunos niños sean evaluados más exhaustivamente por personal
especializado en el área de tratamiento y corrección de los trastornos del lenguaje.
Al querer detectar la dislexia mediante el reconocimiento de voz en la infancia, conlleva a utilizar la
lectura como medio de diagnóstico. Esto requiere que los niños sean llevados con los especialistas que
hacen las valoraciones correspondientes; por lo tanto, los niños que no pueden acudir a los centros de
atención que cuentan con el personal para su diagnóstico, por ahora, tienen menores posibilidades, en caso
de ser positivo su padecimiento, de iniciar algún tipo de tratamiento que asegure su integración más
adecuada al entorno social.
1.2 Propuesta de solución
Se plantea una alternativa a la detección oportuna de la dislexia con el fin de mejorar los primeros
entornos de aprendizaje del afectado, lo que en un futuro le permitirá obtener oportunidades de desarrollo
personal y profesional que darán resultado en su integración social como alguien productivo.
1.2.1 Descripción general
En este Proyecto Terminal se propone un sistema que sirva como auxiliar para la detección a distancia
en infantes, mediante el procesamiento de su voz incluyendo la validación de un experto en el área de
tratamiento y corrección de los trastornos del lenguaje, esto facilita la valoración del trastorno cuando al
especialista no le es posible trasladarse al lugar específico donde se encuentra el paciente o cuando el infante
no pueda acudir al centro de diagnóstico.
En muchos casos la detección del trastorno nunca se realiza o en su defecto es tardía, por lo que en
este trabajo se propone el desarrollo de un sistema para la detección oportuna de dislexia en niños que
comienzan a leer o poseen un nivel lector de educación primaria.
Este sistema se basa en la arquitectura cliente/servidor como se muestra en la Figura 1.1, con un cliente
ligero que permite obtener la lectura de varias palabras, que se conoce, sirven para detectar la dislexia en
niños.
La voz se recibe por un micrófono profesional, luego se entrega a un convertidor analógico digital y
se guarda en un archivo de audio el cual se envía al servidor para iniciar su procesamiento.
Posteriormente se utiliza un filtro de promedio móvil cuya respuesta al impulso permite eliminar en la
medida de lo posible las señales de ruido, así mismo la señal pasa por un filtro digital pasa banda diseñado
para procesar las frecuencias de la voz humana. La implementación conjunta de estos filtros ayuda a
eliminar señales indeseables que se agregan por fluctuaciones propias de la voz, medio ambiente,
micrófono, entre otros. Una vez concluido el procedimiento anterior, se obtienen los fragmentos de la señal
de voz correspondientes a cada palabra para después obtener un conjunto de características cuantitativas
que la describan.
Capítulo I
27
A partir de estas características obtenidas, se aplican algoritmos de agrupamiento y medidas de
distancia para generar los patrones representativos de las palabras que se sabe sirven para identificar la
dislexia y con ello crear dos diccionarios fonéticos que contendrán palabras pronunciadas por niños con
dislexia y sin dislexia respectivamente. Para esta etapa de entrenamiento se obtuvieron grabaciones de voz,
de niños y niñas voluntarios con el consentimiento firmado de sus padres y con un acuerdo de
confidencialidad.
Finalmente, para emitir un diagnóstico se utilizan los diccionarios fonéticos generados, para que cada
diagnóstico que se realice sea comparado tanto con el diccionario fonético de palabras con pronunciación
sin dislexia, como con el de palabras con pronunciación teórica de dislexia.
Para efectuar el diagnóstico, la voz del niño a diagnosticar se compara primero con el diccionario de
palabras pronunciadas con dislexia, con lo cual se pueden obtener dos resultados, Verdadero Positivo (VP)
o Falso Positivo (FP).
Asumiendo que el primer resultado es VP, el cual supone que el niño tiene dislexia; ahora las palabras
del niño a diagnosticar se comparan con el segundo diccionario, con lo cual nuevamente se pueden generar
dos resultados, Falso Negativo (es falso que no tiene dislexia) o Verdadero Negativo (es verdadero que no
tiene dislexia). Si el resultado de esta comparación es FN, entonces se emite el diagnóstico “Paciente
candidato a tener dislexia”. Si el resultado es VN, entonces se emite “Diagnóstico en duda, candidato a
tener dislexia”.
Los niños que en la primera prueba obtengan FP, se suponen sin dislexia, por lo que al someter a
prueba sus palabras pronunciadas al diccionario fonético de niños sin dislexia se tienen dos posibles
resultados, Verdadero Negativo (VN) con lo cual se emite el diagnóstico “Paciente sin dislexia”; o Falso
Negativo (FN), entonces se emite el diagnóstico “Candidato a tener dislexia”.
Con el fin de hacer notar este método de diagnóstico, en la Tabla 1.1, se muestra la relación entre los
posibles resultados emitidos por el sistema.
Tabla 1.1: Relación entre el resultado de la prueba diagnóstica y la presencia o ausencia del trastorno
Resultados de la prueba Diagnostico verdadero
Con dislexia Sin dislexia
Positivo Verdadero Positivo (VP) Falso Positivo (FP)
Negativo Falso Negativo (FN) Verdaderos Negativos (VN)
Capítulo I
28
Figura 1. 1 Sistema de reconocimiento de voz para la detección oportuna de dislexia en niños
Debido a los diversos factores mencionados que pueden afectar la captación de voz y la presencia de
los demás síntomas que influyen en el trastorno como la genética por mencionar uno de ellos, se tiene
considerado que además de la valoración mediante la computadora, los resultados sean validados por un
experto en trastornos del lenguaje y entonces se emita el diagnóstico definitivo. La propuesta funciona en
este caso como una prevaloración que ayude a agilizar el diagnóstico.
1.3 Alcances
En este proyecto se presenta una alternativa capaz de auxiliar en la detección del trastorno de dislexia
en niños que comienzan a leer o poseen un nivel lector de educación primaria y que se localizan en la zona
centro del país, por medio de la evaluación de la pronunciación fonética de cada niño al leer un conjunto
de palabras preestablecidas para detectar dislexia.
1.4 Metodología
La metodología de este proyecto se basa en el modelo de cascada debido a que su enfoque está dirigido
al riguroso ordenamiento de las etapas del ciclo de vida del software, de tal forma que el inicio de cada
etapa debe esperar a la finalización de la inmediatamente anterior.
1.5 Objetivo General
Desarrollar e implementar un sistema con la capacidad de aprender patrones de voz de infantes con y
sin dislexia, para realizar la detección oportuna de este trastorno en niños y así proporcionar a los
especialistas el primer indicio de la necesidad de un tratamiento.
1.6 Objetivos Específicos
1. Desarrollar la arquitectura y diseño del sistema, así como las interfaces y salidas que componen
al mismo con el uso de una metodología de diseño de software.
2. Diseñar y desarrollar el programa para la captación de voz.
Cliente
Voz de un niño
a diagnosticar
Servidor
Diagnóstico
Médico
auxiliar
Médico
especialista
Diccionario
Patrones sin dislexia Diccionario
Patrones con dislexia
Capítulo I
29
3. Implementar el módulo de captación de voz para el análisis y procesamiento de la señal dentro
del sistema.
4. Definir, seleccionar e implementar el modelo de aprendizaje adecuado para generar patrones de
voz.
5. Almacenar los patrones de voz obtenidos y crear los diccionarios fonéticos que contengan
palabras pronunciadas por niños con y sin dislexia.
6. Desarrollar el programa que permita comparar las similitudes y diferencias entre la voz de un
niño a diagnosticar y los diccionarios fonéticos.
7. Programar las interfaces de usuario establecidas en los requerimientos del sistema.
8. Realizar pruebas experimentales de los distintos módulos del sistema y sus funciones.
9. Implementar e integrar los módulos que componen al sistema para evaluar su correcto
desempeño.
10. Realizar las pruebas de validación pertinentes del sistema con infantes voluntarios.
1.7 Estado del Arte
A continuación, se describen, en primera instancia los trabajos que se han desarrollado con el objetivo
de ayudar en la detección del trastorno de la dislexia y posteriormente aquellos que realizan reconocimiento
de voz.
1.7.1 Proyectos sobre el trastorno de la dislexia
En esta sección se mencionan los proyectos académicos relacionados con el trastorno de la dislexia.
Dislexia y bajo rendimiento escolar
Este proyecto [4], tuvo como objetivo determinar si la dislexia es un factor que influye en el bajo
rendimiento escolar. Esto mediante el test DST-J, que es un test para la detección de la dislexia en niños.
Demostrando afirmativamente que la dislexia sí influye en el bajo rendimiento escolar, ya que el grupo de
niños evaluados presentaron problemas de lectura y escritura, segmentación fonética, vocabulario,
coordinación, fluidez verbal, fluidez semántica; áreas que son importantes para el aprendizaje de destrezas
en el niño, lo cual repercute en su rendimiento escolar. Como aporte se elaboró un cuestionario, como
instrumento de medición para que el docente pueda verificar si hay riesgo de dislexia en los niños a evaluar
para descartar posibles indicadores de dislexia y poder ayudar a los niños con este diagnóstico.
Terapia del habla mediante computadoras para los trastornos del sonido del habla infantil
Se han desarrollado investigaciones y programas para terapia del habla mediante computadoras [5]
donde se busca proveer recursos innovadores para tratar trastornos del habla como disartria, deterioro de la
articulación, deterioro fonológico, entre otros, con el fin de solventar la escasez de personal especialista en
Capítulo I
30
trastornos de este tipo, así como brindar el acceso a un tratamiento a niños que no tienen recursos para este
servicio.
Se ha encontrado en la literatura que este tipo de terapia puede ser un método útil para complementar el
manejo de una variedad de trastornos del habla infantil. Por otra parte, una evaluación realizada a distintas
aplicaciones con este enfoque considera que el uso de herramientas de reconocimiento de voz aumentaría
los beneficios de la terapia al reducir los tiempos de espera y el número de casos.
Sin embargo, la mayoría de estas aplicaciones están enfocadas al tratamiento del habla una vez que ya se
realizó un diagnóstico, no obstante personas que desconocen la existencia de estos trastornos y además
desconocen que los padecen, no tienen el acceso a alguna de las herramientas anteriores.
1.7.2 Trabajos sobre reconocimiento de voz
Sistema de reconocimiento de palabras clave en conversaciones de voz
Es una tesis centrada en el reconocimiento de palabras clave dentro de conversaciones de voz [6], para
recabar información que se considere importante para ser utilizada en el desarrollo de otras aplicaciones.
Utiliza las redes neuronales como técnica de clasificación de los vectores característicos de la señal de voz
para alcanzar la correcta identificación de las palabras pronunciadas dentro de la conversación de voz.
Sistema certificador de locutor por voz
Es un sistema de seguridad capaz de certificar a uno de diez usuarios mediante su voz [7], con palabras
seleccionadas de acuerdo a sus características fonéticas, utilizando los coeficientes de predicción lineal y
la frecuencia de fundamental para la extracción de características para el método de entrenamiento se utiliza
una red neuronal.
Gamevoice, videojuego controlado por voz
Este trabajo es un videojuego demostrativo que es controlado por voz [8] con la finalidad de efectuar
una interactividad entre el jugador y la computadora, así como ayudar a personas que no están en posibilidad
de utilizar las extremidades superiores en su interacción con el mismo. Dicho videojuego puede reconocer
siete palabras: arriba, abajo, izquierda, derecha, pausa, dispara y salir.
Sistema de seguridad de activación automática para joyería
Esta tesis se enfoca en implementar el reconocimiento de voz [9] para accionar la alarma de una joyería
de manera automática. El sistema posee dos aplicaciones, una para la joyería y otra para una empresa de
seguridad, donde en la primera se detecta la palabra y con ello la activación de la alarma; y en la segunda
se recibe un mensaje de alerta que da pie a la observación del video que es captado por una cámara colocada
dentro de la joyería, lo que ayuda a la empresa a corroborar la causa de la activación de la alarma para en
caso de ser necesario brindar su apoyo a la joyería.
Dicho sistema es capaz de reconocer una palabra correspondiente a un interlocutor, con una eficiencia
de reconocimiento del 72%.
CAPÍTULO II: MARCO TEÓRICO
Sistema de reconocimiento de voz para la detección oportuna de la dislexia en niños
Capítulo II
32
Capítulo II
33
CAPÍTULO II: MARCO TEÓRICO
Este capítulo da inicio con la sección 2.1 que proporciona un acercamiento al trastorno de la dislexia,
mostrando su clasificación y presentando las palabras que son de difícil pronunciación para los niños con
este padecimiento. Después de lo cual se expone el proceso de producción de la voz en 2.2 como preámbulo
al apartado 2.3 que detalla lo relacionado con el reconocimiento de voz.
2.1 Dislexia
La palabra dislexia deriva del griego “dys” que significa dificultad o desorden y “lexis” que significa
palabra o lenguaje, de manera que la dislexia es una dificultad para generar e interpretar el lenguaje,
principalmente se refleja en escasas habilidades para la lectura y escritura pese a la persona posea una
inteligencia adecuada y apropiadas oportunidades socioculturales.
Establecer una definición de dislexia ha sido habitualmente un tema de discusión y debate, dado que
engloba diferentes temáticas que deben ser estudiadas para lograr su comprensión. No obstante, se ha
descrito a lo largo del tiempo como un trastorno específico del aprendizaje, caracterizado por la dificultad
en la fluidez y precisión en el reconocimiento de palabras, así como pobres aptitudes de ortografía y
codificación [2]. Adicionalmente es el trastorno de aprendizaje más frecuente entre la población infantil.
En ausencia de conclusiones científicas sobre el origen de la dislexia, se han construido diversas
hipótesis, una de ellas explica que es causada debido a una diferencia estructural en el cerebro vinculada al
área del lenguaje, sin embargo, la más aceptada es la teoría fonológica, la cual asegura que a las personas
con dislexia les cuesta entender que la palabra escrita o hablada se divide en fonemas y letras, y que a su
vez estos se representan e identifican mutuamente.
Por otra parte, éste es un trastorno con un grado significativo de herencia, debido a que se han
identificado marcadores genéticos que pueden dar lugar a la dislexia. En virtud de ello, se han localizado
nueve regiones del genoma humano que poseen genes de susceptibilidad para el desarrollo de la dislexia,
ubicados en los cromosomas 1, 2, 3, 6, 15 y 18 [2]. De ahí que los cuatro genes más significativos se
encuentran dentro de los cromosomas 3, 6 y 15, estos son: ROBO1, DCDC2, KIAA031 y DYX1C1; los
cuales se relacionan con la capacidad de lectura global de la palabra, así como el proceso fonológico y
lingüístico [10].
De acuerdo con lo anterior, es evidente que existe mayor riesgo de presentar dislexia si dentro del
núcleo familiar algún miembro la padece, ya que numerosos estudios dictaminan una herencia de entre el
18 y 65 por ciento, siendo 8 veces más probable tener dislexia cuando el afectado es uno de los padres [2].
2.1.1 Tipos de Dislexia
La Asociación Internacional de Dislexia «International Dyslexia Association» [2] clasifica al trastorno
de la dislexia en dos tipos, adquirida y evolutiva. La dislexia evolutiva puede originarse debido a déficits
congénitos y alude a las dificultades para aprender a leer, por lo que se manifiesta desde las primeras etapas
de la adquisición de esta habilidad con inversiones de letras en la escritura y/o lectura, adiciones, omisiones,
escritura en espejo y repeticiones.
La dislexia adquirida o madurativa se origina a causa de una lesión cerebral o traumatismo posnatal
[11] se presenta como la pérdida total o parcial de la habilidad lectora una vez, que ya se había adquirido,
por lo que se es incapaz de leer o escribir correctamente.
Capítulo II
34
Asimismo, existen tres subtipos de dislexia [2]: fonológica, superficial y mixta. La dislexia fonológica
existe cuando los lectores evidencian dificultades para leer palabras que les resultan poco conocidas, por
ende, solo leen las partes de la palabra que conocen y adivinan el resto. El problema surge durante el proceso
de conversión grafema-fonema, por este motivo se incurre en errores de localización morfológicos de tipo
visual. En este subtipo se suelen cometer más errores con las palabras funcionales (artículos, preposiciones,
conjunciones y pronombres) que con las de contenido (sustantivos, verbos y adjetivos).
La dislexia superficial es aquella en la que las personas no son capaces de leer palabras globalmente,
el lector lee lentamente separando letras y sílabas, no se respetan los signos de puntuación y no se mantiene
el ritmo.
Por último, la dislexia mixta ocurre cuando se tienen características tanto de la fonológica como de la
superficial.
2.1.2 Diccionario fonético de palabras de difícil pronunciación para niños con dislexia
Existen palabras que se consideran de difícil pronunciación para un niño que presenta el trastorno de
dislexia, esto debido a la confusión causada por la semejanza fonética entre sílabas, la posición o dirección
de los elementos que conforman las letras o una separación inadecuada de las sílabas de una palabra.
Para este trabajo se realizó la evaluación de dislexia en niños utilizando palabras seleccionadas de [11],
en donde se realizaron pruebas de diagnóstico de dislexia a 360 niños de la Ciudad de México en escuelas
del sector público a nivel primaria, arrojando palabras especificas con alto grado de dificultad.
Estas palabras están clasificadas de acuerdo al grado de primaria en el que el niño se encuentra, se han
seleccionado aquellas palabras que corresponden a errores cometidos en lectura y dictado.
En la Tabla 2.1 se enlistan las palabras recopiladas y la pronunciación teórica correspondiente a un
niño con dislexia. Las palabras de esta tabla conforman el diccionario del sistema; las primeras diez se
eligieron debido a que el estudio de referencia proporciona la pronunciación teórica correspondiente a un
niño con dislexia, y las diez últimas fueron recomendadas por una especialista en pedagogía y educación.
Es entonces que, los conjuntos de palabras que sirven para la evaluación en el sistema están validados por
dicha especialista.
Más palabras de difícil pronunciación se encuentran en las Tablas 2.2 a 2.5, en donde se enlistan las
palabras clasificadas por grado escolar.
A lo largo de esta investigación se tomaron muestras de pronunciación de niños con dislexia que
conforman la tercera columna denominada Evidencia Experimental en la Tabla 2.1, esto con el fin de
corroborar la información bibliográfica y además definir estas palabras como parámetros de evaluación y
diagnóstico.
Capítulo II
35
Tabla 2.1: Palabras recopiladas de difícil pronunciación y su pronunciación
teórica correspondiente a un niño con dislexia
Identificador Palabra Pronunciación teórica Evidencia experimental
P 1 alba alda alda
P 2 bala dala dala
P 3 beber deber deber
P 4 blanca danca banca
P 5 boda poda poda
P 6 bonito ponito bonito
P 7 escapó escabó escabó
P 8 parque barque barque
P 9 antena nantena nantena
P 10 bosque boque poque
P 11 calcetín carcetin calcetín
P 12 calle cache calle
P 13 camello canello canello
P 14 clavado calvado clavado
P 15 esférico seferico seferico
P 16 esparrago aseparrago esparrago
P 17 hipopótamo hipotamo hipotamo
P 18 instituto istituto instituto
P 19 partido pratido partido
P 20 plancha palancha palancha
Tabla 2.2: Palabras de difícil pronunciación para niños en 1° y 2° grado
Palabras para niños en 1º y 2º grado
Identificador Palabra Identificador Palabra
A 1 bandera A 6 lechuga
A 2 blancura A 7 loro
A 3 brincó A 8 melón
A 4 buscar A 9 milagros
A 5 bosque A 10 moño
Capítulo II
36
Tabla 2.3: Palabras de difícil pronunciación para niños en 3° grado
Palabras para niños en 3º grado
Identificador Palabra Identificador Palabra
B 1 Alacena B 11 nube
B 2 Blanda B 12 pastito
B 3 Campanario B 13 paseo
B 4 Chimenea B 14 perro
B 5 Colombianos B 15 plano
B 6 Confundida B 16 primavera
B 7 Haba B 17 pueblo
B 8 Hombres B 18 subió
B 9 Mariposas B 19 trabajador
B 10 malagradecida B 20 zapato
Tabla 2.4: Palabras de difícil pronunciación para niños en 4° grado
Palabras para niños en 4º grado
Identificador Palabra Identificador Palabra
C 1 aire C 11 lechuga
C 2 alcoholizar C 12 loro
C 3 abdomen C 13 melón
C 4 anciana C 14 milagros
C 5 bala C 15 moño
C 6 bailar C 16 mundo
C 7 bomba C 17 niña
C 8 cantores C 18 nora
C 9 cerro C 19 nube
C 10 cuna C 20 número
Capítulo II
37
Tabla 2.5: Palabras de difícil pronunciación para niños en 5° y 6° grado
Palabras para niños 5º y 6º grado
Identificador Palabra Identificador Palabra
D 1 Abdomen D 11 habitan
D 2 Aeroplano D 12 hierbas
D 3 alcoholizar D 13 hoyos
D 4 anciana D 14 Hondos
D 5 cantores D 15 Hormigas
D 6 dañino D 16 Milagros
D 7 dentro D 17 Viruela
D 8 escuela D 18 Verdinegra
D 9 entendimiento D 19 Yolanda
D 10 exacta D 20 Wenceslao
2.2 Proceso de producción de la voz
En esta investigación cuya finalidad es la detección de la dislexia, que es una patología del lenguaje,
se vuelve significativo asentar los principios básicos y funcionales que contribuyen en la producción de la
voz.
Es por esto que se hace un estudio del proceso de producción del sonido que se origina en el aparato
fonador para generar la voz y con ello el habla.
2.2.1 Sonido
La palabra sonido proviene del latín sonitus, se compone léxicamente por sonare que quiere decir
“producir un sonido” y el sufijo ido que significa “cualidad perceptible por los sentidos”.
El sonido se produce por vibraciones mecánicas que se propagan como ondas hasta que llegan a los
oídos, a través de medios elásticos continuos como el aire o el agua.
El cuerpo humano tiene la capacidad de producir y percibir sonidos, gracias a su aparato fonador y a
su sistema auditivo. Está comprobado que el oído humano puede percibir de 20 hasta 20,000 vibraciones
por segundo [12], por lo que las vibraciones fuera de este rango no son audibles para él.
2.2.2 Aparato Fonador
Ante todo es imprescindible destacar que el ser humano no dispone de un aparato exclusivo para la
producción de sonido, por lo que en un momento de su evolución adoptó órganos de los sistemas
respiratorios y digestivos para lograr la comunicación, de los que surgió el aparato fonador. Este aparato
vocal está constituido por tres cavidades [13] como se describen en la Figura 2.1.
Capítulo II
38
Figura 2.1: Esquema del aparato fonador humano
La cavidad infraglótica se localiza debajo de la glotis y su función es proporcionar la corriente de aire
necesaria para la formación de los sonidos del lenguaje, está comprendida por los órganos inferiores de la
respiración, que son la tráquea, el diafragma, los pulmones y bronquios. Cabe destacar que los bronquios y
la tráquea no desempeñan una función lingüística dado que son tubos de conducción de aire.
La cavidad laríngea está situada sobre el término de la tráquea, dicho de otro modo, se encuentra en la
parte alta y media del cuello. Se constituye por la laringe, en donde se ubican las cuerdas vocales, del mismo
modo está compuesta por piezas cartilaginosas unidas por ligamentos y músculos que permiten el paso del
aire haciendo vibrar las cuerdas vocales con la finalidad de transformarlo en sonido, el cual da origen a la
primera forma de la voz debido a que es un sonido que solo posee una frecuencia y una intensidad, se les
conoce comúnmente como tono y volumen respectivamente. También está dividida en cuatro tipos de
cartílagos: cricoides, tiroides y dos aritenoides; que en conjunto permiten que las cuerdas vocales adopten
diversas posiciones, y en consecuencia, la glotis puede presentar distintas formas o grados de abertura. De
acuerdo a la longitud en que se estiren las cuerdas vocales va a depender el sonido que se produzca, ya sea
un sonido grave, medio o agudo.
La cavidad supraglótica está ubicada encima de la cavidad glótica o laríngea, se divide en tres
secciones que son: faringe, cavidad bucal y cavidad nasal. La primera es un tubo musculoso situado en el
cuello que conecta la nariz y la boca con la tráquea y el esófago; la segunda comprende el paladar, la lengua,
la dentadura y los labios, que fungen como filtros con propiedades resonadoras, logrando así la producción
de la voz; la última tiene un papel importante en la producción de sonidos específicos de lenguaje, sobretodo
como resonador.
El paladar cumple con una función sustancial en la cavidad bucal, a consecuencia de que se divide en
velo de paladar y paladar duro. Sin embargo, en la primera división los sonidos articulados se separan en
orales, nasales y oronasales. Para producir el primer tipo de sonido, el velo de paladar se encuentra adherido
a la pared de la faringe, lo que genera que se produzcan los sonidos a través de la articulación vocal, los
segundos surgen cuando no entra aire y no se permite el paso de articulación vocal por lo que el aire pasa
Pulmones
Cuerdas vocales
Faringe
Cavidad nasal
Cavidad bucal
Bronquios
Glotis
Cavidad
infraglótica
Cavidad
supraglótica
Cavidad
laríngea
Tráquea
Capítulo II
39
por la cavidad nasal, los últimos emergen cuando están simultáneamente abiertas las cavidades orales y
nasales, generando los sonidos oronasales, llamados habitualmente vocales nasales.
2.2.3 Lenguaje
Es todo sistema de comunicación basado en determinadas convenciones o acuerdos, que se utiliza para
establecer un acto comunicativo expresando ideas, pensamientos, emociones, entre otros, ya sea por medio
de un lenguaje escrito, oral o gestual principalmente. Su objetivo es lograr el entendimiento común, es por
esto que el lenguaje es instintivo y universal.
El lenguaje tiene que ver con un conjunto de signos pertenecientes a la misma naturaleza, mismos que
definen el estilo de hablar y escribir.
2.2.4 Lengua
A pesar de que el lenguaje brinda a los seres humanos la capacidad de comunicarse por distintos
medios cada uno lo hace de distinta manera, una consecuencia de ello es que pertenecen a distintas
sociedades de suerte que cada una establece un conjunto de signos convencionales.
Podemos considerar hasta aquí que la lengua, es el conjunto de signos orales y escritos que sirven para
establecer un diálogo entre las personas de una misma comunidad lingüística y que es pasiva porque los
hablantes la aprenden sin darse cuenta.
2.2.5 Habla
Al manejo que cada individuo le da a la lengua se le nombra habla, esta acción no depende de la
sociedad por eso se dice que es individual al igual que voluntaria, precisando que cada persona decide en
qué momento hablar.
2.2.5.1 Unidades fundamentales del habla
Las palabras son la mínima unidad de significado y son empleadas tanto en la lengua hablada como en
la escrita. Dentro de la lingüística la rama que se encarga del estudio de su estructura interna es la
morfología, la cual divide la palabra en monemas que son las unidades mínimas de la palabra, mismas que
se clasifican en lexemas y morfemas.
El lexema es la raíz de la palabra puesto que es invariante y contiene el significado de la misma, se
dice que cuando las palabras tienen el mismo lexema pertenecen a una familia ya que se originan de una
palabra primitiva que es aquella que no proviene de ninguna otra palabra. En cambio el morfema es la parte
variable de la palabra, que al ser añadido al lexema forma nuevas palabras creando diferentes significados.
En cuanto al estudio de los sonidos de una lengua, se encuentran dos ramas de la ciencia lingüística,
la fonología y la fonética. La primera se encarga de analizar los sonidos por su función distintiva dentro de
una lengua en particular, mientras que la segunda los estudia desde un punto de vista fisiológico, es decir,
estudia las diferencias articulatorias perceptibles.
El reconocimiento de voz se enfoca en identificar los sonidos que distinguen una palabra de otra en
una lengua, como se sabe el habla es una secuencia de fonemas [12] o sea de unidades básicas de sonidos
que carecen de significado pero que contribuyen a distinguir el significado puesto que los sonidos /c/ y /l/
en las palabras cama y lama por ejemplo, hace que estas tengan un significado distinto.
Capítulo II
40
Los fonemas se pueden clasificar atendiendo a dos criterios, su punto y modo de articulación. En el
español se definen 24 fonemas algunos con sonido sonoro (SN) que se originan cuando vibran las cuerdas
vocales y otros con sonido sordo (SR) que se producen cuando no vibran las cuerdas vocales como se
especifica en la Tabla 2.6.
Tabla 2.6: Clasificación de los fonemas del español
Clasificación de
los fonemas del
español
Punto de Articulación
Abierto Labiales
Dentales Alveolares Palatales Velares Globales Bilabiales Labiodentales
SN SR SN SR SN SR SN SR SN SR SN SR SN SR SN SR
Mo
do
de
Art
icu
laci
ón
Plosivas 𝑏 𝑝 𝑑 𝑡 𝑔 𝑘
Nasales 𝑚 𝑛 Ñ
Laterales 𝑙 𝑙𝑙
Fricativas 𝑓 𝑠 𝑦 𝑥
Vibración
Simple 𝑟
Vibración
compuesta 𝑟
Africadas 𝑐
Vocales 𝑎 𝑒 𝑖 𝑜 𝑢
Semivocales 𝑤 𝑗
2.3 Reconocimiento de voz
El reconocimiento de voz es el proceso de identificar una señal de voz como una secuencia de palabras,
mediante la implementación de algoritmos computacionales. Para lograr esto, el primer paso es capturar la
voz para que se realice la conversión de la señal analógica a digital y pueda ser procesada e interpretada
por la computadora. La etapa siguiente es el preprocesamiento, el cual consiste en la eliminación de ruido
y la detección palabras aisladas en una secuencia de audio. Posteriormente en el procesamiento se hace un
análisis espectral para obtener el vector de características representativas de cada palabra, dichas
características se clasifican en secuencias de patrones y son comparadas con un diccionario previamente
aprendido y almacenado, de modelos acústicos correspondientes a un lenguaje determinado, una vez
realizada esta comparación se obtiene el reconocimiento, ilustrado en la Figura 2.2.
Capítulo II
41
Figura 2.2: Diagrama de las etapas del reconocimiento de voz del sistema
2.3.1 Señal de voz
Vivimos en un mundo de naturaleza analógica, lo que origina que la mayoría de las señales de interés
práctico encontradas en la ciencia y la ingeniería también lo sean, ejemplo claro de ello, son las señales
biológicas, sísmicas, de radar, así como señales de comunicaciones particularmente las de voz, audio y
video.
En vista de que este trabajo está encaminado al reconocimiento de voz, los próximos párrafos destacan
las características que ésta posee.
Para comenzar, una señal analógica se define como una función de variables continuas, como el tiempo
o espacio y que conjuntamente asume valores en rangos continuos, propiedades que cumple una señal de
voz, lo que hace que pertenezca a esta clasificación.
Las características generales de la señal de voz, dependen en esencia de los órganos que integran el
aparato fonador [14]. Éstas se identifican como intensidad, altura, timbre, duración y volumen.
Lo que define la intensidad de la voz humana es la amplitud de la onda sonora misma que es influida
por la existencia de una mayor o menor presión en la cavidad infraglótica, en otras palabras, a mayor presión
infraglótica mayor intensidad del sonido.
La altura está determinada por el número de ciclos glóticos que se producen por unidad de tiempo,
dentro de ella se encuentra la frecuencia fundamental de la voz, que no solo depende de la longitud de los
pliegues vocales, sino también del tamaño de su laringe.
Preprocesamiento
Captura de la voz
Procesamiento
Entrenamiento
Fase de entrenamiento Fase de reconocimiento
Conjunto a reconocer
Preprocesamiento
Procesamiento
Clasificación Aprendizaje
Capítulo II
42
El timbre es el espectro específico de la voz, éste depende de la aproximación de las cuerdas vocales
y la morfología de los resonadores. Se dice que la calidad del timbre es mayor cuanto mayor es el grado de
adhesión de las cuerdas cuando éstas se juntan. Mediante la variación de las configuraciones y la dimensión
del tracto vocal, se modifica el timbre generando que la voz de cada persona sea única.
El aire expedido durante el proceso de fonación y la velocidad a la que se expulsa decretan la duración
de la voz, de ahí que la capacidad pulmonar y el tamaño de la caja torácica están en proporción con la
duración de la emisión de voz.
El volumen de la voz es la relación de la intensidad y la presión infraglótica que es la fuerza con la que
el aire llega a la laringe.
2.3.2 Captación de la señal de voz
La señal de voz se compone por ondas de presión producidas por el aparato fonador como se expuso
en la sección 2.2.2. Para realizar una adquisición adecuada de este tipo de ondas se utiliza un micrófono,
considerando que la función principal de este dispositivo de medición es transformar las fluctuaciones de
presión en fluctuaciones de voltaje eléctrico.
Una vez captada la señal analógica, es necesario convertirla a un formato que permita su procesamiento
en la computadora, este cambio se realiza a través de un convertidor analógico digital (ADC) en la tarjeta
de sonido, el cual entrega la señal digitalizada y codificada.
Dentro del proceso de conversión existen dos valores fundamentales que deben ser considerados, la
frecuencia de muestreo y los bits por muestra, cuyo principio teórico se explica en la sección 2.3.2.1
2.3.2.1 ADC
Un convertidor analógico digital (ADC) [15] es una interfaz que permite el procesamiento de señales
analógicas en medios digitales, es decir, las transforma en secuencias de números con precisión finita. En
la Figura 2.3 se observa el funcionamiento de un ADC.
Para llevar a cabo, esta transformación se deben efectuar las siguientes etapas: 1. Muestro, proporciona
una señal con amplitud continua y tiempo discreto. 2. Cuantización, otorga una señal con amplitud discreta
y tiempo continuo. 3. Codificación, entrega una señal digital que se caracteriza por ser de amplitud discreta
y tiempo discreto, esta es una señal binaria. A estas etapas se les conoce como Modulación por Codificación
de Pulsos (PCM).
Figura 2.3: Convertidor Analógico Digital
Muestreo Cuantización Codificación
Convertidor Analógico Digital
𝑥𝑎(𝑡) 𝑥(𝑛) 𝑥𝑞(𝑛) 010011
Señal analógica Señal discreta Señal digital Señal digital
codificada
Capítulo II
43
2.3.2.2 Muestreo
Es la primera etapa para convertir una señal analógica en digital, consiste en tomar muestras periódicas
de la amplitud de la señal original, para así representar dicha señal analógica como una secuencia de
números. Esto se define como muestreo de una señal analógica, denotada por 𝑥𝑎(𝑡), periódicamente para
producir la secuencia:
𝑥(𝑛) = 𝑥𝑎(𝑛𝑇𝑠) − ∞ < 𝑛 < ∞ (2.1)
donde,
𝑥(𝑛): representa la señal discreta en el dominio del tiempo.
𝑛: es el índice de muestras de la señal y únicamente toma valores enteros.
𝑇𝑠: corresponde al periodo de muestreo de la señal, que es el intervalo de tiempo existente entre dos
muestras consecutivas.
Con la obtención de este periodo 𝑇𝑠, también es posible calcular el número de muestras por unidad de
tiempo que se toman de la señal analógica, a este cálculo se le denomina razón, tasa o también frecuencia
de muestreo y se mide en Hertz (𝐻𝑧).
𝑇𝑠 =1
𝑓𝑠 (2.2)
donde,
𝑓𝑠: frecuencia de muestreo (Hz).
Teorema de muestreo: De acuerdo al teorema de Nyquist-Shannon, una señal analógica 𝑥𝑎(𝑡), con un
ancho de banda limitado 𝐵, se puede reconstruir mediante muestras tomadas a una frecuencia de muestreo
de por lo menos el doble de la frecuencia máxima de dicha señal, para no perder información y de esta
forma poder representar la señal original.
𝑓𝑠 ≥ 2𝑓𝑚𝑎𝑥 o 𝑓𝑠 ≥ 2𝐵 (2.3)
donde,
𝑓𝑚𝑎𝑥: frecuencia máxima (Hz).
𝐵: ancho de banda (Hz).
Matemáticamente equivale a multiplicar la señal analógica por una secuencia de pulsos de período
constante. Como resultado se obtiene un tren de pulsos con amplitudes limitadas por la envolvente de la
señal analógica. Esto se ejemplifica en la Figura 2.4.
Capítulo II
44
Figura 2.4: Muestreo de una señal analógica limitada en banda [16]
2.3.2.3 Efecto Alias
Es una alteración que causa pérdidas en la calidad de una señal, cuando se realizan conversiones de
audio, tanto de Analógico-Digital como de Digital-Analógico.
En el momento que se define una frecuencia de muestreo 𝑓𝑠, la gama de frecuencias máximas
utilizables va de 0 a 𝑓𝑠/2, lo cual es resultado del Teorema de Nyquist-Shannon. Cuando la frecuencia de
la señal que está siendo grabada es mayor a 𝑓𝑠/2, ésta se convierte en una señal cuantizable que no debería
de serlo puesto que no está presente en el sonido original, lo que introduce fluctuaciones indeseables. De
esta forma se está incumpliendo dicho teorema y por tanto se provoca la generación de falsas frecuencias
(alias) produciendo así el aliasing.
En el dominio de la frecuencia como se muestra en la Figura 2.5, el aliasing puede verse como una
superposición en las copias periódicas desplazadas de la Transformada de Fourier de la señal original
(espectro) [17], es decir, parte de la señal se solapará con las señales periódicas que estén a su lado. En este
solapamiento se suman los valores de la frecuencia y se modifica la forma del espectro de señales de forma
no deseada.
𝑥𝑎(𝑡)
𝑥(𝑛)
(a) Señal analógica limitada en banda
(b) Señal discreta
𝑇𝑠
𝑇𝑠 𝑡(seg)
𝑡(seg)
Capítulo II
45
Figura 2.5: Representación del efecto alias que ocurre al submuestrear una señal [16]
2.3.2.4 Cuantización
Una vez realizado el muestreo, el siguiente paso es la cuantización «quantization» [15] de la señal
muestreada. Este proceso convierte una señal de amplitud continua y tiempo discreto, en una señal
cuantizada expresando cada valor de muestra (amplitud) como un número finito (en vez de infinito) de
dígitos.
Para realizar la cuantización se divide el rango dinámico de la señal, en un conjunto finito de niveles
𝐿 con valores discretos y estos se obtienen gracias a la ecuación (2.4).
𝐿 = 2𝑏 (2.4)
donde,
𝐿: es el número de niveles de cuantización.
𝑏: es el número de bits que representa la palabra.
En esta etapa siempre va a existir un error o ruido de cuantización, el cual se introduce a consecuencia
de que al c codificar las muestras el valor del número de bits con los que estas se representan, se redondea.
𝑓 (𝐻𝑧)
𝑓 (𝐻𝑧)
𝑊(𝑓)
−𝐵 𝐵 𝑓𝑠
2
𝑓𝑠
2 𝑓𝑠
3𝑓𝑠
2 2𝑓𝑠 −
𝑓𝑠
2 −𝑓𝑠 3𝑓𝑠
2
𝐵
(a) Espectro de una forma de onda sin muestreo
(b) Espectro de una forma de onda con muestreo de impulsos 𝑓𝑠
2< 𝐵
2𝑓𝑠
Capítulo II
46
2.3.2.5 Codificación
El último paso de un
convertidor analógico digital es la codificación [15], la cual asigna un número binario único a cada nivel
de cuantización.
De la ecuación (2.4) se conoce que 𝐿 representa al número de niveles, lo que hace evidente que para
realizar dicha asignación se necesitan al menos 𝐿 números binarios diferentes, cada uno con una longitud
de palabra de 𝑏 bits, es decir, se crean 2𝑏 números binarios diferentes. Nuevamente, si se despeja 𝑏 de la
ecuación anterior, se obtiene:
𝑏 ≥ log2(𝐿) (2.5)
Lo que indica el número mínimo de bits requeridos para codificar la señal digital, entregando así una
señal digital codificada a la salida del ADC.
2.3.2.6 Especificación del formato de archivo de audio
En sistemas de reconocimiento de voz, el modelo acústico con el que se representa el corpus de voces
a reconocer comúnmente es entrenado con audio de voz grabado a la misma frecuencia de voz y bits por
muestra que el discurso a reconocer. De acuerdo con esto para realizar la captura de una señal de voz y
almacenarla en un archivo de audio es necesario definir principalmente estos parámetros.
Inicialmente es preciso decir que las frecuencias de las señales asociadas a la voz humana se encuentran
en el intervalo de 300 a 3400 Hz [18], por lo que el ancho de banda del canal debe soportar este intervalo
para su apropiada transmisión. Normalmente, el ancho de banda que se utiliza es aproximadamente de 4000
Hz. El intervalo de frecuencias de 0 a 300 Hz se elimina con el filtraje de la señal de voz y a la par constituye
la separación de canales adyacente, lo mismo sucede con el intervalo de 3400 a 4000 Hz. Entonces, de
acuerdo al teorema de Nyquist-Shannon su frecuencia de muestreo debe ser de al menos 8000 Hz,
equivalente a 8000 muestras por segundo, lo que quiere decir que se deben tomar muestras de la señal de
voz cada 0.000125 segundos.
En cuanto al número de bits por muestra, que representarán a la señal analógica se considera al menos
8 bits por muestra, esto es 256 niveles de cuantización a lo largo del rango dinámico de la señal, por lo que
es evidente que entre más bits se empleen, existen más niveles de cuantización y mejor calidad de señal.
No obstante, se utiliza mayor ancho de banda.
En este proyecto se almacenarán las voces obtenidas en un archivo de audio con formato WAV [19]
debido a que es un formato sin comprimir que archiva audio con codificación PCM, permite almacenar
combinaciones de los parámetros frecuencia de muestreo, bits por muestra, tasa de bits y número de
canales, que lo hacen adecuado para archivar grabaciones lo más parecidas a la voz original.
Se elige este tipo de archivo sobre archivos con compresión debido a que estos últimos eliminan
señales de audio que son esencialmente inaudibles y comprimen aproximadamente una décima parte del
𝑥(𝑛)
𝑡(seg) 𝑇𝑠
Figura 2. 6 Cuantización y muestreo de una señal
Capítulo II
47
tamaño de un archivo PCM, a causa de esto se va manteniendo una buena calidad de audio, pero no la señal
original.
2.3.3 Preprocesamiento
El preprocesamiento estriba en la manipulación de la señal para que ésta sea más fácil de analizar y
consta de tres etapas: atenuación del ruido, preénfasis y segmentación.
En la primera, se debe aplicar cualquier técnica para la eliminación de señales indeseables, como ruido
de fondo.
La segunda etapa radica en suavizar el espectro y dar acentuación a las frecuencias altas mediante un
filtro.
Finalmente, en la tercera etapa los segmentos generados son guardados en formato de columna de
matriz y son agrupados en varias tramas para el posterior procesamiento de la señal.
2.3.3.1 Filtrado de la señal de voz
El ruido es ubicuo en la mayoría de los entornos acústicos [20]. En una señal de voz capturada por un
micrófono, generalmente se adhiere ruido originado de diversas fuentes, esta afectación puede modificar
las características de las señales de voz y deteriorar su calidad provocando la inteligibilidad del habla.
Para aplicaciones de voz, la detección y reducción se formula como un problema de filtrado digital,
donde la estimación de habla limpia se consigue a través de la aplicación de filtros lineales que reducen
significativamente los efectos del ruido sin distorsionar la voz del hablante. Sin ello se tendrían datos
perjudiciales. Por lo que es preciso, implementar tres tipos de filtros digitales: promedio móvil, pasa banda
y preénfasis como se muestra en el diagrama de la Figura 2.7.
Figura 2. 7 Diagrama a bloques del filtrado en la etapa de preprocesamiento.
2.3.3.2 Filtro de promedio móvil
Este filtro se emplea para promediar los valores de forma local [20], esto significa que las componentes
de la entrada de mayor frecuencia son promediadas mientras que las componentes de menor frecuencia son
mantenidas. En síntesis, la señal original se suaviza o filtra.
Es comúnmente utilizado en el procesamiento digital de señales, primordialmente por su simplicidad
para la reducción de ruido aleatorio en el dominio del tiempo.
Se especifica como un filtro pasa bajas de respuesta finita al impulso (FIR), que funciona tomando 𝑀
muestras de entrada a la vez y calcula el promedio de esas 𝑀 muestras produciendo un único punto de
Filtro
Promedio Móvil
𝑦3(𝑛) Filtro
Pasa banda
Filtro
Preénfasis
𝑥(𝑛) 𝑦1(𝑛) 𝑦2(𝑛)
Señal Filtrada
Capítulo II
48
salida. Debido a que, el promedio móvil es local funciona bien al promediar pocas muestras y para cada
aplicación se obtiene un valor adecuado.
En seguida se define el filtro de promedio móvil [21] en la ecuación (2.6).
𝑦1(𝑛) =1
𝑀∑ 𝑥(𝑛 − 𝑘)
𝑀−1
𝑘=0
(2.6)
donde:
𝑦1(𝑛): es la salida del filtro.
𝑥(𝑛): es la señal de voz a filtrar.
𝑛: representa el índice de la muestra.
𝑀: es el número de muestras que se promedian.
A causa de los cálculos implicados, el filtro introduce una cantidad definida de retardo y pese a ser un
filtro paso bajo tiene una mala respuesta en el dominio de la frecuencia.
2.3.3.3 Filtro pasa banda
El filtro pasa banda es aquel que está delimitado por un rango de frecuencias de corte, una inferior y
otra superior, por consiguiente, atenúa los componentes de frecuencia que sobrepasen ambos límites; las
frecuencias que permanecen pasan sin distorsión.
En la Figura 2.8, es posible observar un filtro pasa banda y los principales parámetros a tomar en cuenta
para su diseño, las frecuencias normalizadas 𝑓𝑝1 y 𝑓𝑝2 definen el intervalo de la banda de paso, 𝑓𝑠1 y 𝑓𝑠2
establecen el inicio de la primera y segunda banda de transición respectivamente. El valor 𝐴𝑝 es la
ondulación permitida en la banda de paso en decibeles. Mientras que 𝐴𝑠1 y 𝐴𝑠2 corresponden a la atenuación
en decibeles establecida para las bandas de rechazo.
Figura 2. 8 Esquema filtro pasa banda ideal.
La función principal de este filtro es mantener únicamente las frecuencias de las señales asociadas a la
voz humana, por lo que se define la banda de paso como el intervalo que inicia en 𝑓𝑝1 = 300 Hz y termina
en 𝑓𝑝2 = 3400 Hz con un margen de 300 Hz para las bandas de transición.
𝑓𝑝 1 𝑓𝑝 2 𝑓𝑠 2 𝑓𝑠 1
𝐴𝑝
𝐴𝑠1 𝐴𝑠2
0
0
𝑓𝑠
2
𝑓 (𝐻𝑧)
Mag
(𝑑
𝐵)
Banda de paso
Banda de rechazo Banda de rechazo
Capítulo II
49
Este tipo de filtro FIR se basa en obtener una salida, a partir exclusivamente de las entradas actuales y
anteriores de 𝑥(𝑛). Es entonces que para un filtro de longitud 𝑁 se utiliza la ecuación (2.7).
𝑦2(𝑛) = ∑ 𝑏𝑘 ∙ 𝑥(𝑛 − 𝑘)
𝑁−1
𝑘=0
(2.7)
donde:
𝑦2(𝑛): es la salida del filtro.
𝑏𝑘: son los coeficientes del filtro pasa banda calculados a partir de la definición de la bandas de paso,
transición y rechazo del filtro.
𝑥(𝑛): es la señal a filtrar.
𝑛: representa el índice de la muestra.
2.3.3.4 Preénfasis
Para hacer una señal 𝑥(𝑛) menos sensible a los efectos de precisión finita en los procesamientos
posteriores a este, es necesario realizar un proceso de preénfasis [12] a esta señal, el cual suaviza su espectro
compensando los valores de altas y bajas frecuencias, mediante un filtro denominado filtro de preénfasis
que se define en el domino del tiempo por la ecuación (2.8).
𝑦3(𝑛) = 𝑥(𝑛) − 𝑎 ∙ 𝑥(𝑛 − 1) (2.8)
donde:
𝑦3(𝑛): es la salida del filtro.
𝑥(𝑛): es la señal de voz a filtrar.
𝑛: representa el índice de la muestra.
𝑎: es una constante en el rango de 0.9 a 1.
De esta forma, el valor de la señal 𝑦3(𝑛), se calcula restando a la muestra en el instante 𝑛 actual, el
resultado de la multiplicación entre una constante 𝑎 y el valor de la muestra en el instante anterior 𝑛 − 1.
Finalmente, este filtro, conseguirá que el espectro de la señal tenga un rango dinámico similar en toda
la banda de frecuencias.
2.3.3.5 Segmentación
Este proceso es de suma importancia debido a que la señal de voz no es estacionaria, a causa de que sus
características cambian para reflejar los diferentes sonidos que se producen al hablar. Por este motivo es
necesario un método que permita obtener segmentos cortos cuasi estacionarios, por consiguiente se divide
la secuencia larga de voz que se tiene en segmentos de 5 a 100 ms [22], ya que en este lapso de tiempo sus
características se pueden considerar estacionarias.
Dentro de la segmentación es necesario aplicar algunas técnicas de ventaneo como se explica en la
sección posterior.
Capítulo II
50
2.3.3.6 Ventaneo
Una vez que se realiza el proceso de segmentación a una señal de voz, el procesamiento siguiente se
denomina ventaneo. La tarea primordial de este proceso es otorgar una ventana individual a cada segmento
[23] para reducir las discontinuidades existentes al inicio y fin de cada uno. Esto se realiza multiplicando
cada segmento por una función limitada en tiempo para que su valor fuera de este intervalo sea nulo, como
se expresa en la ecuación (2.9).
𝑦𝑠(𝑛) = 𝑥(𝑛) ∙ 𝑤(𝑛) 0 ≤ 𝑛 ≤ 𝑁 − 1 (2.9)
donde:
𝑦𝑠(𝑛): es una señal de longitud finita resultado de la segmentación y ventaneo.
𝑥(𝑛): es la señal original.
𝑤(𝑛): representa una secuencia de ventana en tiempo.
𝑛: representa el índice de la muestra.
N: es la longitud de la ventana.
Acorde con lo anterior, el ventaneo agrupa las muestras de la señal en bloques de elementos, y las multiplica por
una ventana 𝑤(𝑛) en el dominio del tiempo; aunque este procesamiento puede ocasionar una distorsión en los
extremos de la señal, denominada fenómeno de Gibbs.
Asimismo, para conservar la fidelidad de la información de la señal [12], el ventaneo se lleva a cabo con bloques
de muestras solapados entre sí que generan información redundante y, por consecuencia, existe una correlación entre
los datos de bloques contiguos. Siempre que el solapamiento sea notable, se obtiene una extensa cantidad de bloques,
y la variación de los parámetros extraídos de un bloque al adyacente es pequeña. Pese a esto el solapamiento garantiza
la correlación entre ventanas adyacentes y disminuye la varianza espectral entre ellos.
A continuación en la Tabla 2.7, se enlistan las funciones 𝑤(𝑛) de las ventanas más empleadas [23] para 𝑁
muestras.
Tabla 2.7: Ecuaciones de las ventanas más utilizadas para el ventaneo
Ventana Ecuación
Rectangular 𝑤(𝑛) = { 1 0
0 ≤ 𝑛 ≤ 𝑁 − 1
𝑑𝑒 𝑜𝑡𝑟𝑜 𝑚𝑜𝑑𝑜
Triangular 𝑤(𝑛) = {2𝑛/(𝑁 − 1)
2 − 2𝑛/(𝑁 − 1) 0
0 ≤ 𝑛 < (𝑁 − 1)/2
(𝑁 − 1)/2 ≤ 𝑛 ≤ 𝑁 − 1
𝑑𝑒 𝑜𝑡𝑟𝑜 𝑚𝑜𝑑𝑜
Hanning 𝑤(𝑛) = {0.5 − 0.5 cos (2𝜋𝑛
𝑁 − 1)
0
0 ≤ 𝑛 ≤ 𝑁 − 1
𝑑𝑒 𝑜𝑡𝑟𝑜 𝑚𝑜𝑑𝑜
Hamming 𝑤(𝑛) = {0.54 − 0.46 cos (2𝜋𝑛
𝑁 − 1)
0
0 ≤ 𝑛 ≤ 𝑁 − 1
𝑑𝑒 𝑜𝑡𝑟𝑜 𝑚𝑜𝑑𝑜
Blackman 𝑤(𝑛) = {0.42 − 0.5 cos (2𝜋𝑛
𝑁 − 1) + 0.08 cos (
2𝜋𝑛
𝑁 − 1)
0
0 ≤ 𝑛 ≤ 𝑁 − 1
𝑑𝑒 𝑜𝑡𝑟𝑜 𝑚𝑜𝑑𝑜
Se pueden observar en la Tabla 2.8, las propiedades principales de cada ventana tales como el ancho
del lóbulo principal y el nivel del lóbulo lateral.
Tabla 2. 8 Características principales de cada ventana
Capítulo II
51
Ventana -3 dB Ancho aproximado del
lóbulo principal
Nivel máximo del lóbulo
lateral (dB)
Rectangular 0.02148 -13.3
Triangular 0.02929 -26.5
Hanning 0.03320 -31.5
Hamming 0.03125 -42.5
Blackman 0.04101 -58.1
El centro del lóbulo principal de una ventana se produce en cada componente de frecuencia de la señal
en el dominio del tiempo. El ancho de este lóbulo se obtiene al evaluar el ancho a -3 dB y -6 dB por debajo
del pico del mismo.
A medida que el lóbulo principal se estrecha y la resolución espectral mejora, la energía de la ventana
se extiende hacia sus lóbulos laterales, aumentando las fugas espectrales y disminuyendo la precisión de la
amplitud.
2.3.3.7 Detección de inicio y fin de palabra
Es de particular importancia localizar la región del habla a reconocer, por ejemplo, detectar el inicio y
fin de una palabra [22]. Lo que favorece a los sistemas de reconocimiento, al reducir el número de
información a procesar porque solamente se localizan eventos acústicos significativos y además se evitan
confusiones a causa del ruido o señales de fondo.
En contraste, durante esta detección se presentan algunas dificultades como la confusión de inicio o
fin por fonemas fricativos y nasales puesto que tienen una baja energía, silencios contenidos dentro de
palabras con fonemas plosivos así como letras que se distinguen por tener un sonido corto como /t/, /p/, /k/.
Por su parte la señal puede ser confundida con los niveles de ruido, la duración de la respiración del
locutor y la resonancia existente en los micrófonos cuando se pronuncia la palabra.
En definitiva, lo ya mencionado puede provocar la detección de un falso principio o fin de palabra. En
entornos favorables con una relación señal a ruido alta, la energía de fondo es menor que la energía de los
sonidos del habla con bajo nivel, de modo que la detección se puede realizar con la medida de energía. Sin
embargo, esta no es una condición práctica para aplicaciones reales. Por lo tanto, no son suficientes para
separar las fricativas débiles del silencio de fondo, es entonces que aparte de la energía se debe tomar en
cuenta la tasa de cruces por cero.
En consideración a estos inconvenientes, se estudia el algoritmo Rabiner-Sambur [24] de detección y
fin de palabra que se enfoca en las características de los sonidos.
2.3.3.8 Rabiner-Sambur
Con referencia a lo anterior, este algoritmo se basa en las características de dos tipos de sonidos:
sonoros y sordos, los primeros tienen un alto contenido de energía y ocupan las frecuencias bajas del
espectro de la voz humana, por el contrario, los segundos ocupan las frecuencias superiores de este espectro
y poseen un bajo contenido de energía. Al mismo tiempo Rabiner-Sambur, detecta el inicio y fin de una
Capítulo II
52
palabra adaptándose al entorno acústico de fondo, de donde obtiene los umbrales relevantes para sus
criterios de decisión de acuerdo a un intervalo registrado.
Siguiendo este algoritmo de detección, es necesario realizar los siguientes pasos:
1. Por cada trama de 10 ms y N muestras de voz, se calcula su magnitud promedio 𝑀�̂� y su tasa de
cruces por cero 𝑍�̂�. Funciones que se definen a continuación:
𝑀�̂� = ∑ |𝑥(𝑚) ∙ 𝑤(𝑛 − 𝑚)|
𝑁
𝑚=1
(2.10)
donde:
𝑀�̂�: es la magnitud promedio de la señal.
𝑥(𝑚): representa un segmento de la señal de voz filtrada.
𝑤(𝑛): es una ventana.
𝑚: representa el índice de la muestra.
𝑛: representa el índice de la ventana.
𝑁: es el número de muestras en cada segmento de 10 ms de la señal.
En otras palabras la ecuación (2.10) define 𝑀�̂� como el promedio de la amplitud de todas las muestras
en un segmento, una vez que fueron multiplicadas por una ventana.
La tasa de cruces por cero se define como el promedio ponderado del número de veces que la señal de
voz cambia dentro de la ventana de tiempo.
𝑍�̂� = ∑ |𝑠𝑔𝑛[𝑥(𝑚)] − 𝑠𝑔𝑛[𝑥(𝑚 − 1)]| ∙ 𝑤(𝑛 − 𝑚)
𝑁
𝑚=1
(2.11)
donde: 𝑠𝑔𝑛(𝑥) = { 1 𝑥 ≥ 0 −1 𝑥 < 0
𝑍�̂�: es la tasa de cruces por cero de cada segmento de la señal.
𝑥(𝑚): representa un segmento de la señal de voz filtrada.
𝑤(𝑛): es una ventana.
𝑁: es el número de muestras en cada segmento de 10 ms de la señal.
La expresión (2.11) indica que |𝑠𝑔𝑛[𝑥(𝑚)] − 𝑠𝑔𝑛[𝑥(𝑚 − 1)]| es igual a 1, si 𝑥(𝑚) y 𝑥(𝑚 − 1)
tienen diferentes signos algebraicos y 0 si tienen el mismo signo. Es entonces que 𝑍𝑛 es una suma ponderada
de todas las instancias de signo alternante.
2. Posteriormente, a partir de 𝑀�̂� se define el umbral superior de magnitud como:
𝑈𝑚𝑏𝑟𝑎𝑙𝑆𝑢𝑝𝑒𝑟𝑖𝑜𝑟𝑀𝑎𝑔𝑛𝑖𝑡𝑢𝑑 = 0.5 ∙ 𝑚𝑎𝑥�̂�{𝑀�̂�} (2.12)
donde:
𝑚𝑎𝑥�̂� : es el valor máximo de la magnitud promedio 𝑀�̂�.
3. Si se asume que los primeros 10 segmentos equivalentes a un intervalo de 100 ms [24] no contienen
voz, se procede a calcular el umbral de cruces por cero y el inferior de magnitud puesto que son los
Capítulo II
53
que caracterizan el ruido, empleando la media de la magnitud y de los cruces por cero del ruido
junto con su desviación estándar.
𝑈𝑚𝑏𝑟𝑎𝑙𝐼𝑛𝑓𝑒𝑟𝑖𝑜𝑟𝑀𝑎𝑔𝑛𝑖𝑡𝑢𝑑 = 𝜇𝑀�̂� + 2 ∙ 𝜎𝑀�̂� (2.13)
donde:
𝜇𝑀�̂�: es la media de la magnitud del ruido, es decir, de los primeros 10 segmentos de la señal.
𝜎𝑀�̂� es la desviación estándar de la magnitud del ruido.
Para el cálculo del umbral de cruces por cero se utiliza la siguiente expresión,
𝑈𝑚𝑏𝑟𝑎𝑙𝐶𝑟𝑢𝑐𝑒𝑠𝐶𝑒𝑟𝑜 = 𝜇𝑍�̂� + 2 ∙ 𝜎𝑍�̂� (2.14)
donde:
𝜇𝑍�̂�: es la media de los cruces por cero del ruido.
𝜎𝑍�̂� es la desviación estándar de los cruces por cero del ruido.
Para el inicio de la palabra (N1):
4. Enseguida, se busca la trama donde se rebasa, por primera vez, el umbral superior de energía.
Debido a que se asegura la existencia de voz en la trama.
5. A partir de la trama localizada en 4 se procede a buscar en dirección al inicio de la grabación hasta
un punto N1 donde la magnitud promedio quede por debajo del umbral inferior de energía.
6. El siguiente paso consiste en realizar la comparación entre las tasas de cruces por cero de las tramas
y el umbral de cruces por cero. Esto se realiza solamente para las tramas que preceden a N1, de ahí
que pueden ocurrir tres situaciones:
a. Si la tasa de cruces por cero no excede el umbral, el inicio de la palabra se escoge en el
primer punto N1.
b. Si la tasa de cruces por cero excede el umbral menos de 3 veces seguidas, quiere decir que
solo se trata de una espiga de ruido y que el punto de inicio de la palabra sigue siendo N1.
c. Si la tasa de cruces por cero excede el umbral tres o más veces seguidas, N1 es recorrido
hasta el punto donde el umbral fue sobrepasado por vez primera, siendo este el nuevo inicio
de la palabra.
Para el fin de la palabra (N2):
4. Enseguida, se busca la trama donde se rebasa, por última vez, el umbral superior de energía. Debido
a que se asegura la existencia de voz en la trama.
5. A partir de la trama localizada en 4 se procede a buscar en dirección al fin de la grabación hasta un
punto N2 donde la magnitud promedio quede por debajo del umbral inferior de energía. 6. El siguiente paso consiste en realizar la comparación entre las tasas de cruces por cero de las tramas
y el umbral de cruces por cero. Esto se realiza solamente para las tramas que están después de N2,
de ahí que pueden ocurrir tres situaciones: a. Si la tasa de cruces por cero no excede el umbral, el fin de la palabra se escoge en el primer
punto N2.
Capítulo II
54
b. Si la tasa de cruces por cero excede el umbral menos de 3 veces seguidas, quiere decir que
solo se trata de una espiga de ruido y que el final de la palabra sigue siendo N2.
c. Si la tasa de cruces por cero excede el umbral tres o más veces seguidas, N2 es recorrido
hasta el punto donde el umbral fue sobrepasado por vez primera, siendo este el nuevo final
de la palabra.
2.3.3.9 Normalización
La finalidad de esta etapa es mejorar el preprocesamiento ajustando cada señal a los mismos niveles
de amplitud, ya que en la etapa de captura de la voz la intensidad de las muestras varía según el locutor.
Conjuntamente la normalización minimiza la variabilidad ocasionada por el ruido.
Este paso se considera importante ya que permite disminuir la discrepancia entre las amplitudes de los
datos y con ello facilita el siguiente proceso del reconocimiento.
2.3.4 Procesamiento
El objetivo principal de esta etapa es seleccionar las características más representativas de la señal y
es de suma importancia dentro del reconocimiento de voz porque es donde se obtiene el conjunto de
elementos que describen el patrón de la palabra a reconocer.
2.3.4.1 Extracción de características
Teniendo en cuenta la variabilidad de la voz, es necesario extraer sus características más
representativas, es decir, llevar a cabo la eliminación de señales que no son elementales puesto que los
coeficientes extraídos que la caracterizan sólo deben preservar la información necesaria y desechar la
producida por fluctuaciones ajenas a ésta.
Al representar la señal de voz en intervalos cortos, los parámetros pueden extraerse mediante técnicas
de tratamiento de la señal, en el dominio del tiempo, o bien en un dominio transformado.
2.3.4.2 Codificación de Predicción Lineal (LPC)
Existe una gran variedad de algoritmos que proporcionan rasgos extraídos de la señal de voz, que
representan sus características no estacionarias y en conjunto describen las propiedades acústicas que
conforman las unidades del habla.
En relación con las técnicas de extracción que se encuentran en la literatura, este trabajo se centra
principalmente en la Codificación de Predicción Lineal (LPC).
Esta es una de las técnicas más empleadas para el análisis de la voz que es útil para codificar su calidad
a una velocidad de bits baja. Es un modelo analíticamente manejable y por consiguiente matemáticamente
es un método preciso y sencillo.
Su objetivo es representar la envolvente espectral de una señal de voz en una forma comprimida,
empleando un modelo lineal que tiene aproximaciones precisas a los parámetros de voz necesarios y se
cumple cuando las regiones vocales están en estado cuasi estacionario, de igual modo permite agrupar un
conjunto de coeficientes para cada segmento.
La predicción de la muestra actual [25] como una combinación lineal de muestras 𝑝 pasadas, forma la
base del análisis de predicción lineal donde 𝑝 es el orden de la predicción. La muestra predicha ŝ(𝑛) se
puede representar como sigue,
Capítulo II
55
ŝ(𝑛) = − ∑ 𝑎𝑘 ∙ 𝑠(𝑛 − 𝑘)
𝑝
𝑘=1
(2.15)
donde:
𝑎𝑘: coeficientes de predicción lineal.
𝑠(𝑛): secuencia del habla multiplicada por una ventana.
𝑝: orden de la predicción.
El parámetro 𝑠(𝑛) se obtuvo al multiplicar un segmento de la señal de voz con una ventana de
Hamming, el cual se describe como,
𝑠(𝑛) = 𝑥(𝑛) ∙ 𝑤(𝑛) (2.16)
donde:
𝑤(𝑛): ventana de Hamming.
𝑥(𝑛): segmento de la señal.
El error de predicción 𝑒(𝑛) se puede calcular por la diferencia entre la muestra real 𝑠(𝑛) y la muestra
predicha ŝ(𝑛), cuya expresión es,
𝑒(𝑛) = 𝑠(𝑛) − ŝ(𝑛) = 𝑠(𝑛) + ∑ 𝑎𝑘 ∙ 𝑠(𝑛 − 𝑘)
𝑝
𝑘=1
(2.17)
Para calcular los coeficientes de predicción lineal que minimizan el error de predicción 𝑒(𝑛), el
método popular es la correlación automática de mínimos cuadrados. Esto se consigue minimizando el error
de predicción total, que se puede representar como sigue,
𝐸 = ∑ 𝑒2(𝑛)
∞
𝑛=−∞
(2.18)
Esto se puede expandir usando la ecuación (2.17) como sigue,
𝐸 = ∑ [𝑠(𝑛) + ∑ 𝑎𝑘 ∙ 𝑠(𝑛 − 𝑘)
𝑝
𝑘=1
]²
∞
𝑛=−∞
(2.19)
Los valores de 𝑘′𝑠 que minimizan el error de predicción total 𝐸 se pueden calcular encontrando
𝜕𝐸
𝜕𝑎𝑘 (2.20)
Y posteriormente igualando a cero, para 𝑘 = 0, 1,2, . . . 𝑝.
𝜕𝐸
𝜕𝑎𝑘= 0 (2.21)
Capítulo II
56
Para cada 𝑎𝑘 se forman 𝑝 ecuaciones lineales con 𝑝 incógnitas; solución de la cual se obtienen los
coeficientes de predicción lineal. Esto se puede representar como sigue,
𝜕𝐸
𝜕𝑎𝑘=
𝜕
𝜕𝑎𝑘. ∑ [𝑠(𝑛) + ∑ 𝑎𝑘 ∙ 𝑠(𝑛 − 𝑘)
𝑝
𝑘=1
]²
∞
𝑛=−∞
(2.22)
La expresión diferenciada puede escribirse como,
∑ 𝑠(𝑛 − 𝑖). 𝑠(𝑛) = ∑ 𝑎𝑘
𝑝
𝑘=1
+ ∑ 𝑠(𝑛 − 𝑖) ∙ 𝑠(𝑛 − 𝑘)
∞
𝑛=−∞
∞
𝑛=−∞
(2.23)
donde:
𝑖 = 1, 2, 3 . . . 𝑝.
La ecuación 26 se puede escribir en términos de la secuencia de autocorrelación 𝑅 (𝑖) como sigue,
∑ 𝑎𝑘 ∙ 𝑅(𝑖 − 𝑘) = 𝑅(𝑖)
𝑝
𝑘=1
(2.24)
para:
𝑖 = 1,2,3 . . . 𝑝.
Cuando la secuencia de autocorrelación utilizada en la ecuación (2.24) se puede escribir como sigue,
𝑅(𝑖) = ∑ 𝑠(𝑛) ∙ 𝑠(𝑛 − 𝑖)
𝑁−1
𝑛=𝑖
(2.25)
para:
𝑖: 1,2,3 . . . 𝑝
𝑁: es la longitud de la secuencia
Esto puede representarse en forma de matriz:
𝑅 ∙ 𝐴 = −𝑟 (2.26)
donde:
𝑅: matriz simétrica 𝑝x𝑝 de los elementos 𝑅(𝑖, 𝑘) = 𝑅(|𝑖𝑘|), 1 <= 𝑖, 𝑘 <= 𝑝.
𝑟: vector columna con 𝑒𝑙𝑒𝑚𝑒𝑛𝑡𝑜𝑠 [𝑅(1), 𝑅(2), … , 𝑅(𝑃)]
𝐴: vector columna de los coeficientes LPC [𝑎(1), 𝑎(2), … , 𝑎(𝑝)]
Se puede demostrar que R es una matriz de Toeplitz que puede ser representada como:
𝑅 = [
𝑅(1) 𝑅(2), … , 𝑅(𝑃)
𝑅(2) 𝑅(1) 𝑅(𝑃 − 1)𝑅(𝑃) 𝑅(𝑃 − 1) 𝑅(1)
] (2.27)
Los coeficientes de predicción lineal se pueden calcular:
𝐴 = −𝑅−1 ∙ 𝑟 (2.28)
Capítulo II
57
donde:
𝑅−1: es la inversa de la matriz 𝑅.
2.3.5 Reconocimiento de patrones
A lo largo del presente capítulo se han descrito los módulos que integran a un sistema de
reconocimiento de voz, iniciando con la captura de la señal, preprocesamiento, procesamiento y por último
el reconocimiento. En esta sección se explicará el método a utilizar para el desarrollo del módulo final.
El método de reconocimiento basado en comparación de patrones [22], es un procedimiento en el que
algoritmos de entrenamiento establecen representaciones consistentes de los patrones a partir de un
conjunto de características cuantitativas que describen a un objeto o entidad. Su finalidad es encontrar una
regla de decisión automática que asigne al objeto a una categoría específica.
En relación con los patrones propios del habla, éstos se representan directamente por una secuencia
temporal de vectores con atributos obtenidos de un análisis de predicción lineal, como se muestra en 2.3.4.2,
estos atributos son usados para clasificar los sonidos por palabras o subunidades de palabras específicas.
Las fases esenciales que describen este enfoque son entrenamiento, aprendizaje y clasificación, las
cuales se muestran en el diagrama a bloques de la Figura 2.9.
En la etapa inicial se construye un modelo que representa la distribución de los objetos en clases a
través de diversas reglas, en otras palabras, en esta fase se crea un modelo que permita obtener patrones de
referencia de cada palabra que se quiere reconocer. Las reglas a utilizar dependerán de cada modelo y se
definen mediante algoritmos de aprendizaje supervisado o no supervisado, por ejemplo, fronteras de
decisión, rectas de planos de división o relaciones de conectividad de grafos.
Posteriormente, una vez que se crea un modelo de clasificación éste puede ser mejorado en la fase de
aprendizaje, que consiste en optimizar el desempeño de la clasificación basándose en resultados previos,
para ello se realiza una rotación del conjunto de datos y el comportamiento del sistema cambia según los
resultados observados con el fin de otorgar una clasificación eficiente.
La última etapa como su nombre lo indica realiza la clasificación de nuevos objetos, mediante la
comparación del vector característico perteneciente a la nueva muestra de entrada y todos los posibles
patrones aprendidos en las fases anteriores. En consecuencia, es necesario definir una medida de similitud
o distancia que determine cuál es el patrón de referencia que mejor se ajusta a la muestra a reconocer.
En este método se deben tomar en cuenta ciertas consideraciones iniciales como la eliminación de
señales de fondo, la normalización de los datos, así como la reducción de la dimensionalidad de las
características representativas de cada patrón, ya que estos aspectos convergen en el desempeño de un
clasificador.
Figura 2.9: Diagrama a bloques de las etapas del módulo de reconocimiento de patrones
Clasificación Conjunto de
entrenamiento
∙ Adquisición
∙ Preprocesamiento
∙ Procesamiento
∙ Medidas de
similitud o distancia
Predicción
Aprendizaje del
modelo
Construcción del
modelo
∙ Aprendizaje supervisado
∙ Aprendizaje no supervisado
Capítulo II
58
2.3.5.1 Aprendizaje automático
El aprendizaje automático o «machine learning» [26] es una rama de la inteligencia artificial que
fundamentalmente enseña a una computadora a hacer interpretaciones precisas a partir de datos de ejemplo,
sin ser programada explícitamente. Este proceso emplea métodos que pueden detectar patrones de un objeto
automáticamente y luego utilizarlos para predecir datos futuros o para tomar decisiones bajo incertidumbre.
Se genera conocimiento en una máquina mediante la manipulación y entrenamiento de grandes
cantidades de datos y con ello se evita el trabajo manual para la derivación de reglas y modelos. Los
algoritmos empleados en este ámbito pueden clasificarse de acuerdo al método de aprendizaje al que
pertenecen: supervisado, no supervisado o reforzado.
2.3.5.2 Supervisado
El término supervisado [27] se refiere al tipo de aprendizaje donde se conocen las clases del conjunto
de datos de entrenamiento, su principal objetivo es aprender un modelo construido a partir de datos
etiquetados que permitan hacer predicciones sobre datos no vistos. Además, se busca que el mapeo del
espacio de características al espacio de clases se produzca con el mínimo error.
En la Figura 2.10, se muestra un diagrama a bloques de aprendizaje supervisado en donde se etiquetan
los datos de entrenamiento del sistema y posteriormente se aplica un algoritmo de este tipo de aprendizaje
para desarrollar un modelo predictivo, con el cual un dato de entrada será clasificado.
Figura 2.10: Diagrama a bloques del aprendizaje supervisado [27]
2.3.5.3 Algoritmo 𝒌-NN
Este algoritmo de aprendizaje supervisado [26] nombrado 𝑘-vecinos más cercanos, del inglés 𝑘-
Nearest Neighbors, es en realidad un clasificador paramétrico basado en instancias, esto quiere decir que
no asume una forma específica sobre la distribución de clases en el espacio de características; lo que hace
es aprender de la distribución de clases de datos. Todos los cálculos realizados en este algoritmo se efectúan
hasta la etapa de clasificación de un sistema de reconocimiento.
La serie de pasos que describen este algoritmo son:
Inicio:
1. Establecer el valor de 𝑘.
Conjunto de
entrenamiento
Etiquetas
Algoritmo de
aprendizaje
automático
Dato nuevo Modelo predictivo Predicción
Capítulo II
59
Para cada elemento nuevo a clasificar representado con un vector 𝑥 = (𝑥1, 𝑥2, 𝑥3, … , 𝑥𝑖):
2. Se calculan con una medida de distancia las 𝑘 muestras más cercanas a 𝑥, independientemente de
su clase.
3. Entre los 𝑘 vecinos seleccionados, se cuentan los elementos que pertenecen a cada clase.
4. Se asigna 𝑥 a la clase más común entre vecinos.
2.3.5.4 No supervisado
En el aprendizaje sin supervisión [26] se tratan datos sin etiqueta o datos de estructura desconocida.
Usando técnicas de aprendizaje no supervisado, es posible explorar la estructura de los datos para extraer
información significativa sin la guía de una variable de resultado conocida. En este tipo de aprendizaje no
se realizan asignaciones a clases, sólo se llevan a cabo agrupaciones que consideran una diferencia mínima
intra-grupo y una diferencia máxima extra-grupo. Así mismo, algunos algoritmos de agrupamiento o
«clustering» permiten definir el número de grupos «clusters» en los que serán distribuidos los datos.
En la Figura 2.12, se muestra la estructura de este tipo de aprendizaje, en donde los datos son agrupados
de acuerdo a información característica.
Figura 2.11: Diagrama a bloques del aprendizaje no supervisado [27]
Los algoritmos de agrupación se precisan de acuerdo al tipo de datos a clasificar, el criterio de
agrupación que define la similitud entre las características de los datos, así como los conceptos
fundamentales en los que se basan las técnicas de análisis. Por lo anterior, según el método elegido, los
tipos de algoritmos se establecen como: algoritmos de partición en donde se puntualiza el número de
clústers en el que debe ser dividido el conjunto de datos, algoritmos jerárquicos son aquellos que distribuyen
los datos por niveles dando como resultado un árbol de clúster, y algoritmos basados en densidad los cuales
fragmentan un espacio de datos con base en la distribución de densidad de los puntos.
2.3.5.5 Algoritmo 𝒌-Means
𝑘-Means es un algoritmo de partición [28], donde los datos de entrada se clasifican en un número 𝑘 de
clases definidas. Su objetivo es encontrar 𝑘-centroides, uno para cada clase. Inicialmente se toma cada
conjunto de datos y se sitúa en la clase de su centroide más cercano, posteriormente se recalcula el centroide
Conjunto de
entrenamiento
Algoritmo de
aprendizaje
automático
Dato nuevo Modelo predictivo Predicción
Capítulo II
60
de cada clase para volver a distribuir todos los objetos según el centroide más cercano. Se repite el
procedimiento hasta que los centros de cada clúster dejen de cambiar, es decir, hasta que los objetos se
asignen a la misma clase del cálculo anterior.
A continuación, se describen los pasos que componen este algoritmo:
Inicio:
1. Establecer el valor de 𝑘. 2. Elegir 𝑘 posiciones aleatorias en el espacio de entrada.
3. Asignar centroides 𝜇𝑗, a esas posiciones.
Figura 2.12: Posicionamiento aleatorio de k=3 centroides iniciales en un conjunto de datos
Aprendizaje:
Para cada punto de datos 𝑥𝑖:
1. Calcular la distancia para cada centroide definido.
2. Asignar cada dato al centro del clúster más cercano mediante el cálculo de la distancia.
𝑑𝑖 = 𝑚𝑖𝑛𝑗
𝑑(𝑥𝑖 . 𝜇𝑗) (2.29)
Figura 2.13: Se generan 𝑘-grupos al asignar cada dato al centroide más cercano
Para centro de clúster:
3. Asignar como nuevo centro de clúster a la media de los puntos en ese grupo.
𝜇𝑖 =1
𝑁𝑗∑ 𝑥𝑖
𝑁𝑗
𝑖=1
(2.30)
Donde 𝑁𝑗 es el número de puntos en el clúster 𝑗.
Capítulo II
61
Figura 2.14: Se repite el procedimiento hasta que los centros de cada clúster dejen de cambiar
Capítulo II
62
CAPÍTULO III: ANÁLISIS
Sistema de reconocimiento de voz para la detección oportuna de la dislexia en niños
Capítulo III
64
Capítulo III
65
CAPÍTULO III: ANÁLISIS
El presente capítulo muestra en la sección 3.1 una descripción general del sistema propuesto en este
proyecto para la detección oportuna de la dislexia, en la sección 3.2 se presentan los requerimientos
específicos de la propuesta y en la sección 3.3 se comentan las herramientas tecnológicas a utilizar.
. El capítulo se ha realizado siguiendo lo establecido en el estándar IEEE 830 [29] relativo a la
especificación de requerimientos para el desarrollo de software.
3.1 Descripción general del sistema
En esta sección como su nombre lo indica, se realiza una descripción general del sistema con el fin de
presentar las principales funciones que éste realiza, así como sus restricciones, supuestos y dependencias
que afectan su desarrollo.
3.1.1 Perspectiva del producto
Este sistema no depende de un sistema mayor, por lo cual es absolutamente independiente, puesto que
es un primer acercamiento a la detección de dislexia por medio del reconocimiento de voz.
3.1.2 Funcionalidad del producto
La función principal de esta herramienta es auxiliar en la detección del trastorno de dislexia en niños;
el desarrollo de esta opción consiste en capturar la voz del infante a diagnosticar, para ser procesada y
posteriormente comparada con los patrones de los diccionarios fonéticos conformados con la pronunciación
de palabras con y sin dislexia, el resultado de esta comparación permitirá que el sistema expida un
diagnóstico, el cual será validado por un especialista.
3.1.3 Características de los usuarios
El sistema cuenta con tres tipos de usuarios, un administrador quien se encarga de dirigir el
funcionamiento del mismo, un médico auxiliar que proporciona la voz del infante a diagnosticar y un
especialista en el área de tratamiento y corrección de los trastornos del lenguaje que valida el diagnóstico
emitido por el sistema. Las características de dichos usuarios se muestran en las Tablas 3.1, 3.2 y 3.3
respectivamente.
Tabla 3.1: Características del usuario administrador
Usuario Administrador
Formación Ingenieros en Telemática
Actividades Gestión y control del sistema en general
Capítulo III
66
Tabla 3.2: Características del usuario médico auxiliar
Usuario Médico auxiliar
Formación Médicos generales, profesores o psicólogos con conocimientos
del trastorno de dislexia
Actividades Capturar y subir un archivo de audio; contacto con los niños participantes.
Tabla 3.3: Características del usuario médico especialista
Usuario Médico especialista
Formación Médicos especializados en el estudio de patologías del lenguaje
Actividades Validar el diagnóstico emitido por el sistema
3.1.4 Restricciones
En este apartado se enumeran las limitaciones implantadas sobre el desarrollo del sistema.
1. El sistema procesa archivos de audio que estén en formato WAV.
2. El sistema únicamente reconocerá palabras que estén definidas en los diccionarios fonéticos
de la sección 2.1.2.
3. El sistema identifica palabras pronunciadas en el idioma español de la zona centro de México.
4. La interfaz del sistema está creada para ser usada a través de Internet.
5. El sistema está desarrollado en lenguajes y tecnologías como HTML, Java y MATLAB®.
6. Se puede acceder al sistema mediante los navegadores Google Chrome a partir de la versión
14, en Mozilla Firefox desde la versión 11 e Internet Explorer a partir de la versión 9.
3.1.5 Suposiciones y dependencias
Enseguida se plantean las suposiciones y dependencias necesarias para el funcionamiento del sistema.
1. Se supone que el infante a diagnosticar tiene la misma variación lingüística que la de las
palabras almacenadas en los diccionarios fonéticos, es decir, que es originario del centro del
país.
2. Se asume que el infante a diagnosticar posee un nivel lector de educación primaria.
3. Es necesario contar con servicio de Internet para acceder al sitio, subir un archivo de audio y
visualizar los resultados.
3.2 Requerimientos específicos del sistema
A continuación, se establecen los requerimientos necesarios para la realización del sistema, los cuales
se definen como requerimientos comunes de las interfaces, funcionales, no funcionales y otros. En esta
Capítulo III
67
etapa, así como en la de diseño se utilizan las herramientas y conceptos que provee el Lenguaje Unificado
de Modelado (UML).
3.2.1 Requerimientos comunes de las interfaces
En este apartado se describen detalladamente todas las entradas y salidas del sistema tales como las
interfaces de usuario, hardware, software y comunicación.
3.2.1.1 Interfaces de usuario
Dicha interfaz cuenta con un formulario para que cada usuario pueda registrarse y campos de texto
para iniciar sesión. Después de este paso el usuario tiene acceso al menú de navegación del sistema, el cual
le permite ingresar a las distintas pantallas que integran al mismo. Si el usuario es administrador, este tiene
permisos para validar los datos de un usuario médico auxiliar y con ello permitirle el acceso al sistema.
Este último tipo de usuario, está habilitado para realizar una prevaloración de dislexia, por lo que tiene
interfaces para dar de alta un paciente, modificar o eliminar sus datos, subir archivos de audio y visualizar
los resultados de la prueba. Por último el usuario médico especialista tiene una interfaz para validar el
resultado del sistema.
3.2.1.2 Interfaces de hardware
En la Tabla 3.4, se presentan las características mínimas del equipo de cómputo requerido en el
proyecto.
Tabla 3.4: Equipo de cómputo
Recurso Características Cantidad
Laptop 1
Procesador: Intel(R) Core(TM) i5-7200U CPU @2.50GHz 2.71 GHz
Memoria instalada (RAM): 8.00 GB
Tipo de sistema: Sistema operativo de 64 bits, procesador x64
Disco duro: 1TB
1
Laptop 2
Procesador: Intel(R) Core(TM) i5-3210M CPU @2.50GHz 2.50 GHz
Memoria instalada (RAM): 6.00 GB
Tipo de sistema: Sistema operativo de 64 bits, procesador x64
Disco duro: 500GB
1
La Tabla 3.5, presenta tres micrófonos para construir el modelo acústico del sistema, estos son
evaluados de acuerdo a la Relación Señal a Ruido (SNR) que proporcionen una vez que son conectados a
los equipos de cómputo descritos anteriormente.
Capítulo III
68
Tabla 3. 5 Características de micrófonos
Micrófonos
Identificador Micrófono 1 Micrófono 2 Micrófono 3
Marca SHURE ESTUDIO
MULTIMEDIA FUSSION
Modelo SM58 SF-666 MI-1100BK
Tipo de micrófono Dinámico Condensador Dinámico
Patrón Polar Cardiode Direccional Unidireccional
Respuesta de
frecuencia 50 a 15,000 Hz 50 a 16,000 Hz 100 a 12,500 Hz
Sensibilidad - 54dBV -55dB ± 2dB -7 dB ± 3dB
Impedancia de salida 300 Ω ≤ 2,200 Ω 600 Ω ± 30%
SNR - 39 dB -
Imagen
3.2.1.3 Interfaces de software
Se describen en la Tabla 3.6 los recursos de software necesarios para el desarrollo del sistema,
resultado del análisis realizado en la sección 3.3.
Tabla 3.6: Recursos de software
Recurso Propuesta Cantidad de licencias
individuales
Sistema Operativo Windows 10 2
Sistema Gestor de Base de Datos MySQL 5.7.x Software libre
IDE de desarrollo NetBeans IDE 8.2 Software libre
MATLAB® 2017ª 2
IDE de análisis y diseño StartUML 2.8.0 Software libre
Lenguajes de programación Java Software libre
Lenguaje de cálculo M. Software libre
Servidor de aplicaciones Apache Tomcat 8.5.x Software libre
Capítulo III
69
3.2.1.4 Interfaces de comunicación
El servidor y el cliente se comunican entre sí a través de protocolos estándares de internet como
TCP/IP. Por ejemplo, para la transferencia de archivos se utilizan protocolos FTP u otros convenientes.
Asimismo, con el fin de preservar la seguridad en el intercambio de datos, fue implementado el algoritmo
de cifrado asimétrico RSA.
3.2.2 Requerimientos funcionales
En esta sección se describen las acciones o servicios que el sistema provee, es decir, como responde a
una petición en particular. Estos requerimientos se visualizan en la Tabla 3.7.
Tabla 3.7: Requerimientos funcionales
Identificador Descripción
Sistema Web
RF1 El sistema debe permitir el ingreso a un usuario utilizando sus datos de autenticación.
Captura de la voz
RF 2
Captar la voz por medio de un micrófono y almacenarla en un archivo de audio con
formato WAV. Permitir la carga de un archivo de audio con formato WAV que cumpla
con los parámetros establecidos en 2.3.2.6.
RF 3 Enviar al servidor el archivo de audio obtenido para su procesamiento.
Preprocesamiento de la voz
RF 4 Procesar la señal de voz para la eliminación de señales indeseables causadas por
fluctuaciones propias de la voz, medio ambiente, micrófono, entre otros.
RF 5 Obtener palabras aisladas de cada archivo adquirido mediante un proceso de
segmentación.
Procesamiento de la voz
RF 6 Extraer las características que representan cada palabra obtenida en RF5.
Reconocimiento de la voz
RF 7 Definir el modelo de aprendizaje para obtener los patrones de voz que conforman los
diccionarios fonéticos de infantes con dislexia y sin dislexia.
RF 8 Comparar las muestras de la señal de entrada con los diccionarios fonéticos.
Diagnóstico
RF 9 Mostrar el resultado al especialista del diagnóstico, obtenido de forma automatizada en
RF8. El especialista deberá validar el resultado que se le presenta.
Sistema Web
RF 10 Permitir al administrador del sistema la gestión de datos, utilizando las operaciones alta,
baja, consulta y modificación.
Capítulo III
70
3.2.3 Requerimientos no funcionales
Estos requerimientos contribuyen a identificar aquellas características del sistema que no son
indispensables pero que se desean efectuar puesto que definen los alcances y restricciones del sistema.
Dichos requerimientos se clasifican como de rendimiento, seguridad, fiabilidad, disponibilidad,
mantenibilidad y portabilidad.
3.2.3.1 Requisitos de rendimiento
En la Tabla 3.8 se especifican los requisitos relacionados con el desempeño que proporciona el sistema,
con base en la carga que soporte y el tiempo de respuesta.
Tabla 3.8: Requerimiento no funcional de rendimiento
Identificador Descripción
RNF 1
El tiempo de respuesta del sistema está sujeto a la duración del procesamiento de cada
uno de los algoritmos que componen sus módulos. Se elegirán los algoritmos que se
acerquen a un orden de complejidad lineal.
3.2.3.2 Seguridad
En segunda instancia en la Tabla 3.9, se muestran los requerimientos establecidos para proporcionar
seguridad al sistema.
Tabla 3.9 Requerimientos no funcionales de seguridad
Identificador Descripción
RNF 2 Se da acceso a la interfaz del sistema con base en los roles establecidos para cada
usuario, previo a una autenticación del mismo.
RNF 3 Garantizar la seguridad del sistema con respecto a la información y datos que se manejan
tales como archivos y contraseñas.
RNF 4 El tiempo máximo de inactividad para la sesión de un usuario en el sistema es de 2
minutos.
3.2.3.3 Fiabilidad
De igual modo en la Tabla 3.10 se expresan los elementos que permiten una adecuada ejecución del
sistema.
Tabla 3.10: Requerimientos no funcionales de fiabilidad
Identificador Descripción
RNF 5 El ambiente gráfico debe ser adecuado para la interacción entre el infante y el médico
auxiliar.
RNF 6 Las interfaces del sistema deben ser intuitivas y por tanto de fácil manejo.
Capítulo III
71
3.2.3.4 Disponibilidad
El requerimiento de la Tabla 3.11, establece el tiempo en el que el sistema debe estar activo y en
funcionamiento.
Tabla 3.11: Requerimiento no funcional de disponibilidad
Identificador Descripción
RNF 7 El sistema debe ofrecer una disponibilidad continua con un nivel de servicio para los
usuarios de 7 días por 24 horas.
3.2.3.5 Mantenibilidad
Enseguida en la Tabla 3.12, se especifican los requerimientos con respecto a las medidas a seguir para
el mantenimiento del sistema.
Tabla 3.12: Requerimiento no funcional de mantenibilidad
Identificador Descripción
RNF 8 El sistema debe disponer de una documentación fácilmente actualizable que permita
realizar operaciones de mantenimiento con el menor tiempo posible.
3.2.3.6 Portabilidad
Por último, en la Tabla 3.13 se mencionan los requerimientos que especifican la adaptabilidad del
sistema a diferentes entornos, sin la intervención de herramientas externas al mismo.
Tabla 3.13: Requerimiento no funcional de portabilidad
Identificador Descripción
RNF 9 El sistema deberá visualizarse en Google Chrome a partir de la versión 14, en Mozilla
Firefox desde la versión 11 e Internet Explorer a partir de la versión 9.
3.2.4 Otros requerimientos
Se pueden observar en la Tabla 3.14 los requerimientos que se llegan a clasificar como legales,
políticos y culturales.
Tabla 3.14: Requerimientos legales
Identificador Descripción
RL 1 Cumplir con la confidencialidad y protección de los datos de cada paciente registrado.
RL 2 Mantener un acuerdo de protección de datos para la obtención de los patrones de voz.
Capítulo III
72
3.2.5 Análisis de riesgos
A través del análisis de riesgos se detectan problemas potenciales que pudieran o no ocurrir, no
obstante, ayuda a comprender y gestionar la incertidumbre en el desarrollo del sistema. A continuación, se
puntualizan las etapas del análisis de riesgo realizado.
En la identificación de riesgos, a partir de la Tabla 3.15, se abordan los riesgos que pueden surgir
durante el desarrollo del proyecto.
a. Riesgo de proyecto (RP): Son los riesgos que afectan la planeación del proyecto y están
relacionados con presupuesto, planificación, personal y recursos.
b. Riesgo técnico (RT): Amenazan la calidad final del sistema, si estos se cumplen la implementación
puede llegar a ser difícil o imposible.
c. Riesgo de negocio (RN): Ponen en peligro la viabilidad del sistema a construir.
Tabla 3.15: Identificación de riesgos
Identificador Descripción del Riesgo Tipo de riesgo
R 1 Personas no aptas por no controlar sus nervios. Riesgo del negocio
R 2 Enfoque inadecuado de la aplicación. Riesgo del negocio
R 3 Fallo en la detección debido a variaciones lingüísticas del idioma
español de la zona centro de México. Riesgo del negocio
R 4 Afectación de la señal de voz por ruido. Riesgo técnico
R 5 Segmentación inadecuada de la señal de voz. Riesgo técnico
R 6 Algoritmos ineficaces en cada módulo del sistema. Riesgo técnico
R 7 Patrones insuficientes Riesgo técnico
R 8 Tiempo de respuesta excesivo en los módulos del sistema. Riesgo técnico
R 9 Selección de herramienta inadecuada para la manipulación de la
voz. Riesgo técnico
R 10 La curva de aprendizaje de las tecnologías impacta en el tiempo
de desarrollo del proyecto. Riesgo del proyecto
En el análisis de riesgos, su priorización, se analiza en la Tabla 3.16 de acuerdo a la siguiente escala
de probabilidad percibida por riesgo:
Baja: 0% - 33%
Media: 34% - 66%
Alta: 67% - 100%
Capítulo III
73
Tabla 3.16: Priorización del Riesgo
Identificador Priorización del Riesgo
R 1
Probabilidad: Media
Descripción: El sistema no tiene manera de controlar el estado emocional del infante a
diagnosticar.
Impacto: Serio
Pueden ocurrir más variaciones en la señal de voz capturada de las esperadas.
R 2
Probabilidad: Baja
Descripción: En la detección de dislexia sean necesarios más parámetros que la
evaluación de la lectura.
Impacto: Serio
No se realicen diagnósticos certeros debido a que la tasa de error incremente de manera
considerable.
R 3
Probabilidad: Baja
Descripción: Que las variaciones lingüísticas provean un vector de características
distinto a los patrones de voz del sistema.
Impacto: Serio
Se dificulta el diagnóstico debido a que impide la correcta clasificación de la señal de
voz capturada.
R 4
Probabilidad: Alta
Descripción: Adición de señales que se agregan por fluctuaciones propias de la voz,
medio ambiente, micrófono, etcétera.
Impacto: Tolerable
Se generan errores en la captación de la voz a causa de perturbaciones que enmascaran
la señal de voz.
R 5
Probabilidad: Media
Descripción: La división del audio en palabras, así como el algoritmo de segmentación
no sean adecuados para un sistema de reconocimiento de voz por patrones.
Impacto: Catastrófico
Vectores de características erróneos que dificulten la clasificación de palabras y por
tanto el diagnóstico de dislexia.
Capítulo III
74
Tabla 3. 17(continuación): Priorización del Riesgo
R 6
Probabilidad: Baja
Descripción: Implementación de algoritmos inadecuados en el procesamiento de la
señal de voz, extracción de características, entrenamiento del sistema y clasificación de
muestras debido a la complejidad del sistema.
Impacto: Catastrófico
El sistema no realizará el diagnóstico del trastorno debido a que presenta un mal
desarrollo en los algoritmos de cada módulo, por lo que no estaría cumpliendo con su
objetivo.
R 7
Probabilidad: Media
Descripción: Las muestras de señales de voz no permiten tener un número suficiente de
patrones de voz funcionales.
Impacto: Serio
Se dificulta el entrenamiento del sistema.
R 8
Probabilidad: Alta
Descripción: El tiempo de procesamiento sea sumamente excesivo debido a la cantidad
y tamaño de información que estaría procesando el sistema.
Impacto: Tolerante
Es posible que se detenga el sistema y al mismo tiempo sea complicado, frustrante y
estresante para los usuarios tratar con un sistema en esas condiciones; rompiendo las
expectativas del usuario.
R 9
Probabilidad: Media
Descripción: La herramienta seleccionada dificulta la programación de los algoritmos a
implementar en el sistema.
Impacto: Serio
Retraso en el desarrollo de módulos y que el sistema no se concluya a tiempo.
R 10
Probabilidad: Media
Descripción: Retraso en el avance del proyecto a causa de inexperiencia en el manejo
de la herramienta seleccionada.
Impacto: Serio
No se logra la implementación de los módulos que componen al sistema.
Por lo anterior, la planeación de riesgos se define en la Tabla 3.18, donde las estrategias para disminuir
sus consecuencias, son las siguientes.
a. Prevención: Reducción de la probabilidad del riesgo.
b. Minimización: Reducción del impacto del riesgo.
Capítulo III
75
c. Contingencia: Planificar cómo solucionar la pérdida.
Tabla 3.18: Planeación de riesgos
Identificador Prevención Minimización Contingencia
R 1
El control del
comportamiento del
paciente está a cargo del
especialista considerando
que él tiene experiencia
en el trato con infantes.
La interfaz del sistema deberá
estar diseñada adecuadamente
para facilitar la interacción
entre el infante y el
especialista.
Quedará a consideración
del especialista quien
posee conocimientos y
experiencia conductual.
R 2
Evaluar aspectos de
factibilidad en el sistema
a desarrollar.
Validar otros parámetros
dentro de la aplicación, que se
deban tomar en cuenta para
un mejor diagnóstico de
dislexia.
Delimitar el rendimiento
del sistema con respecto
a la detección de voz.
R 3
Obtener muestras y
realizar pruebas sólo con
infantes que su variación
lingüística corresponda a
la de la Ciudad de
México.
Validar patrones de personas
con diferentes acentos del
idioma.
Tener diccionarios
fonéticos clasificados
por zonas geográficas,
sean éstas Norte, Centro
y Sur.
R 4
Elegir un entorno
adecuado (ambiente
silencioso) para la
realización de las pruebas.
El procesamiento que será
aplicado a la señal de voz
deberá reducir el ruido.
Además el sistema debe ser
probado con grandes
alteraciones de ruido esto con
el fin de que sea capaz de
reducirlo.
En el caso de las
muestras para patrones
repetir la captación hasta
tener una señal
adecuada.
.
R 5
Profundizar en la
investigación para
segmentación de las
señales de voz, dentro del
reconocimiento de la
misma.
Realizar distintas pruebas del
algoritmo de segmentación de
voz planteado.
Realizar una adecuación
del rango de
segmentación.
R 6
Realizar un estudio
amplio de cada módulo
para que antes de
implementar un algoritmo
este tenga un respaldo
teórico.
Implementar distintos
algoritmos para cada módulo
con el fin de seleccionar el
que sea capaz de entregar los
resultados esperados.
Buscar o crear nuevos
algoritmos que
proporcionen mejores
resultados en cada
módulo.
Capítulo III
76
Tabla 3. 19(continuación): Planeación de riesgos
R 7 Contactar a un grupo
extenso de infantes.
Tomar como mínimo quince
ejemplares de un infante para
cada palabra pertenecientes al
diccionario fonético.
Formar una agenda de
contactos con escuelas
primarias y centros
especializados del habla,
para no desabastecer
nuestro diccionario
fonético.
R 8
Contar con el equipo
adecuado que soporte la
dimensión del sistema y
los algoritmos utilizados.
Buscar estrategias para
eficientar el procesamiento de
cada módulo del sistema.
Utilizar un servidor con
mayor capacidad pese a
que se incremente el
costo del sistema o
considerar la
fragmentación del
mismo.
R 9
Realizar pruebas de
factibilidad de cada
herramienta y seleccionar
aquella en la que la
implementación de los
algoritmos sea eficiente.
Definir correctamente el
sistema para emigrarlo a
cualquier lenguaje de
programación o herramienta.
Replantear módulos y
algoritmos del sistema.
Además de estudiar
nuevas tecnologías.
R 10
Estudiar las tecnologías a
utilizar en tiempo
extraordinario al definido
en la planeación del
sistema.
Lograr implementar los
módulos más significativos
del sistema.
Presentar el mayor
avance posible del
sistema.
3.3 Herramientas tecnológicas
Las herramientas potenciales que se emplearon para la creación de los diversos módulos del proyecto
se describen en esta sección, reiterando que están sujetas a cambios de acuerdo a su desempeño y
disponibilidad.
3.3.1 Sistema operativo
La Tabla 3.20 es una comparación entre los sistemas operativos propuestos para realización de este
proyecto.
Capítulo III
77
Tabla 3.20: Sistema operativo
Sistema
Operativo Costo Operatividad
Windows 10
Home
Windows 10 Home 32/64 bits.
Licenciamiento Microsoft
MXN $2,499.00
Es el último sistema operativo desarrollado por la
empresa de software Microsoft Corporation, el
cual como todos los anteriores se encuentra
dotado de una interfaz gráfica de usuario basada
en el prototipo de ventanas.
Linux (Ubuntu
16.10)
Licenciamiento GNU
Distribución libre
Ubuntu es una distribución Linux que ofrece un
sistema operativo enfocado a ordenadores de
escritorio y proporciona soporte para servidores.
Disponible en 4 arquitecturas: Intel x86, AMD64,
SPARC.
Capaz de actualizar a la vez todas las aplicaciones
instaladas en la máquina a través de repositorios.
Comparación y elección:
Los sistemas operativos que se consideraron son Windows 10 y Ubuntu 16.10, ambos poseen
funciones que gestionan los recursos del ordenador, coordinan el hardware y al mismo tiempo proveen
servicios a los programas de aplicación de software.
Windows tiene como una de sus principales características, la facilidad de uso y la simplicidad de las
tareas básicas del sistema, esto debido a su diseño. Razón por la cual conduce a que existan vulnerabilidades
de seguridad e inestabilidad del sistema.
Por el contrario la mayoría de los sistemas Linux, son fiables y seguros dado que requieren una
comprensión más profunda del sistema subyacente para realizar las funciones diarias, al igual que la
solución de procesos técnicos, ya que estos pueden resultar más desafiantes y complicados que en Windows.
Así mismo Linux soporta una gama más amplia de software libre que Windows, en contraste con lo anterior,
este último ordena el mayor número de usuarios de escritorio y por tanto posee una mayor selección de
software comercial.
En cuanto al costo del kernel, utilidades y bibliotecas de GNU de Linux son distribuciones
completamente libres y de código abierto, en cambio Windows tiene un costo, el cual se cubre mediante la
adquisición del equipo de cómputo con el que se trabajará en este proyecto. De donde se infirió que el
sistema para el desarrollo de este proyecto es Windows 10 teniendo en cuenta que ofrece facilidad de
implementación, uso y administración.
3.3.2 Lenguajes de programación
Para el caso de los lenguajes de programación utilizados, se elaboró la Tabla comparativa 3.21.
Capítulo III
78
Tabla 3.21: Lenguajes de programación
Lenguajes de
programación Licencia Plataformas
Software libre
para su
desarrollo
Operatividad
Java
GNU GPL /
Java Comunity
Process
Windows, Mac
OS X, Solaris,
Unix y Linux
Si
Es un lenguaje de
programación de propósito
general, concurrente,
orientado a objetos
Python
Python
Software
Foundation
License
Windows, Mac
OS X, Solaris,
Unix y Linux
Si
Es un lenguaje de
programación
seminterpretado o de script,
multiplataforma y orientado
a objetos.
Comparación y elección:
De manera similar Python y Java son lenguajes de programación que soportan el paradigma orientado
a objetos. Ahora bien, cabe destacar que la curva de aprendizaje de Python es muy suave en comparación
con Java que posee una curva muy pesada, debido a que es un lenguaje muy complejo, lo cual no lo hace
justificable si el sistema a desarrollar es medianamente simple. Ambos lenguajes se ejecutan con bytecode
lo que permite compilaciones muy rápidas.
La implementación de ambos lenguajes en web es compleja y en el caso de Python las ofertas para su
alojamiento web son más escasas que en Java. Por otra parte es importante mencionar que el lenguaje de
programación Java permite la integración de aplicaciones desarrolladas en Matlab, por lo que en suma con
lo mencionado anteriormente se seleccionó éste último.
3.3.3 Software de desarrollo
En la Tabla 3.22 se ilustran las diferencias entre las herramientas de desarrollo propuestas para
software matemático, IDE Java y modelador de diagramas UML.
Capítulo III
79
Tabla 3.22: Software de desarrollo
Herramienta Licencia Plataformas
Lenguaje y
Características
que soporta
Costo Operatividad
Software matemático
MATLAB®
2017a
MATLAB®
and Simulink
Student Suite
Windows,
Linux, and Mac
OS
Lenguaje de
cálculo técnico
propio.
(Lenguaje M)
Paquete
Estudiantil
$1,050 MXN
Es una
herramienta de
software
matemático
que ofrece un
entorno de
desarrollo
integrado y un
lenguaje
propio.
MATLAB®,
Simulink,
Control System
Toolbox, Signal
Processing
Toolbox,
Statistics and
Machine
Learning
Toolbox, Data
Acquisition
Toolbox and
Instrument
Control Toolbox.
Interfaces para
C/C++, Java,
.NET, Python,
SQL, Hadoop,
Microsoft,
Excel.
GNU Octave
4.2.1
GNU General
Public
License
(GPL).
GNU/Linux,
Mac OS, BSD, y
Windows
Lenguaje de
cálculo técnico,
sintaxis similar a
MATLAB®.
Distribución
gratuita
Es una
herramienta de
software con
un lenguaje de
Capítulo III
80
Interface para
Java
alto nivel para
realizar
cálculos
numéricos.
Tabla 3. 23(continuación): Software de desarrollo
IDE Java
Netbeans IDE
8.2 Oracle
Windows, Mac
OS X, Solaris,
Unix y Linux
Java,
PHP, Groovy,
C/C++, HTML5
Distribución
gratuita
Es un entorno
de desarrollo
integrado,
modular,
escrito en el
lenguaje de
programación
de Java.
Eclipse IDE
4.6
Eclipse
Foundation
Windows,Linux,
Mac OS X
Java, ANSI
C,C++,JSP, SH,
Perl, PHP, Sed
Distribución
gratuita
Eclipse es una
plataforma de
software
escrito en
código abierto
multiplataform
a. Utilizada
como IDE para
Java
Development
Toolkit (JDT)
y el
compilador
(ECJ).
Modelador de diagramas UML
StartUML
2.8.0 GNU GPL
Windows, Mac
OS y Linux
Diagramado
para los
lenguajes C++,
C# y Java
Distribución
gratuita
Es una
herramienta de
modelado de
software
basado en los
estándares
UML y MDA.
BOUML 6.9.x BOUML y
GNU
Windows,
Linux, Mac OS
X
Diagramado
para los
lenguajes C++,
Java, Idl, Php,
Python y
MySQL
Distribución
gratuita
Es una
aplicación que
permite
realizar
diagramas
UML para
Capítulo III
81
especificar y
generar código
en distintos
lenguajes.
Comparación y elección:
• Software matemático
Estas herramientas facilitan el desarrollo de los módulos para el procesamiento de la señal de voz ya
que poseen funciones matemáticas que permiten la implementación de algoritmos necesarios en el proyecto.
Dado que Octave es un software de distribución libre éste fue construido para ser compatible con
MATLAB® por lo que tienen funciones en común como: matrices como tipo de datos fundamental, soporte
integrado para números complejos, potentes funciones matemáticas incorporadas y extensas bibliotecas de
funciones. Aunque el trazado multidimensional de MATLAB®, la documentación de ayuda y la GUI son
atributos que superan a Octave. Asimismo, MATLAB® dispone de dos herramientas adicionales que
expanden sus prestaciones, a saber, Simulink (plataforma de simulación multidominio) y GUIDE (editor
de interfaces de usuario GUI). De manera que es indiscutible la elección por MATLAB®.
• IDE Java
Análogamente NetBeans y Eclipse son entornos de desarrollo integrado libre (IDE), multiplataforma,
construidos para el desarrollo de aplicaciones en distintos lenguajes de programación como se observa en
la Tabla 3.23.
Eclipse es un IDE que se puede configurar infinidad de veces, para obtener un ambiente de trabajo
funcional y libre de errores. No obstante, dado que las opciones de configuración se encuentran en diferentes
lugares, esto demora bastante tiempo.
En cambio, Netbeans es sencillo e intuitivo de configurar, puede ser utilizado para desarrollar software
para todas las versiones de Java, desde Java ME hasta Enterprise Edition ofrece un fuerte apoyo al desarrollo
de aplicaciones basadas en MVC en Java. Permite una integración de Servlets y JSP bastante simple en
comparación con Eclipse, especialmente en el campo de la implementación y depuración. Asimismo, cuenta
con soporte incorporado para los sistemas gestores de base de datos para Java DB, MySQL, PostgreSQL y
Oracle. En cierto modo estos entornos de desarrollo tienen más semejanzas que diferencias, a pesar de ello,
se elige Netbeans por mayor dominio y experiencia de las desarrolladoras.
• Modelador de diagramas UML
BOUML y StartUML son herramientas, que permite generar código en los principales lenguajes
orientados a objetos, al mismo tiempo integra herramientas externas que hayan sido programadas en C++
o Java pero BOUML es poco intuitiva lo que implica una curva de aprendizaje muy grande en cambio,
StartUML es muy fácil de usar, debido a la simplicidad y rápida percepción de sus objetos, funciones y
características. Por esta razón se prefiere como modelador de diagramas esta última.
Capítulo III
82
3.3.4 Sistema Gestor de Base de Datos
El estudio de los sistemas gestores de bases de datos para este proyecto se compara en la Tabla 3.24.
Tabla 3.24: Sistema Gestor de Base de Datos
Herramienta Licencia Plataformas
Límite de
tamaño de
la BD
ACID Costo Operatividad
SQLServer
2016
Microsoft
EULA Windows
Limitado
por el
sistema
operativo
Si
Edición
Estándar
$64,640.00
MXN
Es un sistema de
administración y
análisis de bases
de datos
relacionales para
soluciones de
comercio
electrónico, línea
de negocio y
almacenamiento
de datos.
MySQL 5.7.x Oracle
Linux,
Windows
Compatible:
Apache
MySQL
PHP,
Perl,Python
Limitado
por el
sistema
operativo
Depende del
motor de
almacenamiento
Distribución
gratuita
Es un sistema de
gestión de base
de datos
relacional de
código abierto,
basado en
lenguaje de
consulta
estructurado
(SQL).
Comparación y elección:
Para llevar a cabo el diseño y gestión de la base de datos, donde se almacenan los datos de los usuarios,
se cuenta con dos alternativas: SQLServer y MySQL, que nos proporcionan casi las mismas ventajas como
se observa en la Tabla 3.24. Sin embargo SQLServer, se considera favorable para gestiones complejas y
recuperación, por lo que tiene mayor soporte. Mientras que MySQL es una herramienta eficiente y rápida,
siendo adecuada para un sistema de mediana escala. Además, cabe destacar que el costo de SQLServer es
muy alto, y considerando la magnitud de este proyecto se opta por la utilización de MySQL.
Capítulo III
83
3.3.5 Servidor
En la Tabla 3.25 se cotejan los servidores con la capacidad de soportar aplicaciones desarrolladas en
Java y Matlab®.
Tabla 3.25: Servidor
Herramienta Licencia Plataforma Costo Operatividad
Servidores locales
Apache
Tomcat 8.5.x
Apache
2.0
Unix,
Windows y
Mac OS
Distribución
gratuita
Es un servidor web que también
ofrece un contenedor de servlets y
entorno JSP (Java Server Pages).
Wildfly 10.x GNU
LGPL
Unix,
Windows y
Mac OS
Distribución
gratuita
Es un servidor de aplicaciones Java
Enterprise Edition, incluye un
contenedor de servlets y un servidor
web. Además posee una arquitectura
orientada a servicios SOA
Servidor de alojamiento web
000webhost Hostinger Web
Hosting gratuito Provee un servicio de alojamiento
web, que soporta PHP y MySQL.
Rizo, GD2, Zend, XML, fopen(),
tomas de PHP, Ioncube Loadoer,
.htaccess y otras características. Hosting premium
Comparación y elección:
Del mismo modo Wildfly y Tomcat son servidores de aplicaciones de servlets Java, no obstante
Wildfly es mejor opción para aplicaciones en las que se necesita un acceso completo a la funcionalidad que
proporciona Java Enterprise Edition (JEE) así como Enterprise JavaBeans (EJB). Si no se necesita toda la
gama de características JEE, elegirlo agrega mucha complejidad a la implementación y sobrecarga de
recursos que no son aprovechados.
En cambio Tomcat es un contenedor de servlets Java y servidor web, y, debido a que no proporciona
una implementación de la pila JEE completa, es significativamente más ligero. Es entonces, que al elegir
un servidor de este tipo se obtiene significativamente menor complejidad y uso de recursos.
Para finalizar, se hace la selección del servidor 00webHost el cual permite el alojamiento del sitio y la
gestión web de archivos, así mismo soporta bases de datos MySQL, XML y PHP.
Capítulo III
84
Capítulo III
85
CAPÍTULO IV: DISEÑO
Sistema de reconocimiento de voz para la detección oportuna de la dislexia en niños
Capítulo IV
87
Capítulo IV
88
CAPÍTULO IV: DISEÑO
Este capítulo presenta el diseño del sistema basado en el Lenguaje Unificado de Modelado (UML), así
como el diseño de la base de datos.
4.1 Diccionario de mensajes
A continuación se enlistan los mensajes definidos que el sistema utiliza en la interacción de cada
proceso.
Tabla 4.1 Diccionario de mensajes del sistema
Diccionario de mensajes
Identificador Mensaje Descripción
MS1 “Usuario no registrado” Se muestra cuando el usuario pretende iniciar sesión
pero no está registrado.
MS2 “Correo y/o contraseña
inválido”
Indica que los datos que el usuario ingresó son
incorrectos.
MS3 “Campo obligatorio” Se muestra cuando no se han llenado todos los campos
obligatorios para realizar un registro.
MS4 “Archivo validado sin errores” Indica que la grabación de audio cumple con los
parámetros establecidos.
MS5 “Parámetros incorrectos” Informa cuando la grabación de audio no se realizó con
los parámetros adecuados.
MS6 “Error al procesar audio” Notifica si ocurrió un error durante el procesamiento
de audio.
MS7 “No se obtuvo un patrón” Avisa cuando ocurre un error en el proceso de
entrenamiento de palabras.
4.2 Modelado del sistema
En relación con lo que se mencionó en el Capítulo 3 para el diseño del sistema se utiliza el Lenguaje
Unificado de Modelado (UML), puesto que permite visualizar claramente la serie de requerimientos y
estructuras necesarias para implementar un sistema de software. Primeramente se encuentran los diagramas
de casos de uso para modelar los procesos del sistema, luego los diagramas de secuencias que sirven para
visualizar la intercomunicación de los objetos en el sistema, seguido de los diagramas de actividades que
describen el proceso de los diagramas de casos de uso y finalmente el diagrama de clases que es el pilar
fundamental de UML debido a que explica la estructura general del sistema mostrando la relación entre los
objetos que lo componen.
4.2.1 Diagramas de casos de uso
En esta sección se muestran los diagramas de caso de uso 4-1 a 4-8 junto con su descripción detallada
en las Tablas 4.2 a 4.9, referente a la funcionalidad del sistema de reconocimiento de voz.
Caso de uso 1: Ingresar al sitio
Capítulo IV
89
El diagrama 4-1 correspondiente a RF 1, exhibe el ingreso de un usuario al sitio utilizando sus datos
de autentificación.
Diagrama 4-1 Caso de uso "Ingresar al sitio"
Descripción:
Tabla 4.2: Atributos importantes del caso de uso 1
Caso de uso
Ingresar al sitio
Actor(es) Usuario: administrador, médico auxiliar, médico especialista
Propósito Permitir el ingreso al sitio
Entradas
Inicio de sesión: usuario, contraseña
Registro: nombre, apellido, e-mail, teléfono, dirección, cédula
profesional
Salidas Ninguna
Precondiciones El usuario debe estar registrado en el sitio
Trayectoria Principal
1. El usuario ingresa al sitio Web
2. El sistema muestra la interfaz Inicio de Sesión
3. El usuario ingresa nombre de usuario y contraseña
4. El sistema valida datos de autenticación
5. Se obtiene el perfil de usuario
Capítulo IV
90
Trayectoria Alternativa A
Precondición: Usuario no registrado
A1. El usuario proporciona datos para registro en el sitio
A2. El administrador valida datos de usuario
A3. El sistema agrega al usuario
A4. Regresa al paso 3
Trayectoria Alternativa B
Precondición: Correo y/o contraseña inválidos
B1. El sistema muestra el mensaje MS2
B2. Regresa al paso 3
Postcondiciones Sesión iniciada en el sistema
Usuario registrado en el sistema
Errores MS1: “Usuario no registrado”. MS2: “Correo y/o contraseña
inválidos” MS3: “Campo obligatorio”
Caso de uso 2: Captura de la voz
En el diagrama 4-2 referente a RF 2, ilustra los dos pasos para proporcionar al sistema los archivos de
audio de un paciente, el primero consiste en realizar la grabación de cada palabra utilizando un programa
de captación de voz que permita mantener los parámetros establecidos y el segundo consiste cargar el
archivo de audio en formato WAV.
Diagrama 4-2 Caso de uso "Captura de la voz"
Descripción:
Tabla 4.3: Atributos importantes del caso de uso 2
Capítulo IV
91
Caso de uso
Captura de la voz
Actor(es) Usuario: médico auxiliar, médico especialista
Propósito Obtener la voz y almacenarla en un archivo de audio
Entradas Archivo de audio con formato WAV
Salidas Ninguna
Precondiciones Sesión iniciada en el sitio
Trayectoria Principal
Precondición: Archivo de audio previamente grabado
1. El usuario elige subir archivo de audio
2. El sistema muestra interfaz Subir Archivo
3. El usuario carga el archivo en el sistema
4. El sistema valida los parámetros del audio
5. Se envía mensaje MS4: “Archivo validado sin errores”
Trayectoria Alternativa B
Precondición: Parámetros del archivo audio incorrectos
A1. El sistema muestra el mensaje MS5
A2. Regresa al paso 1 de la Trayectoria principal o Trayectoria A
Postcondiciones Archivo de audio almacenado
Errores Mostrar mensaje MS5: “Parámetros incorrectos”
Caso de uso 3: Prepocesamiento de la voz
El diagrama 4-3, relativo a los requerimientos RF 3 y RF 4 muestra el preprocesamiento de la voz que
se realiza con el fin de eliminar a medida de lo posible el ruido. Además describe la obtención de palabras
aisladas mediante un proceso de segmentación.
Capítulo IV
92
Diagrama 4-3 Caso de uso "Preprocesamiento de la voz"
Descripción:
Tabla 4.4: Aspectos importantes del caso de uso 3
Caso de uso
Preprocesamiento de la voz
Actor(es) Sistema
Propósito Filtrar y segmentar el archivo de audio
Entradas Archivo de audio almacenado
Salidas Reducir el ruido que pueda tener la señal de voz y obtener palabras
aisladas
Precondiciones Tener al menos un archivo de audio almacenado
Trayectoria Principal 1. El sistema selecciona el audio a preprocesar
2. El sistema aplica filtros para la reducción de ruido
3. El sistema realiza el proceso de segmentación
Postcondiciones Se almacenan los datos de audio preprocesados
Errores Ninguno
Caso de uso 4: Procesamiento de la voz
El caso de uso 4-4 refleja RF 5, el cual consiste en extraer las características que representarán a las
palabras obtenidas en RF4.
Capítulo IV
93
Diagrama 4-4 Caso de uso "Procesamiento de la voz"
Descripción
Tabla 4.5: Aspectos importantes del caso de uso 4
Caso de uso
Procesamiento de la voz
Actor(es) Sistema
Propósito Obtener los rasgos representativos de cada palabra utilizando técnicas de
extracción de características
Entradas Datos de audio preprocesados
Salidas Datos de audio procesados (vector de características de cada palabra)
Precondiciones Tener los datos del audio preprocesado de al menos un archivo
Trayectoria Principal 1. El sistema recibe datos de audio procesado
2. El sistema aplica una técnica de extracción de características
3. El sistema obtiene las representaciones de cada palabra
Postcondiciones Contar con las representaciones de cada palabra.
Errores Mostrar error MS6: “Error al procesar audio”
Capítulo IV
94
Caso de Uso 5: Entrenamiento de palabras
El diagrama 4-5 correspondiente a RF 6, describe el módulo de entrenamiento de palabras donde se
obtendrán los diccionarios fonéticos del sistema.
Diagrama 4-5 Caso de uso "Entrenamiento de palabras"
Descripción
Tabla 4.6: Aspectos importantes del caso de uso 5
Caso de uso
Entrenamiento de palabras
Actor(es) Sistema, Administrador
Propósito Obtener patrones de cada palabra para conformar diccionarios fonéticos.
Entradas Datos de audio procesados (vector de características de cada palabra).
Salidas Patrones obtenidos.
Precondiciones Tener diversos vectores de características de cada palabra y definir el
número de patrones que se desea obtener.
Capítulo IV
95
Tabla 4. 7: (continuación): Aspectos importantes del caso de uso 5
Trayectoria Principal
1. El sistema recibe los vectores de características.
2. El administrador define un modelo de aprendizaje.
3. El sistema aprende el modelo a través de las siguientes acciones:
a. Recibe los datos de cada palabra
b. Compara las palabras entre sí
c. Agrupa las palabras candidatas
d. Clasifica las palabras candidatas
4. Se clasifica cada patrón obtenido de acuerdo al diccionario
fonético correspondiente, con dislexia o sin dislexia
5. El sistema optimiza el modelo
Trayectoria Alternativa A
Precondición: No se realizó la comparación de palabras correctamente.
A1. El sistema efectúa el procedimiento nuevamente
A2. Regresa al paso 3-a de la trayectoria principal
Postcondiciones Contar con patrones de cada palabra
Errores Mostrar error MS7: “No se obtuvo un patrón”
Caso de uso 6: Clasificación de palabras
El diagrama 4-6 es alusivo a RF 7, en el cual se compara la voz del infante a diagnosticar con las
palabras en los diccionarios fonéticos.
Capítulo IV
96
Diagrama 4-6 Caso de uso "Clasificación de palabras"
Descripción:
Tabla 4.8: Aspectos importantes del caso de uso 6
Caso de uso
Clasificación de palabras
Actor(es) Sistema
Propósito Clasificar palabras utilizando los patrones obtenidos
Entradas Datos procesados de la palabra a comparar
Salidas Palabra reconocida para ser validada
Precondiciones Tener los patrones correspondientes a cada conjunto de palabras.
Trayectoria Principal
1. El sistema recibe los datos procesados de una palabra a comparar
2. El sistema compara dicha palabra con el patrón correspondiente del
diccionario fonético de voces con dislexia y con el patrón
correspondiente del diccionario fonético sin dislexia
3. El sistema clasifica la palabra como pronunciación de un niño con
o sin dislexia.
Postcondiciones Si es una palabra para diagnóstico, se envía a validación por el especialista
Errores Ninguno
Capítulo IV
97
Caso de uso 7: Presentación del diagnostico
Este diagrama 4.7 corresponde a RF 7, en donde se entrega el resultado obtenido del diagnóstico
realizado en forma automatizada al especialista para su validación.
Diagrama 4-7 Caso de uso "Presentación del diagnóstico"
Descripción:
Tabla 4.9: Aspectos importantes del caso de uso 7
Caso de uso
Presentación del diagnóstico
Actor(es) Sistema, Especialista
Propósito Entregar diagnóstico al médico auxiliar
Entradas Palabras clasificadas en cada diccionario
Salidas Diagnóstico validado
Precondiciones Tener el resultado del reconocimiento para realizar diagnóstico
Trayectoria Principal
1. El sistema obtiene resultado de diagnóstico
2. El sistema envía el resultado al especialista
3. El especialista valida el resultado
4. El especialista envía validación al sistema
5. El sistema recibe validación y la envía al médico auxiliar
Postcondiciones El sistema entrega el resultado del diagnóstico.
Errores Ninguno
Caso de uso 8: Gestión de datos del sistema
Capítulo IV
98
Este diagrama 4-8 corresponde a RF 8, que permite al administrador la gestión de datos del sistema,
esto es, realizar operaciones de alta, baja, consulta y modificación de los datos.
Diagrama 4-8 Caso de uso "Gestión de datos del sistema"
Descripción:
Tabla 4.10: Aspectos importantes del caso de uso 8
Caso de uso
Gestión de datos del sistema
Actor(es) Administrador
Propósito Permitir al administrador la gestión de datos del sistema
Entradas Datos de usuarios, archivos de audio, patrones de voz
Salidas Ninguna
Precondiciones Tener acceso al sitio y al servidor
Trayectoria Principal
1. El administrador ingresa al sistema
2. Realiza operaciones de gestión de datos
Alta
Baja
Consulta.
Modificación de datos
Postcondiciones Ninguno
Errores Ninguno
Capítulo IV
99
4.2.2 Diagramas de secuencias
Los diagramas de secuencia 4-9 a 4-14 presentados en esta sección, identifican los objetos que son
partícipes en las transacciones del sistema. Así como la secuencia de mensajes permutados entre ellos.
Diagrama de secuencia 1: Ingresar al sitio
Diagrama 4-9 secuencia "Ingresar al sitio"
Diagrama de secuencia 2: Captura de la voz
Diagrama 4-10 secuencia "Captura de la voz"
Capítulo IV
100
Diagrama de secuencia 3: Preprocesamiento de la voz
Diagrama 4-11 secuencia "Preprocesamiento de la voz"
Diagrama de secuencia 4: Procesamiento de la voz
Diagrama 4-12 secuencia "Procesamiento de la voz"
Diagrama de secuencia 5: Entrenamiento de palabras
Capítulo IV
101
Diagrama 4-13 secuencia "Entrenamiento de palabras"
Diagrama de secuencia 6: Clasificación de palabras
Diagrama 4-14 secuencia "Clasificación de palabras"
Capítulo IV
102
4.2.3 Diagramas de actividades
Posteriormente los diagramas 4-14 a 4-21 de esta sección, ilustran el flujo de actividades de cada
proceso dando como resultado final un cambio en el estado del sistema.
Diagrama de actividades 1: Ingresar al sitio
Diagrama 4-15 Actividades “Ingresar al sitio”
Diagrama de actividades 2: Captura de la voz
Diagrama 4-16 Actividades "Captura de la voz"
Diagrama de actividades 3: Preprocesamiento de la voz
Capítulo IV
103
Diagrama 4-17 Actividades "Preprocesamiento de la voz"
Diagrama de actividades 4: Procesamiento de la voz
Diagrama 4-18 Actividades "Procesamiento de la voz"
Capítulo IV
104
Diagrama de actividades 5: Entrenamiento de palabras
Diagrama 4-19 Actividades “Entrenamiento de palabras”
Diagrama de actividades 6: Presentación de diagnóstico
Capítulo IV
105
Diagrama 4-20 Actividades "Presentación de diagnóstico"
Diagrama de actividades 7: Gestión de datos del sistema
Diagrama 4-21 Actividades "Gestión de datos del sistema"
Capítulo IV
106
4.2.4 Diagrama de clases
Como su nombre lo indica el diagrama 4-22, describe la relación entre clases que posibilitan la
construcción del sistema.
En este diagrama se pueden observar las tres clases principales del sistema que son Preproceso, Proceso
y Patrón, en la primera se realizan acciones de filtrado y segmentación del audio, el cual se obtuvo mediante
la clase Archivo de voz; la segunda se encarga de extraer las características que representarán a cada palabra
en el diccionario; y la tercera constituye el proceso de entrenamiento para la obtención de patrones
consistentes de cada palabra.
Por otra parte, en la clase Usuario dividida en Administrador, Médico auxiliar y Médico especialista,
se realizan acciones referentes a la gestión de datos del sistema.
Diagrama de clases del sistema
Diagrama 4-22 de clases del sistema
Capítulo IV
107
4.3 Base de Datos El diagrama 4-23 representa el modelo lógico del proyecto.
Diagrama 4- 23: Modelo relacional de la base de datos
Capítulo IV
108
CAPÍTULO V:
IMPLEMENTACIÓN Sistema de reconocimiento de voz para la detección oportuna de la dislexia en niños
Capítulo V
110
Capítulo V
111
CAPÍTULO V. IMPLEMENTACIÓN En este capítulo se muestra el desarrollo de cada una de las etapas que integran al sistema. El capítulo está
dividido en dos secciones, la primera describe los procesos implementados para el reconocimiento de voz,
mientras que la segunda explica el desarrollo del sistema de información.
5.1 Reconocimiento de voz
Inicialmente se programaron los algoritmos pertenecientes a cada etapa en el módulo de
reconocimiento, los cuales se muestran en la Figura 5.1. Los programas iniciales se realizaron en el software
matemático MATLAB®, esto con la finalidad de observar y analizar gráficamente los resultados obtenidos
en cada proceso. A su vez, se programó cada algoritmo con el lenguaje de programación Java para ser
implementados en el sistema de información.
Figura 5. 1 Diagrama a bloques de las etapas del reconocimiento de voz.
Filtro de promedio
móvil Señal de voz
Filtro pasa banda Filtro de preénfasis
Preprocesamiento
Segmentación y
ventaneo Detección de inicio
y fin
Obtención de
coeficientes LPC Construcción de patrones
de voz k-Means Clasificación
Procesamiento Reconocimiento
Palabra reconocida
Capítulo V
112
5.1.1 Captura de la señal de voz
El modelo acústico del sistema se generó mediante la captura de las palabras que conforman el
diccionario presentado en la Tabla 2.1. Las cuales fueron grabadas y almacenadas en archivos de audio con
formato WAV.
La herramienta de captación de voz está programada en Java y está diseñada para grabar en un solo
canal a 16 bits por muestra, con una frecuencia de muestreo de 8000 Hz. En este caso, la duración se
establece en cuatro segundos por cada palabra. El siguiente fragmento de código ilustra el método que
define los parámetros del archivo de audio.
AudioFormat getAudioFormat() {
float sampleRate = 8000;
int sampleSizeInBits = 16;
int channels = 1;
boolean signed = true;
boolean bigEndian = true;
AudioFormat format = new AudioFormat(sampleRate, sampleSizeInBits,
channels, signed, bigEndian);
return format;
}
En la ejecución, el programa envía un mensaje para que el locutor comience a hablar y otro para
indicarle que la grabación terminó, como se observa en la Figura 5.2.
Figura 5. 2 Ejecución del programa de captura de la señal de voz.
Es de suma importancia mencionar que las grabaciones se deben realizar en un entorno controlado,
esto es, en el interior de un salón de clases minimizando los sonidos exteriores del ambiente y con un
micrófono profesional acoplado a la tarjeta de sonido de la computadora.
5.1.1.1 Micrófono
Para elegir el micrófono con el cual se obtuvieron las muestras de voz durante el desarrollo del sistema,
se calculó la relación señal a ruido (SNR) de tres micrófonos candidatos, evaluando la calidad de la señal
en diferentes tipos de ambiente.
La relación señal a ruido es la razón entre el valor máximo de la potencia de una señal y el valor de la
potencia del ruido existente en el sistema. La SNR es una medida de calidad de una señal descrita por la
ecuación 5.1.
𝑆𝑁𝑅 =
𝑆
𝑁
(5.1)
donde:
𝑆: potencia de la señal.
𝑁: potencia del ruido.
La potencia de la señal 𝑆, se obtiene de la ecuación 5.3.
Capítulo V
113
𝑆 = ∑(𝑥2(𝑛))
𝑀
𝑛=0
(5.3)
donde:
𝑥(𝑛): es la señal con voz.
𝑛: representa el índice de la muestra.
M: la longitud del intervalo de tiempo de la señal.
Mientras que la potencia del ruido N, se define como:
𝑁 = ∑(𝑟2(𝑛))
𝑀
𝑛=0
(5.4)
donde:
𝑟(𝑛): es la señal de ruido.
𝑛: representa el índice de la muestra.
M: la longitud del intervalo del intervalo de tiempo de la señal de ruido.
En decibeles, SNR es equivalente a:
𝑆𝑁𝑅𝑑𝐵 = 10 log10 (
𝑆
𝑁)
(5.5)
Todas las figuras que se muestran a continuación corresponden a la grabación de la palabra blanca, en
el caso de las Figuras 5.3, 5.9 y 5.15 ésta fue efectuada con ruido ambiental de tránsito. Las Figuras 5.4,
5.10 y 5.16 presentan la grabación realizada con música de fondo.
Las Figuras 5.5 a 5.7 representan la grabación utilizando el primer micrófono con una conversación
de fondo a distintas distancias; 5.11 a 5.13 para el segundo; y 5.17 a 5.19 para el tercero. Finalmente, en las
Figuras 5.8, 5.14 y 5.20 la grabación se llevó a cabo en un ambiente controlado.
Capítulo V
114
Figura 5.3 Señal de voz de la palabra blanca con
música en vivo
Figura 5.4 Señal de voz de la palabra blanca con música
de fondo
Figura 5.5 Señal de voz de la palabra blanca con una
conversación a 50 cm
Figura 5.6 Señal de voz de la palabra blanca con una
conversación a un metro
Figura 5.7 Señal de voz de la palabra blanca con una
conversación a tres metros
Figura 5.8 Señal de voz de la palabra blanca sin ruido
Capítulo V
115
La Tabla 5.1 muestra la Relación Señal a Ruido de las grabaciones mostradas en las Figuras. 5.3 a 5.8
empleando el Micrófono 1; el cual está especificado en la Tabla 3.5 y con el equipo de cómputo Laptop 2
de la Tabla 3.4 descritos en el Capítulo III.
Tabla 5.1 Relación Señal a Ruido del Micrófono 1
Tipo de Grabación Micrófono 1
Potenciaruido Potenciaseñal SNR
Gra
bac
ión
co
n
ruid
o
Ruido ambiental de tránsito 0.3311 W 3.6406 W 10.4123 dB
Música de fondo 0.2661 W 3.6406 W 11.3614 dB
Conversación a:
50 cm 0.2328 W 3.6406 W 11.9421 dB
1 metro 0.2089 W 3.6406 W 12.4115 dB
3 metros 0.2041 W 3.6406 W 12.5138 dB
Grabación sin ruido 0.1592 W 3.6406 W 13.5929 dB
Figura 5. 9 Señal de voz de la palabra blanca con ruido
ambiental de transito
Figura 5. 10 Señal de voz de la palabra blanca con música
de fondo
Capítulo V
116
Figura 5. 11 Señal de voz de la palabra blanca con una
conversación a 50 cm
Figura 5. 12 Señal de voz de la palabra blanca con una
conversación 1 m
Figura 5. 13 Señal de voz de la palabra blanca con una
conversación a 3m
Figura 5. 14 Señal de voz de la palabra blanca sin ruido
La Tabla 5.2 muestra la Relación Señal a Ruido de las grabaciones de las Figuras. 5.9 a 5.14 empleando
el Micrófono 2 especificado Tabla 3.5 y con el equipo de cómputo Laptop 2 especificado en la Tabla 3.4.
Tabla 5.2 Relación Señal a Ruido del Micrófono 2
Tipo de Grabación Micrófono 2
Potenciaruido Potenciaseñal SNR
Gra
bac
ión
con
ruid
o Ruido ambiental de transito 1.2406 78.79 18.02 dB
Música de fondo 1.5189 78.79 17.14 dB
Conversación a:
50 cm 4.3139 78.79 12.61 dB
1 metro 2.1114 78.79 15.71 dB
3 metros 0.4315 78.79 22.61 dB
Grabación sin ruido 0.0132 78.79 37.74 dB
Capítulo V
117
Figura 5.15 Señal de voz de la palabra blanca con música en
vivo
Figura 5.16 Señal de voz de la palabra blanca con música de
fondo
Figura 5.19 Señal de voz de la palabra blanca
con una conversación a tres metros
Figura 5.20 Señal de voz de la palabra blanca
sin ruido
Figura 5.17 Señal de voz de la palabra blanca con una
conversación a 50 cm
Figura 5.18 Señal de voz de la palabra blanca con una
conversación a un metro
Capítulo V
118
La Tabla 5.3 expone la Relación Señal a Ruido de las grabaciones de las Figuras 5.15 a 5.20 utilizando el
Micrófono 3 especificado en la Tabla 3.4 y con el equipo de cómputo Laptop 2.
Tabla 5.3 Relación Señal a Ruido del Micrófono 3
Tipo de Grabación Micrófono 3
Potenciaruido Potenciaseñal SNR
Gra
bac
ión
con
ruid
o Ruido ambiental de transito 0.4028 W 8.3565 W 13.1694 dB
Música de fondo 0.3272 W 8.3565 W 14.0717 dB
Conversación a:
50 cm 0.2109 W 8.3565 W 15.9791 dB
1 metro 0.2037 W 8.3565 W 16.1305 dB
3 metros 0.1765 W 8.3565 W 16.7517 dB
Grabación sin ruido 0.1646 W 8.3565 W 17.0565 dB
Se observa en la Tabla 5.4 que la Relación Señal a Ruido mejora cuando se utiliza un micrófono de mayor
calidad. De los micrófonos probados para el equipo Laptop 2 el que entrega mejores resultados es el
Micrófono 1. Sin embargo para el equipo Laptop 1., el micrófono que incrementa esta relación es el 2. Por
tanto, inicialmente se establece que el rango adecuado de SNR que se debe mantener en una grabación de
voz es de 15.71 a 37.74 dB.
Tabla 5.4 Comparación de la SNR
Tipo de Grabación Relación Señal a Ruido
Micrófono 1 Micrófono 2 Micrófono 3
Gra
bac
ión
con r
uid
o Ruido ambiental de transito 10.4123 dB 18.02 dB 13.1694 dB
Música de fondo 11.3614 dB 17.14 dB 14.0717 dB
Conversación a:
50 cm 11.9421 dB 12.61 dB 15.9791 dB
1 metro 12.4115 dB 15.71 dB 16.1305 dB
3 metros 12.5138 dB 22.61 dB 16.7517 dB
Grabación sin ruido 13.5929 dB 37.74 dB 17.0565 dB
5.1.2 Preprocesamiento
El objetivo de la etapa de preprocesamiento es mejorar la calidad de la señal original, eliminar señales
indeseables adheridas a la señal y entregar únicamente los segmentos que contienen información útil. Para
esto fueron implementadas tres fases principales: 1. Filtrado de la señal de voz, 2.Segmentación y ventaneo,
así como 3. Detección de inicio y fin de una palabra.
1. Filtrado de la señal de voz
El filtrado de la señal tiene la finalidad de atenuar las señales producidas por distintas fuentes, por
ejemplo, una conversación en el exterior, el sonido de los autos en la calle, música, sonidos producidos con
los labios antes de decir una palabra, tomar aire, entre otros.
Por lo cual se definieron tres tipos de filtros, el primero es un filtro de promedio móvil el cual se
encarga de atenuar el ruido en la señal, el segundo es un filtro pasa banda que elimina señales que se
encuentran fuera del rango de la frecuencias de la voz humana (100-4000 Hz), y por último un filtro de
Capítulo V
119
preénfasis que enfatiza las altas frecuencias con el fin de evitar la pérdida de información durante el
procesamiento.
Filtro de promedio móvil
Este filtro se diseñó a partir de la ecuación (2.6) descrita en el Capítulo II y se programó en el software
matemático MATLAB®. Con el fin de establecer el número de muestras a promediar, adecuado para esta
aplicación, se realizó el filtrado de distintas palabras y distintos valores de 𝑀, donde se obtuvieron los
siguientes resultados.
a. Filtro de promedio móvil aplicado a la señal con M = 4
Capítulo V
120
b. Filtro de promedio móvil aplicado a la señal con M = 5.
c. Filtro de promedio móvil aplicado a la señal con M = 12.
Figura 5. 21 Filtrado de promedio móvil con longitudes de M = 5, 8 y 12 coeficientes.
Las gráficas de la Figura 5.21 ejemplifican el filtrado de promedio móvil de una palabra. En cada
una se observa el oscilograma de la palabra escapó, misma que se filtra con un promedio de 𝑀 = 4, 5 y 12
respectivamente. Es fácil observar que mientras 𝑀 incrementa se tiene mayor atenuación del ruido adherido
a la señal, así como del ruido causado por los labios al abrir o cerrar la boca (segundo 1 y 4.1).
Con base en estos resultados se detectó que el valor adecuado es 𝑀 = 5, ya que este filtro atenúa
el ruido sin degradar la potencia de la señal de voz. Además los valores menores a 𝑀 = 5, no disminuyen
el ruido lo suficiente e impiden una detección de inicio y fin correcta.
Filtro pasa banda
Para la programación de este filtro pasa banda, se definieron las frecuencias correspondientes a la
banda de paso, las cuales deben mantener únicamente las frecuencias de las señales asociadas a la voz
humana que se consideran en el intervalo que inicia en 𝑓𝑝1 =300 y termina en 𝑓𝑝2 = 3400 Hz.
Inicialmente se diseñó un filtro pasa banda con respuesta finita al impulso (FIR) y fase lineal, de orden
12; se calcularon las frecuencias digitales 𝜔 en términos de 𝜋 rad/muestra mediante la ecuación (5.6).
𝜔 = 2𝜋𝑓
𝑓𝑠 (5.6)
donde:
𝜔: es la frecuencia digital normalizada 𝜋rad/muestra.
𝑓: es la frecuencia de corte (Hz).
𝑓𝑠: es la frecuencia de muestreo de la señal (Hz).
En este programa se calculan las frecuencias 𝑓𝑝1 y 𝑓𝑝2, al utilizar una frecuencia de muestreo 𝑓𝑠 =
8000 Hz, se obtiene como resultado 𝜔𝑝1 = 0.075𝜋 y 𝜔𝑝2 = 0.85𝜋.
De las diferentes opciones de diseño, se desarrolló la técnica de ventaneo la cual se basa en truncar la
respuesta impulsional infinita de un filtro ideal, en esta, primero se calcularon los coeficientes del filtro,
como se muestra en la gráfica de la Figura 5.22 a), y posteriormente se multiplicaron por una ventana de
Hamming, graficada en la Figura 5.22 b), con el fin de obtener menos variaciones de transición o supresión
Capítulo V
121
y con ello conseguir un filtrado más efectivo (Figura 5.23). Una vez obtenidos los coeficientes finales, estos
se utilizan para filtrar la señal de voz después de que esta ha pasado el filtro de promedio móvil.
Este tipo de filtro FIR se basa en obtener la salida 𝑦2(𝑛) a partir exclusivamente de las entradas actuales
y anteriores de 𝑥(𝑛). Como se describió en la ecuación (2.7) en el Capítulo II.
Figura 5. 22 Coeficientes del filtro FIR y Ventana de
Hamming. Figura 5. 23 Coeficientes del filtro FIR pasa banda.
. En la Figura 5.24, se ilustra el resultado de filtrar la señal de voz utilizando los coeficientes de este
filtro.
Figura 5. 24 Filtro FIR de orden 12 aplicado a la señal de voz
Capítulo V
122
Filtro preénfasis
Este filtro fue diseñado y programado mediante la ecuación (2.8). La figura 5.25 muestra la aplicación
del filtro de preénfasis a la palabra escapó, para esta aplicación se utilizó la constante a = 0.9.
Figura 5. 25 Filtro Preénfasis aplicado a la señal de voz con a = 0.9
Finalmente, en esta etapa se integraron los filtros programados para así obtener la señal en la Figura
5.26, adecuada para el siguiente preprocesamiento donde se realiza la segmentación y ventaneo.
Figura 5. 26 Señal de voz filtrada utilizando los tres filtros secuencialmente.
2. Segmentación y Ventaneo
Capítulo V
123
Una vez que la señal de voz es filtrada, se realiza el proceso de segmentación. Este proceso consiste
en dividir la señal en segmentos de 10 𝑚𝑠 ajustados a 81 muestras por segmento; lo cual permite obtener
características cuasi estacionarias de la señal lo que facilita la detección de inicio y fin así como la
extracción de características. La Figura 5.27 ilustra un segmento de la señal de voz que contiene una región
del habla almacenada en el archivo de audio.
Figura 5. 27 Centésimo segmento de la señal de voz de la palabra escapó
Posteriormente cada segmento es multiplicado por una ventana, con la finalidad de evitar
discontinuidades en los segmentos adyacentes al realizar el traslape de los mismos. En las gráficas de la
Figura 5.28, se ejemplifica el resultado de realizar el ventaneo a un segmento de la señal, de 10 𝑚𝑠. Sin
embargo, para el análisis de una señal de voz se utiliza la ventana de Hamming, debido a que disminuye la
distorsión al cortar una señal y en el dominio de la frecuencia esta función presenta una discontinuidad
menos abrupta, en comparación con una ventana rectangular, lo que reduce las oscilaciones en las
proximidades de la misma.
Capítulo V
124
a. Ventana rectangular
b. Ventana triangular
c. Ventana de Hanning
d. Ventana de Hamming
Capítulo V
125
e. Ventana Blackman
Figura 5. 28 Ventaneo de un segmento de la señal de voz con distintas ventanas.
3. Detección de inicio y fin
Este procesamiento permite obtener únicamente los segmentos de la señal que contienen información
de una palabra. En este trabajo se implementó el algoritmo Rabiner-Sambur descrito en la sección 2.3.3.7
del Capítulo II, donde se realiza un análisis de la magnitud promedio de la señal de cada palabra. Con base
en esto se definen dos umbrales de magnitud, uno superior y otro inferior; estos umbrales son calculados
para cada palabra.
Inicialmente se busca el primer segmento que cruza el umbral superior de magnitud y una vez
detectado se busca el primer segmento que cruza el umbral inferior de magnitud, y se establece éste como
el inicio de una palabra. Para comprobar que efectivamente sea donde la palabra inicia, se calcula el número
de cruces por cero de un segmento, cuando se conocen los cruces por cero de toda la señal es posible definir
un umbral que caracterice el silencio en la señal.
Posteriormente se evalúa a partir del punto marcado como inicio, si el umbral se cruzó más de tres
veces; si esto último sucede se establece como nuevo inicio el primer punto que cruzó el umbral. Se realiza
el mismo procedimiento para encontrar el final de una palabra.
El funcionamiento de este algoritmo se puede observar en el diagrama de la Figura 5.29.
Capítulo V
126
Figura 5. 29 Diagrama de flujo del algoritmo de detección de inicio y fin de palabra.
A continuación se ilustran los resultados al detectar el inicio y fin de la palabra escapó. Se observa en
la Figura 5.30 la gráfica de magnitud promedio así como los umbrales superior e inferior que caracterizan
la magnitud de la señal.
Figura 5. 30 Magnitud promedio de la palabra escapó.
La Figura 5.31, es la gráfica de la tasa de cruces por cero de escapó y el umbral de cruces por cero.
Capítulo V
127
Figura 5. 31 Tasa de cruces por cero de la palabra escapó
Por último, la Figura 5.32 (a) es el oscilograma de la palabra antes de ser procesada por el algoritmo
de detección de inicio y fin. Mientras que la Figura 5.32 (b), es el oscilograma de la palabra recortada,
donde únicamente se mantiene la información útil de voz.
Figura 5. 32 a) Oscilograma de la señal de voz antes de ser recortada. b) Palabra escapó.
A continuación se presenta un ejemplo más de la detección de inicio y fin de una palabra, en la Figura
5.33 se graficó la palabra blanca grabada con el ruido de una conversación a 50 cm de distancia. Con una
relación señal a ruido 𝑆𝑁𝑅 = 19. 06 𝑑𝐵. A la derecha se puede observar la gráfica de magnitud promedio
del señal, y que los umbrales se ajustan de acuerdo a la magnitud máxima de la palabra y la magnitud
promedio del silencio.
Capítulo V
128
Figura 5. 33 Detección de inicio y fin de una palabra, con una conversación a 50 cm de distancia.
Implementación de la etapa de preprocesamiento
A continuación, se muestra un ejemplo del funcionamiento del preprocesamiento implementado, para
la palabra blanca.
En la Figura 5.34, se graficó el resultado de filtrar la señal de voz con un filtro de promedio móvil
con 𝑀 = 4. Como se mencionó en la sección 5.1.2 éste no es capaz de atenuar el ruido inicial producido
por los labios del hablante, que comúnmente aparece en una grabación de voz; lo que impide recortar la
señal de voz correctamente y como consecuencia se obtendrá una caracterización incorrecta de la palabra
al realizar la extracción de características y la construcción de patrones de voz.
Figura 5. 34 Detección de inicio y fin, posterior al filtrado de promedio móvil (M = 4).
Una vez que se filtraron diferentes palabras fue posible adecuar el filtro de promedio móvil y establecer
𝑀 = 5. Del mismo modo se adecuaron los parámetros y coeficientes de los dos filtros restantes hasta llegar
a los valores descritos anteriormente y así obtener la palabra blanca recortada como se muestra en la Figura
5.35.
Capítulo V
129
Figura 5. 35 Palabra blanca recortada correctamente.
Modificación del algoritmo de detección de inicio y fin
Para el caso en el que la grabación de una palabra, presenta un ruido inicial que supera el umbral
superior de magnitud aunque ésta haya sido filtrada (Figura 5.36), se procedió a evaluar los primeros 5
segmentos de voz que cruzan dicho umbral pero que no son consecutivos y que además presenten un salto
mayor a 6 segmentos.
Figura 5. 36 Alteración en la detección de inicio y fin de la palabra gemelo por ruido inicial.
Por ejemplo, si el vector 𝑖 = [202, 203, 208, 209, 247, 248, 249, 250, 251,252,253,254, … ] almacena todos los segmentos que cruzaron el umbral superior; entonces los primeros segmentos 202, 203,
208 y 209, se eliminan y se establece como punto de inicio preliminar el segmento 247, ya que entre el
segmento 209 y 247, existe un salto de 38 segmentos, esto quiere decir que 38 segmentos no cruzaron el
umbral superior y que no contienen información de la palabra. Esta modificación se estableció
experimentalmente, hasta encontrar el valor de salto correcto para no eliminar una silaba, la cual tiene una
Capítulo V
130
duración aproximada de 6 a 10 segmentos, en lugar del ruido inicial. El resultado se muestra en la Figura
5.37.
Figura 5. 37 Palabra gemelo recortada correctamente.
5.1.3 Procesamiento
El propósito de esta etapa es obtener la matriz característica de cada palabra la cual permite la
construcción y clasificación de los patrones de voz. Esto se logró mediante el análisis de predicción lineal
LPC descrito en la sección 2.3.4.1, ya que como se sabe, la redundancia en la señal de voz es explotada en
este análisis.
De acuerdo con la ecuación (2.15), es necesario establecer el orden de predicción lineal 𝑝, esto es, el
número de coeficientes por segmento que representan la señal de voz. Para ello se determinó 𝑝 como:
𝑝 =𝑓𝑠
1000+ 3 (5.7)
En este caso, donde 𝑓𝑠 = 8000 Hz, se tiene como resultado 𝑝 = 11 coeficientes LPC.
Con el fin de corroborar la correcta implementación y obtención de los coeficientes LPC, se realizó
la gráfica de la Figura 5. 38, la cual muestra la magnitud del espectro de un segmento de la señal de voz,
misma que permite observar dichos coeficientes como la envolvente espectral de la señal.
Capítulo V
131
Figura 5. 38 Espectro de potencia para un segmento de la señal
Hasta la etapa de preprocesamiento se segmentó la señal de voz en tramas de 81 muestras, asimismo, el
número de segmentos en una palabra dependía directamente de la duración de la misma. Sin embargo, esta
duración varía con respecto al número de letras que componen cada palabra, así como la fluidez en la lectura
de cada locutor.
Debido a lo anterior y a que se calcularon 11 coeficientes por cada segmento, se obtuvieron vectores de
características de distinta longitud a pesar de que definían la misma palabra. Por lo tanto, se realizó un
escalamiento lineal promediando el número de segmentos obtenidos después de la detección de inicio y fin
para cada par de palabras y locutor; posteriormente se estableció un número fijo de segmentos, se dividió
la señal de acuerdo al número de segmentos correspondiente, y se calcularon los coeficientes LPC. De esta
forma, se obtuvieron vectores de características con la misma longitud que facilitaron la clasificación.
Las Tablas 5.5 a 5.9, establecen el número de segmentos para cada par de palabras, obtenido mediante
el promedio de segmentos de 10 locutores.
Tabla 5.5 Número de segmentos para cada par de palabras.
Locutor Palabras
Alda Alba Bala Dala Blanca Danca Beber Deber
1 54 39 57 49 70 65 54 41
2 39 39 39 41 47 51 60 50
3 47 43 47 38 57 63 48 48
4 40 36 44 36 51 64 52 52
5 46 46 46 42 49 55 60 39
6 54 43 58 60 51 58 50 44
7 45 51 54 53 68 45 58 57
8 44 39 45 53 59 66 50 71
9 41 42 40 45 43 42 43 41
10 44 54 55 49 49 49 55 52
Espectro de potencia para un segmento de la señal |Y
(f)|
(dB
)
Frecuencia (Hz)
Capítulo V
132
Promedio palabra 45.4 43.2 48.5 46.6 54.4 55.8 53 49.5
Número de segmentos 44 48 55 51
Tabla 5.6 Número de segmentos para cada par de palabras.
Locutor Palabras
Boda Poda Bonito Ponito Escapó Escabo Parque Barque
1 48 33 60 59 54 39 50 52
2 48 58 61 64 39 39 46 50
3 59 43 69 49 47 43 60 60
4 37 39 77 85 40 36 41 47
5 53 73 64 53 46 46 42 58
6 57 48 60 54 54 43 47 48
7 58 38 58 61 45 51 48 68
8 52 42 63 66 44 39 48 95
9 40 39 59 54 41 42 57 128
10 56 41 59 61 44 54 58 57
Promedio palabra 50.8 45.4 63 60.6 45.4 43.2 49.7 66.3
Número de segmentos 48 62.45 44 58
Tabla 5. 7 Número de segmentos para cada par de palabras.
Locutor Palabras
Antena Nantena Bosque Boque Calcetín Carcetin Calle Cache
1 61 73 61 48 69 95 40 47
2 62 68 50 45 63 76 32 44
3 104 112 86 73 102 92 62 59
4 71 66 51 52 56 58 41 70
5 61 80 59 48 68 73 35 57
6 57 58 48 44 69 67 40 41
7 67 91 54 73 77 93 35 59
8 78 88 81 68 77 86 55 50
9 61 153 56 81 94 90 41 103
10 58 61 35 41 55 58 28 40
Promedio palabra 68 85 58.1 57.3 73 78.8 40.9 57
Número de
segmentos 76.5
57.7 75.9 48.95
Capítulo V
133
Tabla 5. 8 Número de segmentos para cada par de palabras.
Locutor Palabras
Camello Canello Clavado Calvado Esférico Seferico Esparrago Aseparrago
1 69 56 85 55 83 85 76 100
2 48 54 57 58 58 76 69 91
3 86 90 91 84 111 122 115 122
4 52 56 65 62 86 94 89 140
5 66 80 66 101 74 95 81 86
6 53 60 63 61 69 81 81 93
7 60 69 58 69 83 94 75 109
8 74 73 87 87 116 98 125 115
9 67 54 78 89 90 121 99 150
10 43 55 52 61 72 55 84 77
Promedio palabra 61.8 64.7 70.2 72.7 84.2 92.1 89.4 108.3
Número de
segmentos 63.25 71.45 88.15 98.85
Tabla 5. 9 Número de segmentos para cada par de palabras.
Locutor Palabras
Hipopotamo Hipotamo Instituto Istituto Partido Pratido Plancha Palancha
1 59 80 78 73 74 75 49 60
2 85 75 79 78 51 54 46 56
3 114 101 127 116 91 90 85 108
4 70 104 72 87 60 65 49 76
5 99 85 85 78 60 66 55 60
6 79 70 73 74 53 55 49 66
7 98 129 94 102 59 82 55 72
8 105 119 111 120 101 86 63 77
9 163 123 98 114 49 92 50 93
10 83 61 79 71 68 55 36 46
Promedio palabra 95.5 94.7 89.6 91.3 66.6 72 53.7 71.4
Número de
segmentos 95.1 90.45 69.3 62.55
Capítulo V
134
Implementación del procesamiento en Java
La implementación de las etapas de procesamiento y clasificación en Java se realizaron en NetBeans
IDE, donde cada etapa se programó como una clase del sistema. La clase principal es Procesamiento que
entrega una matriz de características de la palabra procesada a la clase Similitud donde se realiza la
comparación de los patrones de voz en el sistema y la clasificación de la palabra.
En la Figura 5.39 se muestra la estructura del programa que realiza el procesamiento de cada archivo
de audio, inicialmente se lee un archivo de audio con la clase WavFile y se almacena en un vector. La clase
filtrado integra los tres filtros implementados, que se explicaran más adelante, para ello utiliza las clases
Filter y Preénfasis; la primera sirve para filtrar el vector de la señal con los coeficientes de cada filtro
mientras que en la segunda está programada la función que describe al filtro de preénfasis.
El siguiente fragmento de código muestra el método filtering perteneciente a la clase filtrado, que
como se mencionó anteriormente, sirve para pasar la señal de voz por los tres filtros consecutivamente.
public double[] filtering (double x[]){
Filter movAverage = new Filter(h); // * Promedio móvil
Filter bandPass = new Filter(b); // * PasaBanda
Preenfasis preenfasis = new Preenfasis(N); // * Preenfasis
for(int i = 0; i<N; i++){
Yma[i] = movAverage.filter(x[i]);
Ybp[i] = bandPass.filter(Yma[i]);
Ypre[i] = preenfasis.filterP(Ybp[i],i);
//System.out.println(Ypre[i]);
}
return Ypre;
}
Posteriormente, se carga la clase DeteccionInicioFin donde se realiza, la segmentación, ventaneo y
recorte de la palabra, este proceso utiliza internamente la clase Hamming que contiene la ecuación de la
ventana con el mismo nombre. La última clase utilizada en el procesamiento es LPC, que calcula los
coeficientes para cada segmento de la señal.
Capítulo V
135
Figura 5. 39 Programa para el procesamiento de un archivo de audio en Java,
Este programa imprime los resultados del procesamiento en archivos con formato CSV. En estos se
almacenan los vectores de características de cada locutor, los cuales son utilizados para crear los patrones
del sistema.
Figura 5. 40 Almacenamiento de vectores de características por palabra.
5.1.4 Reconocimiento de patrones
El propósito de este módulo es generar un patrón de referencia asociado a cada una de las palabras a
reconocer. Estos patrones se obtuvieron a partir de los LPC, es decir, de los vectores característicos de las
palabras.
La etapa de entrenamiento se realizó por «clustering» debido a que se contaba con más de una versión
de cada palabra, las cuales, además, provenían de distintos locutores, con la finalidad de establecer patrones
de referencia más confiables.
Específicamente, se implementó el algoritmo k-Means descrito en la sección 2.3.5.5 del Capítulo II,
con el cual se clasifica a cada conjunto de palabras de la Tabla 2.1 en dos clases, puesto que están formados
Capítulo V
136
por dos palabras, así mismo se elige ese número de posiciones aleatorias para establecer los centros, luego
se procede a calcular la distancia euclidiana para situar cada dato con su centro más cercano y así establecer
a que grupo pertenece, después se asigna como nuevo centro a la media de los puntos en ese grupo, este
procedimiento se repite hasta que los centros de cada clúster dejen de cambiar. El objetivo de esta etapa es
que mediante este algoritmo de «clustering», se obtenga un patrón único que represente a la palabra
pronunciada por distintos los locutores
Los patrones de voz se construyeron con una herramienta existente que implementa el algoritmo
anterior (Figura 5.41). Para cada palabra en el sistema, se seleccionaron 10 vectores de características de
distintos locutores. En la herramienta primero se cargan los archivos CSV de una palabra, posteriormente
se indica el número de clases a crear por archivo y el resultado se obtiene como un vector almacenado en
un archivo TXT.
Figura 5. 41 Herramienta de agrupación
Finalmente, se obtuvieron los patrones para cada palabra como se muestra en la Tabla 5.10
Tabla 5.10 Patrones de las palabras
Identificador Palabra Patrón
CP1 Alba [-0.7316,0.4389,0.01505,0.1073,0.3199,…,0.5067,0.5872]
Alda [-0.8771,0.6806,-0.338,0.5855,0.0712,…,-0.9243,-1.0453]
CP2 Bala [-0.7779,0.1953,-0.5440,0.2959,0.3416,…,-0.08434]
Dala [-0.5325,-0.7569,-0.7479,-0.793,-0.6793,…,-0.6958,-0.6754]
CP3 Beber [0.3333,0.4127,0.4264,0.4086,0.3941,…,0.3255,0.2651]
Deber [-0.5261,-0.643,-0.6498,-0.6375,-0.6232,…,-0.3199,-0.2747]
Capítulo V
137
Tabla 5. 11(continuación): Patrones de palabras
CP4 Blanca [-0.3767,-0.2706,-0.2482,-0.2277,-0.2601,…,-0.4595,-0.268]
Danca [1.1335,0.7048,0.6108,0.5191,0.6492,…,1.5182,0.7548]
CP5 Boda [0.1712,0.2094,0.3401,0.3073,0.327,…,0.237,0.2383];
Poda [-0.5219,-0.7391,-1.1166,-1.0408,-1.0749,…,-0.7522,-0.7678]
CP6 Bonito [0.4911,0.4953,0.4886,0.4907,0.4933,…,0.0355,0.0308]
Ponito [-1.0682,-1.0724,-1.0595,-1.0616,-1.0581,…,-0.2612,-0.2487]
CP7 Escapó [-0.59,-0.6576,-0.6403,-0.5849,-0.7269,…,-1.2708,-1.2426]
Escabó [0.0554,0.0638,0.0475,0.0372,0.0554,…,0.0871,0.0835]
CP8 Parque [-0.3947,-0.6376,-0.8761,-0.8252,-0.9042,…, -0.6118,-0.5544]
Barque [0.272,0.4195,0.6038,0.5823,0.6582,…, 0.4261,0.361]
CP9 Antena [-0.7321, 0.42357, 0.0885, -0.03180,…, 0.1863,-0.0302]
Nantena [-0.8683, 0.4828, -0.8594, 0.5542,… 0.2756,-0.0316]
CP10 Bosque [-1.3545,0.69828,-0.6794,0.6482,…, 0.2866,-0.1149]
Boque [-1.1012,0.4089,-0.5673,0.4752,…, 0.2715,-0.1464]
CP11 Calcetin [0.7260,0.9454,-0.6360,0.3993,…, 0.3333,-0.12159]
Carcetin [-0.76540,0.68151,-0.2900,0.2321,…, 0.2765,-0.1126]
CP12 Calle [-0.9716,1.1217,-0.7820,0.5785,…, 0.2125,-0.0440]
Cache [-0.7903,0.9836,-0.52371,0.4163,…, 0.1952,-0.0958]
CP13 Camello [-0.31058,0.6706,-0.3786,0.2272,…, 0.1719,-0.0774]
Canello [-0.533904,0.67386,-0.2815,0.26741,…, 0.2120,-0.15555]
CP14 Clavado [-0.38096,0.33959,-0.37528,0.1997,…, 0.2181,-0.0983]
Calvado [-0.4444,0.3840,-0.2905,0.13719,…, .07028,-0.0753]
CP15 Esferico [-0.2086,0.1096,-0.3355,0.2236,…, 0.05224,-0.05026]
Seferico [-0.1274,0.05519,-0.2713,-0.0786,…, 0.2458,-0.0815]
CP16 Esparrago [-0.2177,0.1579,-0.5657,0.3034,…, 0.2580,-0.1033]
Separrago [-0.4433,0.7027,0.0019,0.12424,…, 0.0830,-0.03102]
CP17 Hipopotamo [-0.2095,-0.4544,-0.5521,0.2664,…, 0.1222,-0.05548]
Hipotamo [-0.0780,-0.3765,-0.68307,0.2971,…, 0.11350.02765]
CP18 Instituto [-0.3213,-0.4785,-0.4227,0.4183,…, 0.1325,-0.1640]
Istituto [0.1244,-0.3540,-0.6403,0.1852,…, 0.06261,-0.0399]
CP19 Partido [-0.7390,0.4120,-0.4524,0.4132,…, 0.2715,-0.1129]
Pratido [-0.6648,0.2801,-0.2432,0.1860,…, 0.3538,-0.1729]
CP20 Plancha [-0.6898,0.3443,-0.3363,0.1532,…, -0.6898,0.3443,-0.3363]
Capítulo V
138
Palancha [-0.6887,0.2117,-0.3420,0.3465,…, 0.1647,-0.048961]
A través de estos patrones fue posible encontrar la diferencia que existe entre una palabra y otra, como
se muestra en la Figura 5.42, donde se observa que para el caso del tercer conjunto de palabras CP2, la
diferencia radica en los segmentos 15 a 22.
Figura 5.42 Diferencia entre el conjunto de palabras formado por /bala/ y /dala/
Para la clasificación de patrones se hizo una comparación directa entre el vector característico asociado
a la señal de voz a reconocer y sus dos posibles patrones por medio de una distancia euclidiana, la cual se
define por la siguiente ecuación.
𝑑(𝑃, 𝑄) = √(𝑝1 − 𝑞1)2 + (𝑝2 − 𝑞2)2 + ⋯ + (𝑝𝑛 − 𝑞𝑛)2 = √∑ (𝑝𝑖 − 𝑞𝑖)2𝑛𝑖=1 (5.8)
donde:
𝑑(𝑃, 𝑄): es la distancia euclidiana entre los puntos 𝑃 = (𝑝1, 𝑝2, … , 𝑝𝑛) y 𝑄 = (𝑞1, 𝑞2, … , 𝑞𝑛).
𝑛: longitud de los conjuntos P y X.
Además, se estableció un umbral de tolerancia 0.25 para cada conjunto de palabras. Con lo anterior es
posible discernir que palabra ha pronunciado el hablante y como lo indica la Fig. 5.43 el clasificador puede
mostrar la palabra que ha dicho el locutor.
Capítulo V
139
Figura 5.43 Resultado proporcionado por el clasificador
Una vez realizado este proceso para todas las palabras, se procede a contar el número de palabras que
el locutor obtuvo con una pronunciación disléxica y no disléxica. Si de las 20 palabras que debía pronunciar
en total, seis o más son de un tipo de pronunciación; el sistema indicara que es o no candidato a tener
dislexia según corresponda. Asimismo, antes de que el sistema proporcione un resultado, este será validado
por el especialista.
5.2 Sistema de información
El desarrollo del sistema de información está basado en el análisis de requerimientos descrito en el
Capítulo III y el diseño del Capítulo IV.
Inicialmente se diseñaron las páginas que integran el sitio web, para ello se utilizó el lenguaje de
marcado HTML5 y el lenguaje de estilos CSS. Con la finalidad de desarrollar páginas con diseño
responsivo, se implementó la herramienta BOOTSTRAP la cual permitió añadir complementos basados en
JQuery y archivos fuente SASS.
En la Figura 5.44 se muestra el mapa del sitio, el cual enlista las páginas principales que integran al
sistema de información.
Figura 5. 44 Mapa del sitio
Una vez que se desarrollaron las páginas del sitio, se utilizó la distribución XAMPP cuya función es
administrar e integrar el sistema de gestión de bases de datos MySQL, el servidor web Apache y los
intérpretes para lenguajes de script PHP y Perl para darle funcionalidad al sitio. A través de esta herramienta
es posible vincular la base de datos del sistema y el sitio web de manera local (Figura 5.45).
Inicio
Dislexia Pacientes
Pacientes inscritos
Ayuda
¿Cómo realizar una grabación?
Descargas Configuración
¿Qué es dislexia?
A cerca de...
Capítulo V
140
Figura 5. 45 Inicio de servicios en la distribución XAMPP
Posterior a la inicialización de los servicios Apache y MySQL, se creó la base de datos en dicho gestor
de bases de datos y se cargó al servidor.
La Figura 5.46, muestra las tablas necesarias para la administración de datos en el sistema. Se tiene
cuatro tablas; en la tabla Administrador se almacenan la información del usuario con dicho rol, en la tabla
Usuario se almacenan los datos del usuario con el rol de Médico Auxiliar; este tipo de usuario puede
registrar a sus pacientes a evaluar, estos datos son almacenados en la tabla Paciente. Por último, la tabla
Diagnóstico contiene el resultado de la prueba emitido por el sistema así como los comentarios del
especialista.
Figura 5. 46 Base de datos en el servidor
La siguiente figura, ilustra la estructura de la tabla Usurario y el registro de un Terapeuta en el sistema.
Figura 5. 47 Estructura tabla Usuario en la base de datos.
Capítulo V
141
Mediante el uso de scripts PHP, se proporcionaron funcionalidades a cada componente en el sitio, tales
como, ingreso al sitio, validar usuario y contraseña, recuperar contraseña, realizar la gestión de un usuario,
agregar un paciente, subir un archivo de audio, validar un archivo de audio, entre otros.
El sistema cliente/servidor tiene varias pantallas que permiten la interacción de los usuarios con
conocimientos calificados para manejar los archivos que se utilizan para el prediagnóstico. Están definidos
tres roles de usuario dentro del sistema, los cuales son Administrador, Médico auxiliar y Médico
especialista; estos están definidos en la sección 3.1.3 en el Capítulo III.
.El primer paso para el Médico auxiliar encargado del manejo de los archivos de audio es ingresar un
par usuario/contraseña que se obtiene una vez que se registra en la página de inicio (Figura 5.48).
Figura 5. 48 Página de inicio del sistema
Para registrarse en el sistema, se deben ingresar los datos personales del usuario en un formulario
(Figura 5.49) los cuales serán almacenados en la base de datos del sistema. Ahí mismo se deberá elegir el
tipo de usuario auxiliar correspondiente, las opciones son, profesor, médico o terapeuta con conocimientos
en trastornos del habla. El usuario solicitante debe esperar a que el administrador valide dicha información
mediante la Cédula Profesional que proporcionó.
Capítulo V
142
Figura 5. 49 Formulario de registro de usuario
Interfaces del sistema correspondientes a un usuario Administrador
El usuario con rol de Administrador, puede iniciar sesión en el sitio con su usuario y contraseña. El
sistema cuenta con un menú de navegación propio del administrador (Figura 5.50), el cual se integra por
las pantallas Especialista, Usuarios y Ayuda; en la primera se registran los Médicos especialistas que tienen
acceso al sistema, en la segunda se visualizan todas las solicitudes de registro al sistema y en la tercera se
proporciona ayuda general para las funciones del administrador.
Figura 5. 50 Menú de navegación del administrador.
El administrador, tiene los permisos necesarios para dar de alta a un usuario Médico especialista quien
realizará la validación de los resultados del sistema al efectuar una prueba de valoración de dislexia (Figura
5.51).
Figura 5. 51 Registro de un especialista por el administrador.
La labor principal del administrador, es validar los datos proporcionados de cada solicitante,
principalmente la Cédula Profesional; el administrador debe verificar la información de cada registro
apoyándose con el portal (Figura 5.52):
Capítulo V
143
https://www.cedulaprofesional.sep.gob.mx/cedula/presidencia/indexAvanzada.action
Figura 5. 52 Verificación de Cédula Profesional en el portal de gobernación.
Si los datos proporcionados son correctos, el administrador debe validar al usuario solicitante y con
ello le brinda acceso al sistema (Figura 5.53). Al mismo tiempo, el administrador del sitio tiene la opción
de eliminar el registro de aquellos usuarios que no hayan proporcionado sus datos correctamente.
Figura 5. 53 Validación de un usuario en el sistema.
Interfaces del sistema correspondientes a un usuario Médico auxiliar
Una vez que el usuario Médico auxiliar es aceptado, éste puede ingresar al sitio con el correo
electrónico y contraseña, con los que se registró. Al iniciar sesión el usuario accede al menú principal que
le permite navegar dentro del sitio (Figura 5.54).
Figura 5. 54 Menú de navegación del sistema de información
El objetivo de la pantalla Dislexia dentro del sitio (Figura 5.55), es proporcionar al usuario información
importante acerca de este trastorno. Explica que es el trastorno de dislexia, cuáles son los síntomas
principales que afectan a quien la padece y cuales sirven como indicadores para realizar un diagnóstico,
Capítulo V
144
además resalta que personas pueden padecer dislexia y describe cómo funciona la propuesta de este sistema
para realizar un prediagnóstico.
Figura 5. 55 Pantalla información del trastorno de Dislexia.
Por otra parte en la pantalla Pacientes, cada médico, profesor o terapeuta registrado en el sistema puede
dar de alta a los pacientes que realizaran la prueba (Figura 5.56). Para ello es necesario ingresar en un
formulario los datos del niño, incluyendo su CURP ya este que sirve como identificador único de cada
paciente.
Figura 5. 56 Registrar pacientes en el sistema de información
En la pantalla de la Figura 5.57 también se observan los pacientes registrados y se permite llevar un
control de la información de cada paciente, como datos personales, archivos de voz subidos al sistema y el
resultado de la prevaloración realizada.
Capítulo V
145
Figura 5. 57 Pacientes inscritos en el sistema,
La opción Editar que se muestra en la figura anterior, consiste en actualizar la información del paciente
o eliminar el registro completo. En la Figura 5.58 se muestra el formulario que manda a llamar los datos
del paciente seleccionado y permite editarlos, el botón Actualizar guarda en la base de datos cada
modificación; el botón Eliminar, suprime el registro de este paciente en la base de datos.
Figura 5. 58 Editar información de un paciente registrado.
El diagnóstico del trastorno de dislexia a distancia se realiza al evaluar la lectura de palabras que se
conoce sirven para detectar este trastorno, por lo cual es necesario que el usuario envíe grabaciones de sus
pacientes leyendo cada palabra. Es entonces, que la pantalla Ayuda sirve para explicarle al usuario como
realizar una grabación adecuada (Figura 5.59).
Capítulo V
146
Figura 5. 59 Ayuda para realizar una grabación de voz
En la pantalla Descargas (Figura 5.60), se proporciona la herramienta que contiene el grabador de voz
y las palabras que un niño debe leer para realizar la prueba de dislexia.
Figura 5. 60 Herramienta para la grabación de las palabras que deben ser leídas durante la prueba.
Después de tener los archivos de audio del paciente, el usuario puede enviarlos al servidor mediante
la opción subir archivos en pantalla Pacientes que se muestra en la Figura 5.61. Aquí se deben seleccionar
los archivos de audio un paciente, el botón Subir archivo crea automáticamente un directorio dentro del
servidor donde se almacenan los archivos. El directorio de cada paciente se identifica con su CURP y la
Cédula Profesional del usuario que hace la evaluación.
Capítulo V
147
Figura 5. 61 Subir archivos de audio de cada paciente
Una vez que estos archivos se encuentran en el servidor (Figura 5.62), el especialista utiliza los
programas del módulo de reconocimiento de voz descritos en la sección 5.1 para procesar los archivos de
audio almacenados en la carpeta de cada paciente para que el sistema evalúe la pronunciación de cada
palabra grabada. El sistema entrega un resultado, el cual deber ser aprobado o invalidado por el especialista
quien además proporciona su valoración respecto a la prueba de cada paciente. Es entonces que, el sistema
funciona como un primer filtro de detección de dislexia.
Figura 5. 62 Archivos en el servidor
Adicionalmente la pantalla Configuración en el sitio (Figura 5.63), permite el usuario cambie su
contraseña, para ello el sistema obtiene su identificación del inicio de sesión y solicita la nueva contraseña;
como en el registro la contraseña inicial y la contraseña de confirmación deben ser iguales para que el
cambio se realice.
Capítulo V
148
Figura 5. 63 Cambio de contraseña en la pantalla Configuración.
Interfaces del sistema correspondientes a un usuario Médico especialista
Para tener acceso a los archivos de audio que se encuentran en el servidor, se proporciona en la sección
de Archivos del Médico Especialista dos botones el primero actualiza el directorio de archivos y crear una
carpeta ZIP que contiene todas las pruebas de cada paciente y el segundo descarga dicha carpeta en equipo
del usuario (Figura 5.64).
Figura 5. 64 Descarga de archivos de audio y directorio de Archivos en el equipo del especialista.
A continuación en la Figura 5.65, se muestra la interfaz para el especialista, en la que se procesan los
archivos de audio y son comparados con el par de patrones correspondientes para evaluar la pronunciación
del banco de palabras de cada paciente. Esta herramienta está desarrollada en Java y utiliza las clases
Procesamiento y Similitud descritas anteriormente.
Capítulo V
149
Figura 5. 65 Interfaz del especialista
Para realizar el procesamiento de los archivos que se encuentren en el servidor, se debe seleccionar el
directorio a examinar, utilizando el botón Directorio (Figura 5.65). La función de este botón es establecer
el directorio inicial donde se encuentran almacenados los archivos con formato WAV, los cuales están
ordenados por la cédula del médico auxiliar y el CURP del paciente.
Figura 5. 66 Funcionamiento de la interfaz del especialista.
Capítulo V
150
Una vez que se seleccionó el directorio, se procede a analizar los archivos en cada carpeta. Con el
botón Analizar, se obtiene el nombre de cada archivo, el cual permite realizar la comparación con los
patrones correspondientes a cada palabra en las funciones de procesamiento y similitud; en esta sección se
lleva a cabo el reconocimiento de voz de donde se obtienen los resultados “Pronunciación normal” y
“Pronunciación con dislexia”. Los resultados de cada paciente se guardan en la base datos del sistema y se
imprimen en la pantalla de esta interfaz (Figura 5.67).
Figura 5. 67 Procesamiento de archivos de audio desde la interfaz del especialista.
Capítulo V
151
Los resultados son validados por el Médico especialista desde su sesión, en la pantalla Validación
resultado (Figura 5.68). Para ello, el especialista selecciona un paciente y tiene dos alternativas para
calificar el resultado del sistema, estas son correcto o incorrecto; asimismo debe escribir un comentario
acerca de la evaluación con el fin de proporcionar un mejor resultado de la prueba.
Figura 5. 68 Resultado de la prevaloración por el sistema para el usuario Médico especialista.
Capítulo V
152
Finalmente, el Médico auxiliar puede visualizar los resultados que se obtuvieron por el sistema para
cada paciente, junto con la validación realizada por el Médico especialista (Figura 5.69).
Figura 5. 69 Resultado de la prevaloración para el usuario Médico auxiliar.
Capítulo V
153
CAPÍTULO VI:PRUEBAS Y
RESULTADOS Sistema de reconocimiento de voz para la detección oportuna de la dislexia en niños
Capítulo VI
155
Capítulo VI
156
CAPÍTULO VI: PRUEBAS Y RESULTADOS
La etapa de reconocimiento de palabras se construyó utilizando el algoritmo de agrupamiento k-Means. La
base de datos del sistema está formada de acuerdo al diccionario de la Tabla 2.1, donde se tienen 20 palabras
pronunciadas correctamente y 20 palabras pronunciadas con dislexia. Las cuales son pronunciadas por un
total de 15 locutores, de los primeros 10 se obtuvieron 2 repeticiones por palabra, utilizando la primera
repetición para el entrenamiento del sistema y la segunda para realizar las pruebas de reconocimiento. De
los últimos 5 locutores se tiene una repetición por palabra, la cual se utilizó para la validación del
reconocedor. Es entonces que, se utilizaron 400 grabaciones para la etapa de entrenamiento, 400 para la
etapa de prueba y 200 grabaciones para validación. .
La Tabla 6.1 expone los resultados obtenidos para cada palabra reconocida en la etapa de
entrenamiento. El número 1 indica que la palabra pronunciada por ese locutor fue reconocida correctamente
y el número 0 indica lo contrario; la última columna de esta tabla expone el total de reconocimiento por
palabra, en este campo el numerador indica cuantas palabras fueron reconocidas correctamente y el
denominador indica el total de palabras evaluadas.
Tabla 6.1 Resultados obtenidos para la etapa de entrenamiento
Entrenamiento
Palabra Pronunciada Locutor
Total de reconocimiento L1 L2 L3 L4 L5 L6 L7 L8 L9 L10
Alba 1 0 1 1 1 1 1 1 1 1 9/10
Alda 1 1 1 1 1 0 1 1 0 0 7/10
Bala 1 1 1 1 1 1 1 0 0 1 8/10
Dala 1 0 0 0 0 1 0 1 0 0 3/10
Blanca 1 1 1 1 1 1 0 1 1 1 9/10
Danca 0 1 0 1 1 0 1 0 1 1 6/10
Beber 1 1 1 1 1 1 1 1 1 1 10/10
Deber 0 1 1 1 1 0 0 1 0 1 6/10
Boda 1 0 1 1 1 1 1 1 1 1 9/10
Poda 1 1 1 1 1 1 1 1 1 1 10/10
Bonito 0 1 0 1 1 1 1 0 0 0 5/10
Ponito 1 1 1 1 1 1 1 1 1 1 10/10
Escapó 1 1 1 1 1 1 1 1 1 1 10/10
Escabo 1 1 0 1 1 1 0 1 1 0 7/10
Parque 0 1 1 1 1 1 1 1 1 1 9/10
Barque 0 1 0 1 1 1 1 1 1 1 8/10
Antena 1 1 1 1 1 1 1 1 0 1 9/10
Nantena 1 1 1 0 1 0 1 1 0 1 7/10
Bosque 1 1 1 1 1 1 1 1 1 1 10/10
Boque 1 1 1 1 1 1 0 1 1 1 9/10
Calcetin 1 1 1 1 1 1 0 1 1 1 9/10
Carcetin 1 1 1 0 1 0 1 1 1 1 8/10
Calle 1 1 1 1 1 1 0 1 1 1 9/10
Cache 0 1 0 1 0 1 1 1 1 1 7/10
Camello 1 1 0 1 1 1 0 1 1 1 8/10
Canello 1 1 1 0 1 0 1 1 0 1 7/10
Clavado 1 1 1 1 1 1 1 1 1 1 10/10
Calvado 0 1 1 1 1 0 1 0 1 1 7/10
Capítulo VI
157
Tabla 6. 2(continuaciòn): Resultados obtenidos para la etapa de entrenamiento
Esferico 1 1 1 1 1 1 1 1 1 1 10/10
Seferico 1 1 1 1 1 1 1 1 1 1 10/10
Esparrago 1 0 1 1 1 0 0 1 1 1 7/10
Aseparrago 1 1 1 1 1 1 1 1 1 1 10/10
Hipopotamo 1 1 1 1 1 1 1 1 0 1 9/10
Hipotamo 1 1 1 1 1 1 1 1 1 1 10/10
Instituto 1 1 1 1 1 1 1 1 1 1 10/10
Istituto 1 1 1 1 1 1 1 1 1 1 10/10
Partido 1 1 1 1 1 0 1 1 1 1 9/10
Pratido 1 1 0 1 1 1 0 1 1 0 7/10
Plancha 1 0 1 1 1 1 1 1 1 1 9/10
Palancha 1 1 1 0 1 1 1 1 1 1 9/10
Reconocimiento por
locutor 33 35 32 35 38 31 30 36 31 35 336/400
A continuación en la Tabla 6.3, se muestran los resultados obtenidos en la etapa de prueba, donde se
utilizaron grabaciones distintas de los mismos locutores.
Tabla 6.3 Resultados obtenidos en la etapa de prueba
Prueba
Palabra Pronunciada Locutor
Total de reconocimiento L1 L2 L3 L4 L5 L6 L7 L8 L9 L10
Alba 0 0 1 1 1 1 1 1 0 0 6/10
Alda 0 1 1 1 1 0 0 1 0 0 5/10
Bala 1 1 1 1 1 1 1 0 1 1 9/10
Dala 1 0 0 0 1 1 0 1 0 0 4/10
Blanca 1 1 1 1 1 1 0 1 1 1 9/10
Danca 0 0 0 1 0 0 1 1 0 1 4/10
Beber 1 1 1 1 0 1 1 1 1 1 9/10
Deber 0 0 1 0 1 0 0 1 0 1 4/10
Boda 1 0 1 0 1 0 1 1 1 0 6/10
Poda 1 1 1 1 1 1 1 1 0 1 9/10
Bonito 0 1 0 0 1 0 1 0 0 0 3/10
Ponito 1 1 1 1 1 0 1 1 0 1 8/10
Escapó 1 1 1 1 1 1 1 1 1 1 10/10
Escabo 0 1 1 1 0 1 0 1 1 1 7/10
Parque 1 1 1 1 1 1 0 1 1 0 8/10
Barque 1 0 1 0 1 1 1 1 0 1 7/10
Antena 1 1 1 1 1 1 0 1 1 1 9/10
Nantena 1 1 1 0 0 0 1 0 1 1 6/10
Bosque 1 1 1 1 1 0 1 1 1 1 9/10
Boque 1 1 1 0 1 1 1 1 1 1 9/10
Calcetin 1 0 1 0 1 1 0 1 1 1 7/10
Carcetin 1 1 0 1 1 1 1 1 1 1 9/10
Calle 1 1 1 1 1 1 0 1 1 0 8/10
Capítulo VI
158
Tabla 6. 4(continuación): Resultados obtenidos en la etapa de prueba
Cache 1 1 0 1 1 1 1 0 0 1 7/10
Camello 1 1 0 1 1 1 1 0 1 1 8/10
Canello 1 0 0 1 1 0 1 1 0 1 6/10
Clavado 1 0 1 0 1 0 1 1 1 1 7/10
Calvado 1 0 0 1 0 0 1 0 1 0 4/10
Esferico 1 1 1 1 1 1 1 1 1 1 10/10
Seferico 1 1 1 1 1 1 1 1 1 1 10/10
Esparrago 1 0 1 1 1 0 0 1 1 1 7/10
Aseparrago 1 1 1 1 1 1 1 1 1 1 10/10
Hipopotamo 1 1 0 0 1 1 1 1 1 1 8/10
Hipotamo 0 1 1 1 1 1 1 1 0 0 7/10
Instituto 1 1 1 1 1 1 1 1 1 1 10/10
Istituto 1 1 1 1 1 1 0 1 1 1 9/10
Partido 0 1 1 1 1 0 1 1 1 0 7/10
Pratido 1 1 0 1 1 1 1 1 0 1 8/10
Plancha 1 1 1 0 1 1 0 1 1 1 9/10
Palancha 1 0 1 0 1 1 1 0 1 1 7/10
Reconocimiento por
locutor 32 28 30 28 35 27 28 33 27 30 298/400
Por último, en la Tabla 6.5 se observan los resultados al validar el sistema con 5 locutores, los cuales
no pertenecen a la etapa de entrenamiento.
Tabla 6.5 Resultados obtenidos en la etapa de validación
Validación
Palabra Pronunciada Locutor
Total de reconocimiento L11 L12 L13 L14 L15
Alba 1 1 1 1 1 5/5
Alda 1 1 1 1 1 5/5
Bala 1 1 1 1 1 5/5
Dala 0 1 1 0 1 3/5
Blanca 0 1 1 0 1 3/5
Danca 0 0 1 1 0 2/5
Beber 1 1 1 1 1 5/5
Deber 0 1 0 0 0 1/5
Boda 1 0 1 1 0 3/5
Poda 1 0 0 1 1 3/5
Bonito 1 0 1 1 1 4/5
Ponito 1 1 1 0 1 4/5
Escapó 1 0 0 0 1 2/5
Escabo 0 0 1 0 1 2/5
Parque 1 1 1 1 1 5/5
Barque 0 0 1 1 0 2/5
Antena 1 1 1 0 1 4/5
Nantena 0 1 1 0 1 3/5
Bosque 1 1 1 1 0 4/5
Boque 1 1 1 0 1 4/5
Calcetin 1 1 1 0 1 4/5
Capítulo VI
159
Tabla 6. 6(continuación) Resultados obtenidos en la etapa de validación
Carcetin 1 0 1 1 0 3/5
Calle 1 0 1 0 1 3/5
Cache 1 0 0 1 0 2/5
Camello 1 1 0 1 1 4/5
Canello 1 0 0 1 1 3/5
Clavado 1 0 1 1 1 4/5
Calvado 0 1 0 0 0 1/5
Esferico 1 1 1 1 1 5/5
Seferico 0 1 0 0 0 1/5
Esparrago 0 1 0 1 1 3/5
Aseparrago 1 1 0 0 0 2/5
Hipopotamo 1 0 0 0 1 2/5
Hipotamo 0 1 1 1 1 4/5
Instituto 1 0 1 1 0 3/5
Istituto 1 1 0 1 0 3/5
Partido 0 0 1 1 0 2/5
Pratido 1 0 0 0 0 1/5
Plancha 1 0 1 0 1 3/5
Palancha 1 0 0 1 1 3/5
Reconocimiento por
locutor 28 22 26 23 26 125/200
Finalmente, la Tabla 6.7 muestra el rendimiento del reconocedor con base en los resultados que se
tienen para cada conjunto de palabras. Este porcentaje se obtiene al calcular el total de palabras reconocidas
correctamente por conjunto y dividirlo entre el total de palabras evaluadas.
Tabla 6.7 Rendimiento del Reconocedor de Voz
Identificador Conjunto de Palabras
Porcentaje
Aciertos
Entrenamiento
Porcentaje de
Aciertos
Prueba
Porcentaje de
Aciertos
Validación
CP1 Alba Alda 80% 55% 100%
CP2 Bala Dala 55% 65% 80%
CP3 Beber Deber 80% 65% 60%
CP4 Blanca Danca 75% 65% 50%
CP5 Boda Poda 95% 75% 60%
CP6 Bonito Ponito 75% 55% 80%
CP7 Escapó Escabó 85% 85% 40%
CP8 Parque Barque 85% 75% 70%
CP 9 Antena Nantena 80% 75 % 70%
CP10 Bosque Boque 95% 90 % 80%
CP11 Calcetín Carcetin 85% 80% 70%
Capítulo VI
160
Tabla 6. 8 (continuación): Rendimiento del Reconocedor de Voz
CP12 Calle Cache 80% 75% 50%
CP13 Camello Canello 75% 70% 70%
CP14 Clavado Calvado 85% 55% 50%
CP15 Esférico Seferico 100% 100% 60%
CP16 Esparrago Aseparrago 85% 85% 50%
CP17 Hipopótamo Hipotamo 95% 75% 60%
CP18 Instituto Istituto 100% 95% 60%
CP19 Partido Pratido 80% 75% 30%
CP20 Plancha Palancha 90% 80% 60%
Total de reconocimiento 84% 75% 63%
De la tabla anterior, se establece el desempeño del reconocimiento de 75%. Este porcentaje se obtiene
de la etapa de pruebas del sistema donde se evaluaron palabras diferentes de los mismos locutores; también
se observa que el desempeño del reconocedor al evaluar locutores que no se encuentran en el patrón
disminuye al 63%.
6.1 Sugerencias para uso del sistema
Los resultados en el sistema se obtuvieron tomando en cuenta las siguientes sugerencias.
Este sistema es un prototipo auxiliar en la detección de dislexia, funciona como un primer filtro al
realizar una prevaloración. Como se ha mencionado, el sistema está enfocado para la evaluación de niños
que viven en comunidades pequeñas y que no tienen acceso a un especialista del habla. Mediante esta
herramienta utilizada por médico auxiliar, es posible realizar un primer acercamiento a la detección de este
trastorno.
1. El sistema proporciona mejores resultados si los niños a evaluar forman parte del patrón de
detección, por lo tanto se sugiere que los patrones se construyan con un aproximado del 60% de la
población de niños a evaluar.
2. Para hacer la prueba de lectura de un niño, se deben utilizar las palabras que se encuentran en la
presentación mostrada en la Figura 5.59.
3. Al realizar una grabación se recomienda:
• Utilizar un micrófono con características similares a las especificadas en la Tabla 3.5.
• Para evitar la captación de fuentes sonoras no deseadas, se debe colocar el micrófono a
180° utilizando la boca como punto de referencia. Además se sugiere colocar el micrófono
a 5 cm de distancia con respecto a la boca (Figura 5.6), con esto también se evita que el
micrófono capte la respiración.
Capítulo VI
161
Figura 5. 70 Posición del micrófono para realizar una grabación.
• Mientras se graba se debe minimizar cualquier sonido que no sea del habla, como tomar
aire, producir sonidos con los labios u otros ruidos ambientales.
• Apagar cualquier otro programa de audio que se esté ejecutando en la computadora, como
reproductores de música o editores de audio.
• Hacer una prueba de grabación, antes de capturar las palabras que serán subidas al sistema.
• Por cada palabra se debe realizar una grabación, por lo que se debe iniciar la grabación,
leer una palabra y guardar el archivo de audio con el nombre de la palabra grabada.
• Las muestras que formaron los patrones de cada palabra mantienen una relación señal a
ruido en un rango de 14.26dB a 29.26 dB, por lo que se sugiere que las grabaciones a
comparar mantengan este intervalo de SNR.
CAPÍTULO VII:
CONCLUSIONES Sistema de reconocimiento de voz para la detección oportuna de la dislexia en niños
Capítulo VII
163
Capítulo VII
164
VII. CONCLUSIONES Con base en los resultados obtenidos se pueden concluir aspectos relacionados con las etapas del
reconocimiento de voz y del sistema de información.
7.1 Reconocimiento de voz
Filtrado
Los filtros que se implementaron y la secuencia con la que se aplican a una señal de voz, entregan resultados
satisfactorios; esto es, mostrando que la implementación funciona dado que la relación señal a ruido
incrementa después de aplicar este preprocesamiento; lo que a su vez permitió realizar una detección de
inicio y fin exclusiva de la palabra, es decir, que se suprimen señales indeseables.
Detección de inicio y fin
Inicialmente, se almacenaron 10 palabras por cada locutor en un solo archivo de audio. Esto con la finalidad
de aplicar el algoritmo de detección de inicio y fin para obtener palabras aisladas. Sin embargo, calcular la
magnitud promedio de la grabación completa, no proporciona los umbrales adecuados para separar las
palabras a través de esta técnica
Por lo tanto, se procedió a realizar grabaciones de la lectura de palabras aisladas. En estos archivos se aplicó
un algoritmo con la finalidad de recortar el ruido de piso al inicio y fin de cada grabación; luego se procedió
a caracterizar cada segmento de la señal resultante.
Asimismo, se realizaron modificaciones en el algoritmo para recortar ruidos iniciales provenientes de la
apertura de labios que no fueron eliminados durante la etapa de filtrado.
LPC
Es necesario que cada par de palabras tenga el mismo número de coeficientes LPC para poder compararse
correctamente, por lo que fue preciso realizar un escalamiento, el cual permitió igualar la longitud de cada
palabra.
La técnica LPC con la que se extraen características, representa una señal de voz que resalta los fonemas
con sonido sonoro como es el caso de las vocales, es entonces que, la diferencia entre un par de palabras
que cambian únicamente en un fonema es mínima, por ejemplo, entre las palabras alba y alda.
Clasificación
Con el algoritmo de clasificación k-Means se genero un patrón de voz para cada palabra en la base de datos,
para lo cual se utilizaron los coeficientes LPC de las señales de voz. En el patrón se observan los segmentos
en los cuales radica la diferencia entre cada par de palabras, aunque esta es mínima.
Esta técnica permitió encontrar patrones representativos para cada palabra de la base de datos, a pesar que
integra los LPC de cada locutor correctamente, la diferencia entre ellos es mínima, de tal manera que es
complejo establecer un umbral que permita distinguir entre una y otra.
Finalmente, el reconocedor desarrollado para esta aplicación, está enfocado a trabajar con niños evaluando
su pronunciación para la detección de dislexia, lo cual implica integrar diferentes locutores y distinguir
entre palabras similares. En este trabajo se logró un rendimiento en la etapa de reconocimiento de 75% con
Capítulo VII
165
el cual se logra una diferenciación entre una persona con dislexia de otra que no la padece. Estos resultados,
por lo tanto, requieren de la opinión final de un especialista, el sistema sólo proporciona una estimación.
7.2 Sistema de información
El diseño del sistema de información, permite realizar la prevaloración de un usuario mediante las interfaces
desarrolladas, con esto se cumple el objetivo de hacer una herramienta para una evaluación a distancia; lo
que permite acercar aquellas personas que se encuentran lejos de los especialistas en trastornos del habla.
El sistema de información integra la participación de un médico auxiliar y un médico especialista, quienes
valoran los resultados para el prediagnóstico; esto posiciona al prototipo con un auxiliar para la detección.
Sin embargo, el desempeño del sistema de información está sujeto a los resultados de la evaluación de
dislexia. Debido a que la detección del trastorno depende directamente del reconocimiento de voz, el
sistema de información funciona bajo las condiciones definidas anteriormente.
Por otra parte, es importante mencionar las variantes que se encontraron en la práctica al realizar las
grabaciones que conforman el modelo acústico del sistema, mismas que influyen en los alcances del
sistema.
Participantes con un nivel de lectura bajo, el cual no concuerda con el grado escolar al que
pertenecen; como los casos donde los niños sólo conocen algunas letras del abecedario.
Participantes que tienen más de una dificultad en el habla como la disfemia o que presentan alguna
enfermedad del aparato fonador.
Estos participantes por el momento no son incluidos en el sistema, debido a que estas dificultades además
de modificar la lectura de una palabra, para el caso de tener dislexia, también modifican la señal de voz al
existir una alteración en los fonemas pronunciados.
Actualmente no se cuenta con un diccionario global de palabras auxiliares para la detección de dislexia,
cada especialista tiene su propio banco de palabras, por lo cual es necesario que el especialista acuda o
evalúe personalmente a un paciente. Como se mencionó anteriormente esta propuesta recopila palabras de
un estudio realizado en la Cuidad de México, aunado a esto, se integraron palabras recomendadas por una
especialista en pedagogía y educación preescolar. Por lo tanto este sistema de información facilita estas
palabras a aquellas personas que puedan fungir como un auxiliar para la detección del trastorno.
7.3 Trabajo a futuro
Con base en los resultados obtenidos, se proponen las siguientes mejoras al módulo de reconocimiento de
voz en el sistema.
1. Implementación de un algoritmo distinto que permita medir la similitud entre dos secuencias
temporales pese a que estén pronunciadas a velocidades distintas.
2. Realizar la comparación entre fonemas y no entre palabras retomando los algoritmos de
clasificación implementados en este trabajo junto con otros que se sabe sirven para el
reconocimiento de voz.
Capítulo VII
166
3. Para mejorar esta propuesta se sugiere hacer del sistema un modelo evolutivo, con el fin de que
cada muestra de voz ingresada al sistema sea evaluada y pase a formar parte del modelo acústico
del sistema. Con ello se actualizaría el promedio de segmentos para cada palabra y se ampliaría el
número locutores para formar un patrón, lo que podría tener un patrón que permita realizar la
detección con mayor precisión.
Capítulo VII
167
Bibliografía
168
Bibliografía
[1] INEGI, «Instituto Nacional de Estadística y Geografía,» INEGI, 2010. [En línea]. Available:
http://cuentame.inegi.org.mx/poblacion/discapacidad.aspx?tema=P. [Último acceso: 3 noviembre
2016].
[2] J. E. Jiménez, Dislexia en español, Madrid: Pirámide, 2012.
[3] D. G. Martín, «Prevalencia e indicadores cognitivos y familiares de la dislexia en adolescentes,»
2012. [En línea]. Available: ftp://tesis.bbtk.ull.es/ccssyhum/cs377.pdf. [Último acceso: 14 octubre
2016].
[4] H. K. De León Ortíz, «Dislexia y bajo rendimiento escolar,» octubre 2014. [En línea]. Available:
http://recursosbiblio.url.edu.gt/tesisjcem/2014/05/22/De%20Leon-Heidi.pdf. [Último acceso: 21
octubre 2016].
[5] L. Furlong, S. Erickson y M. E. Morris, «Computer-based speech therapy for childhood speech
sound disorders,» Journal of Communication Disorders, vol. 68, nº Junio, pp. 50-59, 2017.
[6] J. Becerra Becerra, D. A. Farías Pineda y V. Martínez Sánchez, Sistema de reconocimiento de
palabras clave en conversación de voz, Ciudad de México, 2015.
[7] C. Aguilar Orozco y M. Benitez Marin, Sistema certificador de locutor por voz, Ciudad de México,
2003.
[8] D. S. Abraham, Gamevoice, videojuego controlado por voz, Ciudad de México.
[9] J. D. Paz Jaimes y S. Flores Clemente, Sistema de seguridad de activación automatica para joyerías,
Ciudad de México, 2017.
[10] A. B. Burraco, «Neurobiología y neurogenética de la dislexia,» Neurología, vol. 25, nº 9, pp. 563-
581, 2009.
[11] L. E. A. Borja, Evaluacion y tratamiento de niños disléxicos, Ciudad de México: Trillas, 2007.
[12] F. N. S. F. Ignacio Cobeta, Patología de la voz, Barcelona: Marge Médica Books, 2013.
[13] E. Obediente, Fonética y Fonología, Venezuela: Consejo de Publicaciones de la Universidad de Los
Andes, 2007.
[14] R. D. González, «Producción de la voz y el habla,» 2014. [En línea]. Available:
https://repositorio.unican.es/xmlui/bitstream/handle/10902/5583/DosalGonzalezR.pdf. [Último
acceso: 24 marzo 2017].
Bibliografía
169
[15] D. K. M. John G. Proakis, Digital Signal Processing, Nueva Jersey: Pearson, 2007.
[16] L. W. C. II, Sistemas de comunicación digitales y analógicos, Ciudad de México: Pearson
Educación, 2008.
[17] J. R. Don Johnson, «Aliasing, Universidad de Washington,» 21 agosto 2003. [En línea]. Available:
http://courses.cs.washington.edu/courses/cse467/05wi/tools/oscopefordummies/aliasing.pdf.
[Último acceso: 12 marzo 2017].
[18] E. H. Pérez, Introducción a las telecomunicaciones modernas, Ciudad de México: Limusa, 2004.
[19] Microsoft, «WAVE PCM soundfile format,» [En línea]. Available:
http://soundfile.sapp.org/doc/WaveFormat/. [Último acceso: 10 enero 2017].
[20] M. S. L. Raúl Ibarra, Principios de teoría de las comunicaciones, Ciudad de México: Limusa, 1999.
[21] A. I. V. Escamilla, «Reconstrucción de señales de entrada con filtros variantes en el tiempo,» 4
diciembre 2009. [En línea]. Available:
http://tesis.ipn.mx/bitstream/handle/123456789/7249/69.pdf?sequence=1. [Último acceso: 14
noviembre 2016].
[22] B. H. J. Lawrence Rabiner, Fundamentals of Speech Recognition, Nueva Jersey: Prentice Hall,
1993.
[23] J. A. M. Saravia, «Segmentación de audio y locutores para recuperación de información multimedia
y su apicación a videos de información turística,» septiembre 2011. [En línea]. Available:
https://repositorio.uam.es/bitstream/handle/10486/12498/60600_20110926JoseAntonioMorejonSar
avia.pdf?sequence=1. [Último acceso: 9 abril 2017].
[24] M. R. S. Lawrence Rabiner, «An algorithm for determining the endpoints of isolated utterances,»
The Bell System Technical Journal, pp. 297-315, febrero 1975.
[25] J. H. Dietrich W. R. Paulus, Applied Pattern Recognition, Berlín: Springer Vieweg Verlag, 2003.
[26] K. P. Murphy, «Machine Learning: A Probabilistic Perspective,» 22 mayo 2012. [En línea].
Available: https://www.cs.ubc.ca/~murphyk/MLbook/pml-intro-22may12.pdf. [Último acceso: 25
marzo 2017].
[27] D. R. S. Olson, Phyton Machine Learning, Reino Unido: Packt Publishing Limited, 2015.
[28] S. Marsland, Machine learning: An Algoritmic Perspective, Nueva Zelanda: Chapman & Hall,
2009.
Bibliografía
170
[29] S. E. S. C. o. t. I. C. Society, IEEE 380 Recommended Practice for Software Requirements
Specications, 1998.
ANEXO
Sistema de reconocimiento de voz para la detección oportuna de la dislexia en niños
Anexo
172
MANUAL DE USUARIO
Sistema de reconocimiento de voz para la detección oportuna de la dislexia en niños
1. Introducción
Este manual tiene como objetivo dar a conocer las
características y las formas de funcionamiento de las
interfaces correspondientes al Sistema de
reconocimiento de voz para la detección oportuna de
dislexia en niños. Este es un sistema auxiliar para el
diagnóstico de este trastorno a distancia, debido a
que funciona como un primer filtro en la detección.
Existen tres roles de usuario para acceder al sistema:
Administrador, Médico auxiliar y Médico
especialista.
2. Entrada al sistema
Para acceder al sistema, el usuario deber hacer uso
de sus credenciales de acceso, esto es, usuario y
contraseña. Por lo cual deben estar registrados en la
base de datos del sistema.
El usuario Administrador gestiona y controla el
sistema en general por lo que cuenta con un par
usuario/contraseña desde que tiene permisos en el
sistema. En el caso de un usuario Médico
especialista, las credenciales de acceso se obtienen
mediante su registro realizado por el Administrador.
Un usuario Médico auxiliar solicita su alta o registro
en el sistema mediante el portal de entrada del
sistema.
2.1 Portal de entrada
Actualmente para ingresar al sistema se utiliza el
siguiente enlace:
http://jesusolivares.com/dis
Ingresar a la URL, le permitirá al usuario acceder a
al sitio web con sus credenciales o acceder al
formulario de Registro de usuario.
174
Botones disponibles
Entrar: Una vez introducido el correo electrónico y
la contraseña, se debe presionar este botón para
ingresar a la página principal correspondiente a cada
usuario.
Registrarse: Si desea registrarse en el sistema como
Médico auxiliar, deber presionar este botón y
accederá al formulario de registro.
3. Usuario Administrador
Al ingresar al sistema con las credenciales
correspondientes al usuario administrador, se tendrá
acceso a la siguiente página de inicio.
Aquí se tiene acceso, al menú de administrador con
las pantallas Inicio, Especialistas, Usuarios y
Ayuda.
Botones disponibles
Cerrar sesión: Para salir del sitio y cerrar su sesión
de usuario, debe pulsar este botón que lo situará en
el portal de entrada.
3.1 Inicio
Esta pantalla, le permite regresar a la página de
inicio del sitio.
3.2 Especialistas
En esta sección el Administrador del sistema puede
registrar a un usuario Médico Especialista, quien es
el responsable de validar los resultados del sistema.
Los médicos especialistas son registrados por este
usuario debido a que emiten el prediagnóstico final
en el sistema y deben ser capacitados para el uso de
sus interfaces.
En esta pantalla se deben ingresar todos los datos del
especialista para ser guardados en la base de datos
del sistema. Los datos en los campos Contraseña y
Confirma contraseña, deben ser iguales para
proporcionar las claves de acceso del especialista
correctamente.
Botones disponibles
Guardar: Almacena los datos del especialista en la
base de datos del sitio.
Cancelar: Cancela la operación y sitúa al usuario en
la página de inicio.
3.3 Usuarios
Cada vez que un Médico auxiliar, solicita el ingreso
al sistema, este aparece en la pantalla Usuarios a
validar, ubicada en la sesión del Administrador.
Para validar a un usuario, como administrador debe
corroborar sus datos en el portal:
https://www.cedulaprofesional.sep.gob.mx/cedula/
presidencia/indexAvanzada.action
175
Si los datos son correctos, seleccione el «checkbox»
correspondiente al usuario en la columna Validar, en
caso contrario seleccione el «checkbox» de la
columna Eliminar.
Botones disponibles
Validar usuarios seleccionados: En este botón se
permite al acceso al sitio a un usuario Médico
auxiliar. Se liberan sus credenciales de acceso y
desde ese momento puede ingresar sitio desde el
portal de entrada.
Eliminar usuarios seleccionados: Si los datos son
incorrectos elimina el registro de este usuario de la
base de datos.
Los resultados de esta acción aparecen en la misma
pantalla.
3.4 Ayuda
En esta pantalla puede consultar el funcionamiento
de las principales pantallas en esta sesión de usuario.
4. Usuario Médico Auxiliar
En el caso de ingresar al sistema con las credenciales
correspondientes a un Médico Auxiliar, este
accederá a la siguiente página de inicio.
Aquí se muestra el menú correspondiente a esta
sección, el cual enlista las pantallas: Inicio, Dislexia,
Pacientes, Ayuda, Descargas y Configuración.
Botones disponibles
Cerrar sesión: Para salir del sitio y cerrar su sesión
de usuario, debe pulsar este botón que lo situará en
el portal de entrada.
4.1Inicio
Esta pantalla, le permite al usuario regresar a la
página de inicio del sitio; desde la pantalla en que se
encuentre.
4.2 Dislexia
Al ingresar en esta pantalla obtendrá información
importante acerca del trastorno de dislexia. Esta
pantalla explica que es el trastorno de dislexia,
cuáles son los síntomas principales que afectan a
quien la padece y cuales sirven como indicadores
para realizar un diagnóstico, además resalta que
personas pueden padecer dislexia y describe cómo
funciona la propuesta de este sistema para realizar
un prediagnóstico.
4.3 Pacientes
Para realizar una prueba de prevaloración de dislexia
es necesario registrar a cada paciente que será
176
evaluado. Por lo que debe de ingresar a la pantalla
Pacientes; aquí se desplegará un formulario para
registrar los datos del niño, incluyendo su CURP ya
este que sirve como identificador único de cada
paciente.
Botones disponibles
Guardar: Almacena los datos del paciente en la base
de datos del sitio.
Cancelar: Cancela la operación y sitúa al usuario en
la página de inicio.
Los resultados de la acción Guardar aparecen en la
misma pantalla.
En esta pantalla también se pueden observar los
pacientes registrados y se permite llevar un control
de la información de cada paciente, como datos
personales, archivos de voz subidos al sistema y el
resultado de la prevaloración realizada.
Botones disponibles
Editar: Muestra la interfaz para actualizar los datos
de un paciente registrado en el sistema.
Subir Archivos: Muestra la interfaz para subir los
archivos de audio de un paciente.
Resultados: Muestra los resultados de la prueba de
prevaloración de dislexia.
4.3.1 Editar
La opción Editar, consiste en actualizar la
información del paciente o eliminar el registro
completo. El formulario que se muestra a
continuación manda a llamar los datos del paciente
seleccionado y permite editarlos.
Botones disponibles
Actualizar: guarda en la base de datos cada
modificación.
Eliminar: suprime el registro del paciente
seleccionado en la base de datos.
Los resultados de la acción Actualizar aparecen en
la misma pantalla.
4.3.2 Subir Archivos
Para realizar una prevaloración de dislexia se deben
proporcionar los archivos de audio de un paciente.
Por lo que es necesario enviarlos al servidor
mediante la opción subir archivos en la pantalla
Pacientes. Ahí debe seleccionar los archivos de
audio un paciente y subirlos uno por uno.
177
Botones disponibles
Subir archivo: crea automáticamente un directorio
dentro del servidor donde se almacenan los archivos.
El directorio de cada paciente se identifica con su
CURP y la Cédula Profesional del usuario que hace
la evaluación.
Los resultados de la acción -Subir archivo aparecen
en la misma pantalla.
4.3.3 Resultados
Para visualizar los resultados de la prueba, debe
ingresar a la opción Resultados en la pantalla
especialista. Ahí puede observar los resultados que
se obtuvieron por el sistema para cada paciente,
junto con la validación realizada por el Médico
especialista.
4.4 Ayuda
En la pantalla Ayuda, puede encontrar una guía
simplificada para el uso del sistema; dicha guía es
un complemento de este manual donde se explica
cómo realizar una grabación adecuada de cada
palabra.
4.5 Descargas
Las palabras que este sistema utiliza para detectar
dislexia, se encuentran en la sección de descargas.
Ahí se proporciona una presentación que contiene el
diccionario de palabras que un niño debe leer para
realizar la prueba.
178
4.6 Configuración
Si desea cambiar su contraseña, debe ingresar a la
pantalla Configuración. Para ello el sistema obtiene
su identificación del inicio de sesión y solicita la
nueva contraseña; como en el registro la contraseña
inicial y la contraseña de confirmación deben ser
iguales para que el cambio se realice
Botones disponibles
Cambiar: Verifica que los datos ingresados en
Contraseña nueva y Confirma contraseña sean
iguales; y actualiza la nueva contraseña en la base de
datos del sistema.
Los resultados de la acción Cambiar, se muestran en
la misma pantalla.
5. Usuario Médico especialista
Al ingresar al sistema con las credenciales
correspondientes al usuario Médico especialista, se
tendrá acceso a la siguiente página de inicio.
Aquí se tiene acceso, al menú de administrador con
las pantallas Inicio, Pacientes, Archivos y Ayuda.
Botones disponibles
Cerrar sesión: Para salir del sitio y cerrar su sesión
de usuario, debe pulsar este botón que lo situará en
el portal de entrada.
5.1 Inicio
Esta pantalla, le permite regresar a la página de
inicio del sitio.
5.2 Pacientes
En esta sección puede validar los resultados del
sistema; para ello debe seleccionar un paciente.
Posteriormente debe elegir entre dos alternativas
para calificar el resultado del sistema, estas son
correcto o incorrecto; asimismo debe escribir un
comentario acerca de la evaluación con el fin de
proporcionar un mejor resultado de la prueba.
5.3 Archivos
Para tener acceso a los archivos de audio que se
encuentran en el servidor, se proporciona esta
sección.
179
Botones disponibles
Crear carpeta ZIP: actualiza el directorio de archivos
y crear una carpeta ZIP que contiene todas las
pruebas de cada paciente.
Descarga archivos: descarga carpeta creada en su
equipo de cómputo.
Los resultados de la acción Crear carpeta ZIP se
muestran en la misma pantalla.
5.4 Procesamiento de archivos de audio.
Como usuario Médico especialista, tiene la función
de procesar los archivos de audio que lleguen al
servidor; esta es la función principal del sistema. Es
primordial recibir los archivos de audio de aquellos
participantes que no tienen la posibilidad de ser
valorados por un especialista en trastornos del habla
personalmente, pero que pueden enviar la lectura de
palabras clave por medio de grabaciones y realizar
una prevaloración a distancia.
Para realizar el procesamiento de los archivos que se
encuentren en el servidor, se debe ingrsar a la
interfaz de procesamiento y seleccionar el directorio
a examinar, utilizando el botón Directorio.
Botones disponibles
Directorio: establece el directorio inicial donde se
encuentran almacenados los archivos con formato
WAV, los cuales están ordenados por la cédula del
médico auxiliar y el CURP del paciente.
Una vez que se seleccionó el directorio, se procede
a analizar los archivos en cada carpeta. Con el botón
Analizar.
Analizar: obtiene el nombre de cada archivo, el cual
permite realizar la comparación con los patrones
correspondientes a cada palabra.
En esta sección se lleva a cabo el reconocimiento de
voz de donde se obtienen los resultados
“Pronunciación normal” y “Pronunciación con
dislexia”. Los resultados de cada paciente se
guardan en la base datos del sistema y se imprimen
en la pantalla de esta interfaz.
Finalmente, debe validar los resultados en la
pantalla Pacientes descrita en la sección 5.2 de este
manual.