Logo Studenta

Sistema-de-Seguridad-por-Reconocimiento-de-Voz--Tesis-de-Ingenieria-ESIME-

¡Este material tiene más páginas!

Vista previa del material en texto

Escuela Superior de Ingeniería Mecánica y Eléctrica 
 Ingeniería en Comunicaciones y Electrónica 
 
“Sistema de Seguridad Por 
Reconocimiento de Voz” 
 
 
 
 TESIS 
 Que para Obtener el Título de: 
 Ingeniero en Comunicaciones y Electrónica 
 
 
 PRESENTAN 
 Pérez Badillo Eyra Oxana 
 Poceros Martínez Fernando 
 Villalobos Ponce José Alexis 
 
 
 
 ASESORES 
 
 M. en C. Jiménez Hernández Mario 
 Ing. Patricia Lorena Ramírez Rangel 
 
INSTITUTO POLITECNICO NACIONAL 
México, D.F., Septiembre 2013 
 
 
a 
 
 
 
 
 
I 
 
 
RESUMEN 
 
El presente trabajo de tesis se basa en un sistema de reconocimiento de voz que permite 
que el usuario grabe una palabra por medio de un micrófono y ésta sea reconocida en la 
base de datos existente en ese momento. Este tipo de proyectos han sido aceptados 
usando metodologías desde la comparación de plantillas hasta análisis de espectros en 
hogares desde que se tuvo la necesidad de mejorar la seguridad del hogar. 
 
El sistema en sí posee un entorno gráfico en la computadora por medio del software 
MATLAB llamado GUI, que proporciona las selecciones de grabación, donde la señal de 
voz es ingresada a la computadora, grabada y es procesada por los algoritmos del 
programa que modifican la señal llamado Predicción Lineal, obteniendo los parámetros 
LPC significativos de la señal de voz, para luego ser almacenados en la computadora. La 
selección de reconocimiento permite que la palabra sea comparada con la base de datos 
almacenada en la computadora en un proceso llamado comparación de coeficientes 
LPC, dicha base de datos ya fue procesada digitalmente por el programa, esta selección 
reconoce la palabra que fue grabada por el usuario al momento de querer ingresar a su 
hogar. El entorno gráfico proporciona, por otra parte, un análisis gráfico de las palabras 
grabadas y reconocidas. Como el Sistema de Reconocimiento de Voz es un sistema de 
procesamiento digital de señales de voz, el análisis gráfico en el reconocimiento es un 
análisis del espectro de frecuencias de la señal de voz. 
 
Para poder comprobar que el sistema fuera confiable se hicieron 2 tipos de pruebas; Una 
entre los usuarios del hogar tratando de acceder uno con el usuario del otro y otra donde 
personas ajenas a las almacenadas en la Base de Datos trataran de acceder. Se pudo 
comprobar que el sistema de reconocimiento por voz es confiable haciendo uso de 
diferentes métodos, los cuales limiten la posibilidad de error de identificación ya sea 
entre usuarios almacenados o no, la dificultad más grande de este proyecto se debió a 
que si el usuario cambia su tono de voz el sistema podría no reconocerlo, esto se debe a 
que si el usuario dice su contraseña en estado de ebriedad, de tristeza o felicidad su voz 
cambia y por consiguiente tambien los parámetros LPC. 
RESUMEN 
 
 
II 
 
ÍNDICE 
 
Pág. 
Resumen 
 
I 
Índice 
 
II 
Índice de Figuras IV 
Índice de Tablas V 
Objetivo General 1 
Objetivos Específicos 1 
Planteamiento del problema 1 
Hipótesis 
 
2 
Justificación 
 
2 
 
 Capítulo 1. Conceptos importantes en los Reconocedores de Voz 3 
Introducción 3 
1.1. Historia del reconocedor de voz 3 
1.2. Orden Cronológico de los Reconocedores de Voz 4 
1.3. Características de la señal de voz 5 
1.3.1. Articulación 6 
1.3.2. Señal Acústica 8 
1.3.3. Percepción Auditiva 10 
1.4. Funcionamiento de un sistema de reconocimiento de voz 11 
 Capítulo 2. Métodos y Etapas para el Reconocimiento de Voz 12 
2.1. Digitalización de la señal de voz 12 
2.1.1. Codificación de la señal de voz 12 
2.1.2. Muestreo y Cuantizacion 13 
 2.2. Métodos de Reconocimiento de Voz 17 
2.2.1. Aproximación en Base a Plantillas 18 
2.2.2. Predicción Lineal 20 
2.2.3. Análisis Cepstral 21 
2.3. Diagrama de Flujo del Reconocedor de Voz 21 
2.4. Etapas del Reconocimiento de Voz 22 
2.4.1. Generación de la señal Acústica 22 
2.4.2. Conversión A/D o Adquisición 22 
2.4.3. Pre-procesamiento 24 
2.4.4. Eliminación de Ruido y Normalización 24 
2.4.5. Filtro Pre-énfasis 25 
2.4.6. Segmentación 25 
2.4.7. Extracción de las Características 26 
INDICE 
 
 
III 
 
2.4.8. Calculo de la Distancia 26 
2.4.9. Toma de Decisión 27 
 
Capítulo 3. Planteamiento del problema 
 
 
28 
 
Capítulo 4. Desarrollo de un Sistema de Seguridad por Reconocimiento 
de Voz 31 
4.1. Metodología 31 
4.2. Micrófono 32 
4.3. Entrenamiento y Base de Datos 32 
4.3.1. Adquisición 32 
4.3.2. Eliminación de Silencios y Normalización 33 
4.3.3. Promedio 33 
4.3.4. Base de Datos 34 
4.4. Desarrollo 34 
4.4.1. Adquisición 34 
4.4.2. Eliminación de Silencios y Normalización 35 
4.4.3. Parametrización 36 
4.4.4. Reconocimiento de Habla (Toma de decisión) 38 
 4.4.5. Selección de la Acción a Realizar 40 
4.4.6. Interfaz Grafica 40 
4.4.7. Programa Completo 46 
4.5. Implementación 
 
46 
 Capítulo 5. Pruebas y Resultados 48 
5.1. Pruebas Generales 49 
 5.1.1. Comparación de Contadores con usuario Alexis 49 
5.1.2. Comparación de Contadores con usuario Fernando 51 
5.1.3. Comparación de Contadores con usuario Oxana 53 
5.1.4. Uso de los promedios 54 
5.2. Pruebas de Reconocimiento 55 
5.3. Pruebas Con intrusos o personas no Identificadas 57 
5.4. Solución del Problema 59 
5.5. Estudio Socio Económico 
 
60 
 
Conclusiones 
 
63 
Bibliografía y/o Referencias 65 
Anexos 
 
66 
Anexo1 Programa Completo 66 
Anexo 2 Diagrama de Conexión 72 
Glosario 
 
73 
 
 
INDICE 
 
 
IV 
 
ÍNDICE DE FIGURAS 
Figura 1.1. Proceso de Comunicación del Habla 6 
Figura 1.2. Órganos del cuerpo que intervienen en el aparato fonador 7 
Figura 1.3. Diagrama a Bloques del Proceso General Del Reconocimiento de voz 11 
Figura 2.1. Diferentes tipos de Transductores Eléctrico – Acústicos 13 
Figura 2.2. Señales Senoidales Muestreadas a diferentes valores 14 
Figura 2.3. Señal Cuantizada con 4 y 16 bits respectivamente 15 
Figura 2.4. Señal Cuantizada Uniformemente 16 
Figura 2.5. Señal Cuantizada No Uniformemente 16 
Figura 2.6. Procesos en la que la señal obtiene sus características principales 18 
Figura 2.7. Diagrama de Flujo de un Reconocedor de Voz 21 
Figura 2.8. Diagrama de generación de la señal acústica 22 
Figura 2.9. Diagrama de la adquisición de Voz 22 
Figura 2.10. Señal tratada Digitalmente para ser muestreada 23 
Figura 2.11. Diagrama de la digitalización de la señal de Voz 24 
Figura 2.12. Diagrama de eliminación de ruido y Normalización 24 
Figura 2.13. Diagrama de los filtros de énfasis 25 
Figura 2.14. Diagrama de segmentación, ventaneo y recorte de la señal acústica 25 
Figura 2.15. Diagrama que explica los procesos de extracción de características 26 
Figura 2.16. Formula que muestra el cálculo realizado para obtener las distancias 26 
Figura 2.17. Diagrama que muestra el proceso para obtener y comparar las distancias 27 
Figura 3.1. Peligros En México 28 
Figura 3.2. Intento de robo en México 29 
Figura 3.3. Tecnología de Protección y/o seguridad 29 
Figura 3.4. Seguridad en el hogar (Entrada principal) 30 
Figura 4.1. Micrófono que se usara en el proyecto 32 
Figura 4.2. Icono de GUIDE en MATLAB para crear interfaces 41 
Figura 4.3. Selección de la GUI o abrir una nueva GUI 41 
Figura 4.4. Inicio de la GUI con su ventana lateral izquierda de selección de objetos 42 
Figura 4.5. Colocación, edición y uso de un Botón en la GUI 42 
Figura 4.6. Interfaz gráfica imagen de la GUI 43 
Figura 4.7. Interfaz gráfica del Reconocedor de Voz creado en MATLAB 43 
Figura 4.8. Interfaz gráfica después de haber apretado el botón Grabar 44 
Figura 4.9. Interfaz gráfica después de haber apretado el botón Identificar 45 
Figura4.10. Ventana que aparece después de presionar el botón Salir 45 
Figura 4.11. 
 
Menú de Funciones del Sistema que despliega las acciones 
que se puede realizar 46 
Figura 4.12. Ventana que aparece después de seleccionar la Acción de Abrir Puerta 46 
Figura 4.13. Maqueta e Interfaz grafica 47 
Figura 4.14. Tarjeta de Adquisición de datos USB6008 47 
Figura 5.1. Análisis de Factor Peso (Plantilla) 61 
 
INDICE DE FIGURAS 
 
 
V 
 
ÍNDICE DE TABLAS 
Tabla 5.1. Pruebas con ruido de 49.5 a 56 dBA 48 
Tabla 5.2. Pruebas con ruido de 62.8 a 69.4 dBA 48 
Tabla 5.3. Pruebas con ruido de 66.2 a 75.4 dBA 49 
Tabla 5.4. Pruebas de Alexis mencionando Alexis 49 
Tabla 5.5. Pruebas de Alexis mencionando Fernando 50 
Tabla 5.6. Pruebas de Alexis mencionando Oxana 50 
Tabla 5.7. Pruebas de Fernando mencionando Alexis 51 
Tabla 5.8. Pruebas de Fernando mencionando Fernando 51 
Tabla 5.9. Pruebas de Fernando mencionando Oxana 52 
Tabla 5.10. Pruebas de Oxana mencionando Alexis 53 
Tabla 5.11. Pruebas de Oxana mencionando Fernando 53 
Tabla 5.12. Pruebas de Oxana mencionando Oxana 54 
Tabla 5.13. Promedios Obtenidos para Alexis 55 
Tabla 5.14. Promedios Obtenidos para Fernando 55 
Tabla 5.15. Promedios Obtenidos para Oxana 55 
Tabla 5.16. Resultados del Reconocimiento de Alexis 55 
Tabla 5.17. Resultados del Reconocimiento de Fernando 56 
Tabla 5.18. Resultados del Reconocimiento de Oxana 57 
Tabla 5.19. Resultados del Reconocimiento para un Hombre Adulto 57 
Tabla 5.20. Resultados del Reconocimiento para una Mujer Adulta 58 
Tabla 5.21. Resultados del Reconocimiento para una Niña 58 
Tabla 5.22. Análisis de PF (Factor de Peso) 61 
Tabla 5.23. Análisis de Costos 62 
Tabla 5.24. Análisis Total de Costo 62 
 
 
 
 
 
 
 
 
 
 
INDICE DE TABLAS 
 
 
1 
 
 
OBJETIVO GENERAL 
 
Diseñar un sistema de seguridad para el hogar que funcione en base al reconocimiento 
de voz. 
 
 
 
OBJETIVOS ESPECÍFICOS 
 
a) Aplicar métodos acústicos, matemáticos y físicos de la voz para identificar y reconocer 
a los dueños del hogar. 
 
b) Analizar la transmisión, aplicación y manipulación de las señales de voz para poderlas 
utilizar en el sistema de seguridad 
 
c) Aplicar un software que funcione como interfaz con el usuario y que además realice 
las comparaciones y cálculos necesarios para el reconocimiento de voz, en este caso se 
usó MATLAB. 
 
 
 
 
PLANTEAMIENTO DEL PROBLEMA 
 
Dado que en la actualidad es necesario tener mejores y más innovadores sistemas de 
seguridad que interactúen con el dueño y que sean capaces de tener un procesamiento 
de información veloz y precisa que les permita tomar decisiones rápidas y confiables. 
 
Se propone el diseño, implementación y mejora de sistemas de reconocimiento de voz, 
por medio de algoritmos implementados en un software (MATLAB) para analizar la señal 
capturada por un micrófono y obtener un mejor reconocimiento de la voz. 
 
 
 
 
 
 
 
 
OBJETIVOS 
 
 
2 
 
 
 
 
HIPOTESIS 
 
Al implementar un sistema de seguridad en el hogar por reconocimiento de voz en 
MATLAB la seguridad será mejor, eficaz y barata a largo plazo haciendo uso de los 
métodos de cuantificación de la señal de voz con ayuda de los coeficientes LPC y 
Cepstrum. 
 
Se hará uso del software MATLAB para desarrollar e implementar el reconocedor de voz, 
debido a que se está familiarizado con él y es mejor y más preciso que otros. 
 
 
 
 
JUSTIFICACION 
 
Debido a la inseguridad actual que se presenta en la Ciudad de México se realizara un 
sistema de seguridad para el hogar utilizando la voz, con la finalidad de proponer a los 
habitantes de la Ciudad un sistema capaz de resguardar su hogar. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
OBJETIVOS 
 
 
3 
 
Capítulo 1. Conceptos importantes en los 
Reconocedores de Voz 
 
 
INTRODUCCION 
 
En el presente trabajo se encuentra la propuesta de un desarrollo realizado para lograr 
un sistema de seguridad por reconocimiento de voz en un hogar, con el afán de facilitar 
el acceso a su domicilio y la seguridad de que solo esa persona podrá tener acceso a él. 
 
En la Actualidad los Sistemas de Reconocimiento de Voz han tenido un gran desarrollo y 
han sido importantes en la vida cotidiana. 
 
Primero se hará referencia a los conceptos básicos que debe de tener en cuenta para el 
desarrollo de un sistema de seguridad, así como algunas consideraciones con respecto 
al habla y a las señales de voz que se necesitan manejar. 
 
Se darán a conocer los diferentes tipos de Métodos que existen para el reconocimiento 
de Voz, así como las Etapas por las cuales debe pasar un reconocedor de voz para 
poder procesar la voz y manejarla por medio de software. 
 
Después se enfocara al planteamiento del problema relacionado con la realidad que vive 
México en cuanto a la delincuencia justificando el uso de los reconocedores de voz como 
sistemas de seguridad. 
 
Se generara una propuesta de un sistema de reconocimiento de voz tanto en el 
desarrollo como las observaciones que se obtuvieron dentro de él, aplicando los 
conceptos, métodos y etapas vistos. 
 
Por último se darán las conclusiones, observaciones y problemas encontrados del 
trabajo desarrollado así como un estudio socio-económico para calcular el costo del 
proyecto. 
 
1.1. Historia del Reconocedor de Voz 
La historia de los primeros Reconocedores de voz comienza hace 40 años pero los 
sucesos más importantes que se desarrollaron dentro de la industria fueron gracias a 
que AT&T introdujo su Sistema de reconocimiento de voz en 1992 para llamadas por 
cobrar, para a finales de 1993 procesaba 50 millones de llamadas al mes. En 1995 los 
teléfonos celulares ya ofrecían servicios de marcado activado por voz. 
 
En los 1990's en el sector Salud se inicia la generación de reportes clínicos por voz en 
salas de emergencia (fomentado por las empresas se seguros Blue Cross y Blue Shield). 
Posteriormente se amplió a diversas áreas de hospitales como radiología, cardiología, 
etc. 
CAPITULO 1: Conceptos importantes en los Reconocedores 
 
 
4 
 
En 1995 se desarrollan los primeros prototipos de aparatos electrodomésticos Whirlpool 
Corp. 
 
Actualmente las PC's integran utilerías de voz. Microsoft Corp.: Facilidades para 
construir objetos de comandos de voz (voice-commandobjects) en Win95. CreativeLabs 
integra Procesamiento automático en la mayoría de sus tarjetas soundblaster. Compaq y 
PureSpeech desarrollan conjuntamente tecnología de voz. SeagateTech compró 25% de 
DragonSystems. 
 
1.2. Orden Cronológico De los Reconocedores de Voz 
1870's Alexander Graham Bell: 
Quería construir un sistema/dispositivo que hiciera el habla visible a las personas con 
problemas auditivos. Resultado: el teléfono 
 
1880's Tihamir Nemes: 
Solicita permiso para una patente para desarrollar un sistema de transcripción 
automática que identificara secuencias de sonidos y los imprimiera (texto). Pero fue 
rechazado como "Proyecto no Realista" 
 
30 años después AT&T Bell Laboratories: 
Construye la primera máquina capaz de reconocer voz (basada en Templates) de los 10 
dígitos del inglés. Requería extenso reajuste a la voz de una persona, pero una vez 
logrado tenía un 99% de certeza. Por lo tanto surge la esperanza de que el 
reconocimiento de voz es simple y directo. 
 
A mediados de los 60's: 
La mayoría de los investigadores reconoce que era un proceso mucho más intrincado y 
sutil de lo que habían anticipado. Por lo tanto empiezan a reducir los alcances y se 
enfocan a sistemas más específicos: 
 Dependientes del Locutor. 
 Flujo discreto de habla (con espacios / pausasentre palabras) 
 Vocabulario pequeño (menor o igual a 50 palabras) 
 
Estos sistemas empiezan a incorporar técnicas de normalización del tiempo (minimizar 
diferencia en velocidad del habla) 
 
Además, ya no buscaban una exactitud perfecta en el reconocimiento.Después: 
IBM y CMV trabajan en reconocimiento de voz continuo pero no se ven resultados hasta 
los 1970's. 
 
CAPITULO 1: Conceptos importantes en los Reconocedores 
 
 
5 
 
 
Principios 1970's: 
Se produce el 1er Producto de reconocimiento de voz, el VIP100de 
ThresholdTechnology Inc. (utilizaba un vocabulario pequeño, dependiente del locutor, y 
reconocía palabras discretas). Gana el U.S. NationalAward en 1972. 
Luego: 
 
Nace el interés de ARPA del U.S. Department of Defense, y gracias al lanzamiento de 
grandes proyectos de investigación y financiamiento por parte del gobierno se precipita 
la época de la inteligencia artificial. 
 
El proyecto financiado por ARPA busca el reconocimiento de habla continua, de 
vocabulario grande. Impulsa que los investigadores se enfoquen al entendimiento del 
habla. 
 
Los sistemas empiezan a incorporar módulos de: 
 
 Análisis léxico (conocimiento léxico) 
 Análisis sintáctico (Estructura de Palabras) 
 Análisis semántico (Significado) 
 Análisis pragmático (Intención) 
 
80's a 90's: 
Surgen los sistemas de vocabulario amplio, que ahora son la norma. (Más de1000 
palabras). Adicionalmente bajan los precios de estos sistemas. 
Empresas importantes actualmente: 
 Philips 
 Lernout&Hauspie 
 SensoryCircuits 
 DragonSystems 
 Speechworks 
 Vocalis 
 Dialogic 
 Novell 
 Microsoft 
 NEC, Siemens, Intel (apoyo / soporte técnico), entre otros. 
 
 [3] 
 
1.3. Características de la señal de voz 
 
Los sistemas de reconocimiento de voz se enfocan en las palabras y los sonidos que 
distinguen una palabra de la otra en un idioma. Estas son los fonemas. Por ejemplo, 
"tapa", "capa", "mapa", "napa", son palabras diferentes puesto que su sonido inicial se 
reconoce como fonemas diferentes en español. 
CAPITULO 1: Conceptos importantes en los Reconocedores 
 
 
6 
 
 
Existen varias maneras para analizar y describir el habla. Los enfoques más 
comúnmente usados son: 
 
1. Articulación: Análisis de cómo el humano produce los sonidos del habla. 
2. Señal Acústica: Análisis de la señal de voz como una secuencia de sonidos. 
3. Percepción Auditiva: Análisis de cómo el humano procesa el habla. 
 
Los tres enfoques proveen ideas y herramientas para obtener mejores y más eficientes 
resultados en el reconocimiento. 
 
 
Figura 1.1.Proceso de Comunicación del Habla 
 
En la imagen anterior se observa que partes del oído intervienen en el proceso de 
comunicación del habla. 
 
1.3.1. Articulación 
 
La Articulación se compone del sistema fonador que es un conjunto de órganos que 
intervienen en la producción de sonidos. También llamado aparato bucal o articulatorio. 
El aparato fonador consiste en tres grupos de órganos diferenciados [Figura 1.2]: 
Órganos de respiración-cavidades infra-glóticas: pulmones, bronquios y tráquea. 
Órganos de fonación-cavidades glóticas: laringe, cuerdas vocales y resonadores -
nasal, bucal y faríngeo. 
Órganos de articulación-cavidad supra-glóticas: paladar, lengua, dientes, labios y 
glotis. 
 [2] 
CAPITULO 1: Conceptos importantes en los Reconocedores 
http://www.tartamudez.pro/2009/07/cuerdas-vocales.html
 
 
7 
 
 
 
Figura 1.2.Órganos del cuerpo que intervienen en el aparato fonador 
 
El correcto funcionamiento del aparato fonador, es controlado por el sistema nervioso 
central. Específicamente, se sabe que el control del habla se realiza en el área de 
Broca que se encuentra en el hemisferio izquierdo de la corteza cerebral. 
La articulación centra su atención en el aparato vocal: Garganta, boca, nariz, en donde 
se producen los sonidos del habla. 
 
 Garganta: Contiene las cuerdas vocales, cuya vibración produce los fonemas 
"hablados". 
 
 Boca y Nariz: "Cavidades de resonancia" por que refuerzan ciertas frecuencias 
sonoras. 
o Cuando el paladar suave baja y deja el aire pasar por la nariz se generan 
los fonemas nasales (/m/ /n/) 
 
o La boca consiste de: 
 
 Puntos de articulación 
 Dientes 
 Puente alveolar (puente óseo atrás de los dientes superiores) 
CAPITULO 1: Conceptos importantes en los Reconocedores 
http://www.tartamudez.pro/2009/07/sistema-nervioso-central.html
http://www.tartamudez.pro/2009/07/sistema-nervioso-central.html
http://www.tartamudez.pro/2009/05/area-de-broca.html
http://www.tartamudez.pro/2009/05/area-de-broca.html
http://www.tartamudez.pro/2009/07/hemisferio-izquierdo.html
http://www.tartamudez.pro/2009/07/corteza-cerebral.html
 
 
8 
 
 Paladar duro 
 Paladar suave o velum 
 Articuladores 
 Labios 
 Lengua 
[1] 
1.3.2. Señal Acústica 
 
Un reconocedor no puede analizar los movimientos en la boca. En su lugar, la fuente de 
información es la señal de voz misma. 
 
El Habla es una señal analógica, es decir, un flujo continuo de ondas sonoras y silencios. 
 
El conocimiento de la ciencia de la acústica se utiliza para identificar y describir los 
atributos del habla que son necesarios para un reconocimiento de voz efectivo. 
 
Algunas características importantes del análisis acústico son: 
 
 Frecuencia y amplitud 
 
Todos los sonidos causan movimientos entre las moléculas del aire. Algunos sonidos, 
tales como los que produce una cuerda de guitarra, producen patrones regulares y 
prolongados de movimiento del aire. Los patrones de sonidos más simples son los 
sonidos puros (pure tones), y se pueden representar gráficamente por una onda sinoidal. 
 
 
Frecuencia: Número de vibraciones (ciclos) del tono por segundo 100 por segundo = 100 
ciclos/segundo = 100 Hz. 
Tonos altos = Mayor frecuencia 
Tonos bajos = Menor frecuencia 
 
El volumen de un sonido refleja la cantidad de aire que es forzada a moverse. Se 
describe y representa como amplitud de la onda y se mide en decibeles dB. 
 [2] 
 
 Resonancia 
 
La resonancia se define comúnmente como la habilidad que tiene una fuente vibrante de 
sonido de causar que otro objeto vibre gracias a ella. 
 
La mayoría de los sonidos incluyendo del habla tienen una frecuencia dominante llamada 
frecuencia fundamental también conocida como pitch (tono) que se combina con 
frecuencias secundarias en el habla, la frecuencia fundamental es la velocidad a la que 
vibran las cuerdas vocales al producir un fonema sonoro. 
 
CAPITULO 1: Conceptos importantes en los Reconocedores 
 
 
9 
 
Sumadas a la frecuencia fundamental hay otras frecuencias que contribuyen al timbre 
del sonido. (Son las que nos permiten distinguir una trompeta de un violín, etc. o las 
voces de diferentes personas) 
 
Algunas bandas de la frecuencia secundarias juegan un rol importante en la distinción de 
un fonema de otro. Se les llama formantes y son producidas por la resonancia. 
 
La garganta, boca y nariz son cámaras de resonancia que amplifican las bandas o 
frecuencias formantes contenidas en el sonido generado por las cuerdas vocales. Estas 
formantes amplificadas dependen del tamaño y forma de la boca y si el aire pasa o no 
por la nariz. 
 
Los patrones de las formantes son más fuertes (distinguibles) para vocales que para las 
consonantes no sonoras. 
 
 Estructura Armónica y Ruido 
 
El habla no es un tono puro es continuación de múltiples frecuencias y se representa 
como una onda compleja. 
 
Vocales se componen de 2 o más ondas simples son ricos en frecuencias secundarias y 
contienen estructuras internas que incluyen ondas cíclicas y a cíclicas. 
 
Las ondas a cíclicas no tienen patrones repetitivos generalmente llamados ruido forman 
parte de todos los fonemas sonoros, consonantes y semivocales. 
 
Las frecuencias y características de los patrones a cíclicos proveen información 
importante sobre la identidad de los fonemas. 
 
La identidad de las consonantes también se revela por el cambio en las formantes que 
resultan cuando los articuladores se mueven de un fonema anterior a la consonante y de 
ella al siguiente fonema llamadas transiciones deformantes. Estas se analizan utilizando 
técnicas como la transformada rápida de Fourier (FFT) generando espectrogramas. 
 
La complejidad de las formas de onda de los fonemas y las constantes transiciones de 
un patrón a otro dificultan el análisis de los patrones utilizando las representaciones 
complejas de las ondas. 
 
Los patrones armónicos y de ruido se muestran con más claridad utilizando los 
espectrogramas de banda ancha. 
 
La localización (la distancia entre ellas) y cambio en las formantes ayudan a identificar 
fonemas y palabras. 
 
CAPITULO 1: Conceptos importantes en los Reconocedores 
http://cslu.cse.ogi.edu/tutordemos/SpectrogramReading/ipa/formants.html
http://cslu.cse.ogi.edu/tutordemos/SpectrogramReading/spectrogram_reading.html
 
 
10 
 
 Coarticulación 
 
Los fonemas aparentemente tienen parámetros acústicos claramente definidos, pero 
más bien, los fonemas tienden a ser abstracciones implícitamente definidas por la 
pronunciación de palabras en un lenguaje. 
 
La forma acústica de un fonema depende fuertemente del contexto acústico en el que 
sucede a éste efecto se le llama coarticulación. 
 
Investigadores, utilizan este concepto para distinguir entre la característica conceptual de 
un sonido del habla (fonema) y una instancia o pronunciación específica de ese fonema 
(tono). 
 [1] 
 
 
1.3.3. Percepción Auditiva 
 
La variabilidad del habla producida por coarticulación y otros factores hacen del análisis 
de la voz extremadamente difícil. 
 
La facilidad del humano en superar estas dificultades sugiere que un sistema basado en 
la percepción auditiva podría ser un buen enfoque desafortunadamente el conocimiento 
de la percepción humana es incompleto, lo que se sabe es que el sistema auditivo está 
adaptado a la percepción de la de voz. 
 
El oído humano detecta frecuencias de 20Hz a 20,000 Hz pero es más sensible al rango 
entre 1000 y 6000 Hz. También es más sensible a cambios pequeños en la frecuencia 
en el ancho de banda crítico para el habla. Además el patrón de sensibilidad a cambios 
en el tono (pitch) no corresponde a la escala lineal de frecuencias de ciclos por segundo 
de la acústica. 
 
Para representar mejor al patrón de percepción acústica, se tiene una escala llamada 
mel-scale, la cual es una escala logarítmica que representa los niveles de la señal. 
 
El humano no procesa frecuencias individuales independientemente, como lo sugiere el 
análisis acústico. En su lugar escucha grupos de frecuencias por lo cual es capaz de 
distinguirlas de ruidos alrededor. 
 
 
 
CAPITULO 1: Conceptos importantes en los Reconocedores 
 
 
11 
 
1.4. Funcionamiento de un sistema de Reconocimiento de 
Voz 
 
El reconocimiento de voz generalmente es utilizado como una interfaz entre humano y 
computadora para algún software. 
 
Debe cumplir 3 tareas: 
 
 Pre-procesamiento: Convierte la entrada de voz a una forma que el reconocedor 
pueda procesar. 
 
 Reconocimiento: Identifica lo que se dijo (traducción de señal a texto). 
 
 Comunicación: Envía lo reconocido al sistema (Software/Hardware) que lo 
requiere. 
 
Componentes en una aplicación: 
 
 
 
Figura 1.3. Diagrama a Bloques del Proceso General 
Del Reconocimiento de voz 
 
Existe una comunicación bilateral en aplicaciones, en las que la interfaz de voz está 
íntimamente relacionada al resto de la aplicación. Estas pueden guiar al reconocedor 
especificando las palabras o estructuras que el sistema puede utilizar. Otros sistemas 
sólo tienen una comunicación unilateral. 
 
Los Procesos de pre-procesamiento, reconocimiento y comunicación deberían ser 
invisibles al usuario de la interfaz. El usuario lo nota en el desempeño del sistema de 
manera indirecta como: certeza en el reconocimiento y velocidad. Estas características 
las utiliza para evaluar una interfaz de reconocimiento de voz. 
 [6] 
CAPITULO 1: Conceptos importantes en los Reconocedores 
 
 
12 
 
Capítulo 2. Métodos y Etapas para el Reconocimiento 
de Voz 
 
En este Capítulo se darán a conocer los diferentes tipos de Métodos que existen para el 
reconocimiento de Voz, así como las Etapas por las cuales debe pasar un reconocedor 
de voz para poder procesar la voz y manejarla por medio de software. 
 
2.1. Digitalización de la señal de Voz 
 
Para poder manipular la señal de voz este debe de ser transformada a una señal digital 
para poder ser utilizada por el software de programación, este proceso se lleva a cabo 
en etapas con consideraciones variables que hacen que la adquisición de la señal sea 
de forma correcta. 
 
2.1.1. Codificación de la señal de voz 
 
La codificación de una señal se refiere al método para convertir digitalmente el habla 
para utilizarlo en diversos ambientes, desde juguetes parlantes, CD’s hasta 
transmisiones vía telefónica. 
 
Para utilizar la voz como dato en aplicaciones tan diversas como el voice mail, 
anotaciones en un texto o un directorio parlante, es necesario almacenar la voz de 
manera que una computadora pueda recuperarla. 
 
La presentación digital de la voz nos provee también con las bases para el 
reconocimiento y síntesis de voz. 
 
El método convencional o secuencial de almacenamiento de datos, la cinta magnética 
requiere que se le adelante y regrese hasta encontrar la posición buscada. Es propensa 
a daño mecánico, no se pueden editar (cut/paste) y no duran mucho tiempo en uso. 
 
Algunos factores que se deben de considerar para codificar la señal dependiendo del 
uso que se le dé son: 
 
 Memoria y Ancho de banda necesario para flexibilidad de uso. 
 Costo de transmisión. 
 Rangos de calidad 
 Aplicación. 
 Codificadores de Voz. 
 Inteligibilidad: La mayor calidad posible 
 Error e inteligibilidad. 
 Edición Simple. 
 Eliminación del silencio: Ahorrar espacio 
 Time-scaling: Reproducción más rápida. 
CAPITULO 2: Métodos y Etapas para Reconocimiento de Voz 
 
 
13 
 
 Adaptación de Velocidad 
 Robustez 
 
2.1.2. Muestreo y Cuantización 
 
El habla es una señal continua y varia en el tiempo. Las variaciones en la presión del 
aire se irradian desde la cabeza y se transmiten por el aire. 
 
Un micrófono convierte esas variaciones en presión del aire a variaciones en voltaje. Una 
señal Análoga se puede transmitir a través de un circuito telefónico (voltaje) o 
almacenados en una cinta magnética (flujo magnético). 
 
En el Mundo Real los estímulos sensoriales son análogos. Sin embargo, para las 
computadoras es necesario digitalizar la señal (primera fase del procesamiento de la 
señal) 
 
Para esto se usan series de valores numéricos con una frecuencia regular (frecuencia de 
muestreo). El número posible de valores está limitado por el número de bits disponible 
para representar a cada muestra. 
 
 
 
Figura 2.1. Diferentes tipos de Transductores Eléctrico – Acústicos 
CAPITULO 2: Métodos y Etapas para Reconocimiento de Voz 
 
 
14 
 
 Muestreo 
 
El muestreo asigna un valor numérico a la señal en unidades discretas de tiempo 
constante dependiendo de la frecuencia Nyquist que específica la frecuencia máxima a 
la que una señal puede reproducirse completamente. 
 
El teorema de Nyquist establece que: 
 
Frecuencia muestreo = 2 veces la frecuencia máxima de la señal para poder 
reproducirla. 
 
Para poder reproducir la señal análoga debe pasar por un filtro pasa-bajas a la 
frecuencia de muestreo (quitar ruidos creados por el muestreo). 
 
 
 
 
Figura 2.2. Señales Senoidales Muestreadas a diferentes valores 
 
Si la señal varía más rápido se requiere una T más pequeña por lo tanto un menor ancho 
de banda de frecuencias. 
 
El humano produce señales de Voz desde los 100(hombre)-400(mujer) Hertz hasta los 
15000Hz. Teléfono: 3100Hz por lo tanto se muestrea a 8000 Hz, inteligible pero baja 
calidad. Comparado con un CD, se muestrea a 44.1Hz. 
 
El ancho de banda es mayor para instrumentos quepara voz. Pero la diferencia es 
audible. Por lo tanto se requiere mayor espacio para almacenar y transmitirla. 
 
 
CAPITULO 2: Métodos y Etapas para Reconocimiento de Voz 
 
 
15 
 
 Cuantización 
 
La cuantizacion consiste en que cada muestra se representa con un valor digital 
limitando el rango de valores discretos correspondiente a la original. 
 
Ejemplo: 
 
Utilizando 4 bits se pueden representar 16 valores diferentes. 
 Con 8 bits ya son 256 valores. 
 
 
 
Figura 2.3. Señal Cuantizada con 4 y 16 bits respectivamente 
 
Esto se puede ver como la resolución: 
1. El error o diferencia entre la señal original y la reconstruida se percibe como 
ruido. 
 
2. Por lo tanto, a mayor resolución mayor cuantización y menor ruido como 
consecuencia. 
 
3. La resolución (# de bits por muestra) se describe generalmente en términos de la 
relación señal-a-ruido (signaltonoise ratio o SNR). 
 
4. A mayor SNR es mayor la fidelidad de la señal digitalizada. 
 
5. SNR aproximadamente 2^B (B=bits/muestra) 
 
6. Es independiente de la frecuencia de muestreo. 
Existen diferentes técnicas de cuantizacion: 
 
 Cuantización uniforme 
 Cuantización no uniforme 
 Cuantización logarítmica 
 Cuantización vectorial 
 
CAPITULO 2: Métodos y Etapas para Reconocimiento de Voz 
 
 
16 
 
 Cuantificación uniforme 
 
En los cuantificadores uniformes o lineales la distancia entre los niveles de 
reconstrucción es siempre la misma, la mayoría usan un número de niveles que es una 
potencia de 2. No hacen ninguna suposición acerca de la señal a cuantificar, de allí que 
no proporcionen los mejores resultados. 
 
Su ventaja es que son más fáciles y económicos al implementarlos. 
 
 
Figura 2.4. Señal Cuantizada Uniformemente 
 
 Cuantificación no uniforme 
El problema de la cuantificación uniforme es que conforme aumenta la amplitud de la 
señal, también aumenta el error. Este problema lo resuelve el cuantificador logarítmico 
de forma parcial. Sin embargo, si conocemos la función de la distribución de 
probabilidad, podemos ajustar los niveles de reconstrucción a la distribución de forma 
que se minimice el error cuadrático medio. Esto significa que la mayoría de los niveles de 
reconstrucción se den en la vecindad de las entradas más frecuentes y, 
consecuentemente, se minimice el error (ruido). 
 
Figura 2.5. Señal Cuantizada No Uniformemente 
 
CAPITULO 2: Métodos y Etapas para Reconocimiento de Voz 
 
 
17 
 
 Cuantificación logarítmica 
 
Las señales de voz pueden tener un rango dinámico superior a los 60 dB, por lo que 
para conseguir una alta calidad de voz se deben usar un elevado número de niveles de 
reconstrucción. Sin embargo, interesa que la resolución del cuantificador sea mayor en 
las partes de la señal de menor amplitud que en las de mayor amplitud. Por tanto, en la 
cuantificación lineal se desperdician niveles de reconstrucción y, consecuentemente, 
ancho de banda. Esto se puede mejorar incrementando la distancia entre los niveles de 
reconstrucción conforme aumenta la amplitud de la señal. 
 
Para evitar desperdicio de niveles de reconstrucción y de ancho de banda se utiliza un 
método sencillo para mejorar el incremento de la distancia entre los niveles de 
reconstrucción conforme aumenta la amplitud de la señal. Para conseguir esto se hace 
pasar la señal por un compresor logarítmico antes de la cuantificación. Esta señal 
comprimida puede ser cuantificada uniformemente. A la salida del sistema la señal pasa 
por un expansor. A esta técnica se le llama compresión. 
 
 Cuantificación vectorial 
 
Este método cuantifica los datos en bloques de N muestras. En este tipo de 
cuantificación, el bloque de N muestras se trata como un vector N-dimensional. La 
cuantificación vectorial ofrece mejores resultados que la cuantificación escalar, sin 
embargo, es más sensible a los errores de transmisión y lleva consigo una mayor 
complejidad computacional. 
 [4,6,9] 
2.2. Métodos de Reconocimiento de voz 
 
En el reconocimiento del habla, la señal de voz se ingresa a un procesamiento para 
producir una representación de la voz en forma de secuencia de vectores o 
agrupaciones de valores que se denominan parámetros, que deben representar la 
información contenida en la envolvente del espectro. 
 
Hay que tener en cuenta que el número de parámetros debe ser reducido, para no 
saturar la base de datos, ya que mientras más parámetros tenga la representación 
menos fiables son los resultados y más costosa la implementación. 
 
Existen distintos métodos de análisis para la extracción de características, y se 
concentran en diferentes aspectos representativos. En este trabajo de tesis utilizaremos 
los dos de mayor importancia para el análisis de la voz tomando en cuenta su 
predecesor de Aproximación en base a plantillas: 
 
 Análisis de predicción lineal (LPC) 
 Análisis Cepstral [8] 
CAPITULO 2: Métodos y Etapas para Reconocimiento de Voz 
 
 
18 
 
2.2.1. Aproximación en base a plantillas 
 
Teoría que ha dado lugar a toda una familia de técnicas de reconocimiento de voz, 
causando un considerable avance durante las décadas de los 70’s y 80’s. 
 
 
 
Figura 2.6. Procesos en la que la señal obtiene sus características principales 
 
El principio es simple, se almacenan patrones de voz típicos (templates) como modelos 
de referencia en un diccionario de palabras candidato. El reconocimiento se lleva a cabo 
comparando la expresión desconocida a los patrones almacenados (templates) 
seleccionando el que más se le parece usualmente se construye patrones para las 
palabras completas. 
 
Ventaja: Se evitan errores debidos a la segmentación o clasificación de unidades 
pequeñas que pueden variar mucho acústicamente, como los fonemas. 
 
Desventaja: Cada palabra requiere de su patrón y el tiempo de preparar y compararlos 
se vuelve demasiado al incrementarse el tamaño del vocabulario. 
 
Inicialmente se pensaba que se restringía sólo a reconocimiento dependiente del locutor. 
Sin embargo se logro un reconocimiento independiente del loc. Utilizando técnicas de 
Cluster para generar automáticamente grupos de patrones para cada palabra del 
vocabulario. 
 
También pasó de ser para el reconocimiento de palabras aisladas a habla continua 
utilizando técnicas de programación dinámica para encontrar la mejor cadena de 
patrones. 
 
 Medición de características. 
 
Se trata básicamente de una técnica de reducción de datos en la cual el gran número de 
datos en la señal grabada es transformado en un grupo más pequeño de características 
que describen las propiedades importantes de la señal. 
 
CAPITULO 2: Métodos y Etapas para Reconocimiento de Voz 
 
 
19 
 
El tipo de características que se calculan depende de: 
1. Tiempo para calcularlas 
2. Espacio para almacenarlas 
3. Facilidad de Implementación. 
 
Análisis mediante banco de filtros, Una muestra de voz se puede aproximar como una 
combinación lineal de muestras anteriores. 
 
 Determinación de similitud entre patrón de referencia de voz y 
serial capturada. 
 
R(t) T(t) 
 
Se busca una función de alineamiento w(t) que mapee R y las partes correspondientes 
de T. 
 
El criterio de correspondencia es la minimización de una medida de distancia D(T,R) 
Por lo tanto se busca una w(t) tal que mística d(T(t), R(W(t))) función de ponderación 
deriva de w(t) 
 
D(T,R)= min INTEGRAL 
dw(t) 
 
Se buscan una alineación en tiempo "optima" a través de una curva que relacione el eje 
de tiempo m de R al eje de tiempo del patrón T. 
 
m=w(n) 
Restricciones w(I)=1 
W(NT)=NR 
 
Para determinar el tipo de la alineación se propusieron diversas técnicas: 
1. Alineamiento lineal m=w(n)=(n-1)[(NR-1)/(NT-1)]+1 
2. Mapeo de eventos temporales (significativos) en ambos patrones 
3. Máxima Correlación se varía la función para maximizar la correlación entre RyT 
4. Dynamic Time Warping (se calcula la distancia entre Ry T) 
Se debe encontrar una medida que indique qué tan similares con los patrones R y T. 
Para ello es necesario alinearlos de alguna forma. 
 
 [5,8] 
 Reglas de decisión 
 
El candidato con la menor distancia o una lista ordenada por distancias (de menos a 
mayor) Se usa cuando se tienen varios patrones de referencia para cada cantidad R. 
 
CAPITULO 2: Métodos y Etapas para Reconocimiento de Voz 
 
 
20 
 
2.2.2. Predicción Lineal 
 
Se trata de una de las técnicas más potentes de análisis de voz, y uno de los métodos 
más útiles para codificar voz con buena calidad. 
 
Su función es representar la envolvente espectral de una señal digital de voz en una 
forma comprimida, utilizando la información de un modelo lineal, con lo cual se 
proporcionan unas aproximaciones a los parámetros de la voz muy precisas. 
 
Se fundamenta en establecer un modelo de filtro de tipo “todo polo”, para la fuente de 
sonido, el filtro “todo polo” justifica su uso ya que permite describir la función de 
transferencia de un tubo, que sin perdidas está formado por diferentes secciones. 
 
El modelo recibe este nombre porque pretende extrapolar el valor de la siguiente 
muestra de voz s(n) como la suma ponderada de muestras pasadas: 
 
s(n) = s(n-1), s(n-2),…, s(n-K)……(2.1) 
 
 Estimación de los LPC 
 
Una estima o predicción de s(n) basada en p muestras anteriores, puede calcularse 
como lo muestra la siguiente fórmula: 
 
 ( ) ∑ ( )
 
 
 ( ) 
 
y el error de predicción se obtiene de: 
 
 ( ) ( ) ∑ ( )
 
 
 ( ) 
 
Los LPC se obtienen minimizando un criterio cuadrático en los errores de predicción, 
para cada cuadro en que es dividido el segmento de voz. 
 
El número de coeficientes LPC que se obtienen dependen la frecuencia de muestreo 
como se indica en la siguiente fórmula: 
 
 (
 
 
) ( ) 
 
 
 [5] 
 
CAPITULO 2: Métodos y Etapas para Reconocimiento de Voz 
 
 
21 
 
2.2.3. Análisis Cepstral 
 
Como se sabe los sonidos de la voz se pueden representar mediante un espectrograma, 
que indica las componentes frecuenciales de la señal de voz. 
 
Es así entonces como el espectro nos proporciona información acerca de los parámetros 
del modelo de producción de voz, tanto de la excitación como del filtro que representa el 
tracto vocal. Estos coeficientes fueron utilizados solo para mostrar la señal acústica no 
se usaron para cálculos, estimaciones, etc. 
 
2.3. Diagrama de Flujo del Reconocedor de Voz 
 
El siguiente diagrama de flujo muestra las acciones que deben seguirse para que el 
Reconocedor de Voz funcione. 
 
 
Figura 2.7. Diagrama de Flujo de un Reconocedor de Voz 
CAPITULO 2: Métodos y Etapas para Reconocimiento de Voz 
 
 
22 
 
2.4. Etapas del Reconocimiento de Voz 
 
Las etapas para el correcto funcionamiento de un Reconocedor de Voz se mencionan a 
continuación. 
 
2.4.1. Generación de la Señal Acústica 
 
 
Figura 2.8. Diagrama de generación de la señal acústica 
 
2.4.2. Conversión A/D o Adquisición 
 
 
Figura 2.9. Diagrama de la adquisición de Voz 
 
 Obtención de la señal por el micrófono 
 
El micrófono es un transductor electro-acústico. Su función es la de transformar la 
presión acústica ejercida sobre su capsula por las ondas sonoras en energía eléctrica. 
 
Cuando un micrófono está operando las ondas de sonido hacen que vibre el elemento 
magnético del micrófono causando una corriente eléctrica hacia la tarjeta de sonido, 
donde el convertidor A/D básicamente graba los voltajes eléctricos en intervalos 
específicos. 
 
 
 Muestreo 
 
El muestreo es para transformar una señal analógica o señal continúa a una señal digital 
o discreta, es decir de la señal original (analógica) se toman muestras cada determinado 
tiempo y se hace una copia de su valor en tiempos definidos, de esta forma surge la 
frecuencia de muestreo que es la cantidad de muestras que se tienen de una señal en 
una unidad de tiempo y se mide en Hz (ciclos por segundo). 
 
CAPITULO 2: Métodos y Etapas para Reconocimiento de Voz 
 
 
23 
 
 
 
 
Figura 2.10. Señal tratada Digitalmente para ser muestreada 
 
La frecuencia de audio que percibe el ser humano está entre los 20 Hz y 20kHz, 
frecuencias más elevadas el oído humano no lo percibe. 
 
La frecuencia de la voz se encuentre entre frecuencias de 100Hz a 8kHz. 
 
 [4] 
 Resolución o Cuantificación 
 
El proceso de cuantificación es uno de los pasos que se siguen para lograr 
la digitalización de una señal analógica. Este proceso es convertir una sucesión de 
muestras de amplitud continua en una sucesión de valores discretos preestablecidos 
según el código utilizado. 
Durante el proceso de cuantificación se mide el nivel de tensión de cada una de las 
muestras, obtenidas en el proceso de muestreo, y se les atribuye un valor finito de 
amplitud, seleccionado por aproximación dentro de un margen de niveles previamente 
fijado. 
La cuantificación más comúnmente usada, es de 8 bits, mínimo requerido para una 
calidad baja, puede mejorarse su S/R con una técnica no lineal de cuantificación, se 
obtienen excelentes resultados aumentando la cuantificación a 16 bits. 
 [3,4] 
 
 
 
CAPITULO 2: Métodos y Etapas para Reconocimiento de Voz 
http://es.wikipedia.org/wiki/Conversi%C3%B3n_anal%C3%B3gica-digital
http://es.wikipedia.org/wiki/Se%C3%B1al_anal%C3%B3gica
http://es.wikipedia.org/wiki/Amplitud_(sonido)
http://es.wikipedia.org/wiki/Tensi%C3%B3n_(electricidad)
http://es.wikipedia.org/wiki/Muestreo_digital
http://es.wikipedia.org/wiki/Amplitud_(sonido)
 
 
24 
 
 Ganancia 
 
El siguiente paso es amplificar las señales a niveles que sean manejables. La señal 
vocal tiene componentes de frecuencia que pueden llegar a los 10 kHz., sin embargo la 
mayor parte de los sonidos vocales tiene energía espectral significativa hasta los 5 Khz. 
solamente los sonidos fricativos poseen componentes que pueden llegar a los 10 kHz. 
Para tomar y no eliminar información se debe amplificar la ganancia. 
 
2.4.3. Pre-procesamiento 
 
 
Figura 2.11. Diagrama de la digitalización de la señal de Voz 
 
Para el análisis de la señal de voz se realiza un pre-procesamiento de la señal vocal. 
Esto sucede a través de técnicas que permitan extraer la información acústica 
directamente a partir de la señal vocal emitida, se realiza el muestreo y algún tipo de 
cuantizacion. 
 [3] 
 
2.4.4. Eliminación de Ruido y Normalización 
 
 
Figura 2.12. Diagrama de eliminación de ruido y Normalización 
 
Primero se realiza un filtrado de la señal para reducir los efectos del ruido que acompaña 
la señal de voz ingresada, sin este filtrado se tendrían datos que no necesitamos. 
 
También se hace una segmentación, esto es detectar el inicio y final de la señal de voz 
para eliminar el ruido inicial y final, esto ayuda a optimizar memoria y hacer más veloz el 
tiempo de cálculo para comparaciones y por supuesto evitar errores, para hacer esto se 
hace uso del nivel de energía. 
 
 
CAPITULO 2: Métodos y Etapas para Reconocimiento de Voz 
 
 
25 
 
2.4.5. Filtro Pre-énfasis 
 
Se aplica un filtro digital pasa altas de primer orden a la señal, para enfatizar las 
frecuencias altas de los formantes por dos razones, primero para que no se pierda 
información durante la segmentación, ya que la mayoría de la información está contenida 
en las frecuencias bajas, en segundo remueve la componente DC de la señal, aplanando 
espectralmente la señal. 
 
 
Figura 2.13. Diagrama de los filtros de énfasis 
 [8] 
2.4.6. Segmentación 
 
La segmentación consiste en cortar la señal en segmentos de análisis. La señal de voz 
es asumida como estacionaria en estos segmentos. 
 
Durante la segmentación los segmentos son guardados cada uno como la columna de 
una matriz, para el posterior procesamiento de la señalde voz. 
 
Para el proceso una ventana de Hamming de 30ms es aplicada a la señal de voz, 
enfatizada previamente con el filtro de pre-énfasis. Con un desplazamiento típico 10ms 
entre cada ventaneo. 
 
 
Figura 2.14. Diagrama de segmentación, ventaneo y recorte de la señal acústica 
 [9] 
 
CAPITULO 2: Métodos y Etapas para Reconocimiento de Voz 
 
 
26 
 
 
2.4.7. Extracción de las características 
 
 
 
Figura 2.15. Diagrama que explica los procesos de extracción de características 
 
En este paso se utiliza el método de Predicción lineal para obtener coeficientes LPC y 
con ayuda de Cepstrum entender el espectro frecuencia de la señal que se va a 
reconocer. 
 [9] 
 
2.4.8. Calculo de Distancia 
 
Una característica fundamental de los sistemas de reconocimiento es la forma en que los 
vectores característicos son combinados y comparados con los patrones de referencia. 
 
Para poder realizar estas operaciones es necesario definir una medida de distancia entre 
los vectores característicos. 
 
Algunas de las medidas de distancia más utilizadas son las distancias o métricas 
inducidas por las normas en espacios Lp. 
 
En el algoritmo de reconocimiento en MATLAB se utiliza una distancia Euclidea, definida 
del siguiente modo: por ejemplo si fi y fi’, con i=0, 1, 2,…, D son las componentes de dos 
vectores característicos f y f’, puede definirse la siguiente métrica inducida por la norma 
Lp: 
 
………(2.5) 
 
Figura 2.16. Formula que muestra el cálculo realizado para obtener las distancias 
 
 
 
CAPITULO 2: Métodos y Etapas para Reconocimiento de Voz 
 
 
27 
 
 
En el algoritmo primero se define el tamaño del mayor vector, y se calcula con la formula 
anterior la distancia entre el vector de la palabra a reconocer y cada uno de los vectores 
de referencia en la base de datos, luego se hacen las condiciones para obtener la menor 
distancia, con lo cual se encuentra la palabra identificada en la base de datos. 
 
 
Figura 2.17. Diagrama que muestra el proceso para obtener y comparar las distancias 
 
 
2.4.9. Toma de Decisión 
 
La toma de decisión se hace en cuestión de la diferencia entre las distancias de la señal 
graba que tiene su base de datos y la señal que se está comparando, se toma la 
decisión para aquella que cumpla con la menor distancia y cumpla ciertas condiciones, 
como tener mayor numero acertado de coeficientes LPC o la envolvente de esta señal es 
muy parecida a la envolvente de la señal grabada en base de datos. 
 
 
 
 
 
 
 
 
 
 
 
 
CAPITULO 2: Métodos y Etapas para Reconocimiento de Voz 
 
 
28 
 
Capítulo3. Planteamiento del Problema 
 
La inseguridad ciudadana se ha convertido en uno de los grandes desafíos de las 
sociedades contemporáneas. El impacto del fenómeno sobre la calidad de vida de los 
ciudadanos obliga a los gobiernos nacionales, locales y a los sectores organizados de la 
sociedad, a diseñar esquemas alternativos a los existentes, siendo su propósito el 
disminuir los niveles de inseguridad, sin sacrificar el avance de la Democracia y el 
respeto por los Derechos Humanos y las Garantías Ciudadanas. 
La seguridad es un pre requisito básico para que las personas puedan satisfacer sus 
necesidades básicas y desarrollar sus potencialidades como seres humanos, se ha 
constituido como un Derecho Humano exigible. 
El robo a casa habitación es uno de los delitos cuya incidencia ha aumentado en la 
ciudad de México, de acuerdo con un estudio de la empresa Multisistemas de Seguridad 
Industrial. 
 
Figura 3.1.Peligros En México 
 
De acuerdo con estadísticas dadas a conocer por funcionarios de la Secretaría de 
Seguridad Pública y de la Procuraduría General de Justicia (PGJDF), ambas del Distrito 
Federal, así como el Consejo Ciudadano de Seguridad Pública y Procuración de Justicia, 
en 68 por ciento de robos a casa habitación la víctima fue abordada cuando llegaba a su 
domicilio; 20 por ciento abrieron la puerta al asaltante, quien se hace pasar por prestador 
de algún servicio y en 12 por ciento el atraco ocurrió cuando no había nadie en la 
vivienda. 
 
 
CAPITULO 3: Planteamiento del Problema 
http://www.monografias.com/trabajos16/evolucion-sociedades/evolucion-sociedades.shtml
http://www.monografias.com/trabajos/democracia/democracia.shtml
http://www.monografias.com/Derecho/index.shtml
 
 
29 
 
El subprocurador de Averiguaciones Previas Desconcentradas de la PGJDF, Hiram 
Almeida Estrada, indicó que la mayor incidencia de ese ilícito es en las delegaciones 
Tlalpan, Gustavo A. Madero e Iztapalapa. 
 
Figura 3.2. Intento de robo en México 
La tecnología puede ser una herramienta sumamente útil y poderosa para reducir el 
riesgo a ser víctimas de la inseguridad. Proponer y diseñar un sistema tecnológico 
ayudara a reducir los riesgos de ser víctimas de un robo a domicilio, es vital para el 
desarrollo de satisfacer la necesidad de vivir seguro y confiado al ciudadano. 
 
 
 
 
 
 
 
 
Figura 3.3.Tecnología de Protección y/o seguridad 
 
 
 
 
CAPITULO 3: Planteamiento del Problema 
 
 
30 
 
Es de enfoque el ingreso o acceso al hogar por ello se toman medidas para limitar el 
acceso a personas desconocidas y las funciones que pueden realizar dentro de este, 
como encender luces, entrar a diferentes habitaciones, hacer uso de teléfono etc. De 
esta forma el dueño y su familia podrán sentirse seguros de vivir en un lugar controlado 
por ellos. 
Usando tecnología eficiente y accesible para personas de cualquier nivel social se 
pretende dar un servicio de seguridad al ciudadano, estando dentro y fuera de su hogar. 
 
 
Figura 3.4.Seguridad en el hogar (Entrada principal) 
 
 
 
 
 
 
 
 
 
CAPITULO 3: Planteamiento del Problema 
 
 
31 
 
4. Desarrollo de un Sistema de Seguridad por 
Reconocimiento de Voz 
 
4.1. Metodología 
 
Dentro de la metodología del proyecto se requiere: 
 Generar una base de datos. 
 Filtrar y normalizar la señal adquirida. 
 Obtener sus coeficientes LPC. 
 Comparación de los coeficientes LPC según la distancia. 
 Permitir o denegar el acceso. 
Primeramente para la base de datos se realizan 5 grabaciones del usuario, las cuales se 
hicieron con un micrófono y en formato .WAV a través de MATLAB a 22 KHz de 
muestreo y 16 bits de resolución. 
Posteriormente se hizo el filtro que elimina el ruido y aumentaba su energía para que las 
grabaciones sean parecidas a sus parámetros (Normalización). 
Al tener las 5 muestras sin ruido y normalizadas se obtiene el promedio de estas para 
tener una única señal promediada con la señal de voz del usuario. 
Los coeficientes LPC se obtienen con una función dentro de MATLAB, el número de 
coeficientes que se utilizan son 25, dado por la siguiente ecuación: 
 (
 
 
) ………….(3.1) 
Con esto se obtienen vectores de 25 coeficientes LPC para cada una de las señales, que 
se comparan en distancia para obtener la relación entre la señal grabada y las 3 señales 
guardadas en la base de datos. 
La medida de la distancia se realiza elemento por elemento uno a uno, entre la señal de 
voz grabada y alguna de la de la base de datos. 
Al final de la medición de las distancias se suman los coeficientes que tengan menos del 
rango dado por el programa para dar el número exacto de coeficientes LPC en que se 
parecen las señales. 
Este procedimiento se realiza 3 veces comparando la señal grabada con cada una de las 
bases de datos. 
La toma de decisión se hace en base a que la señal grabada debe tener como mínimo 
cierto número de coeficientes LPC, que se parecen a la señal almacenada en la base de 
datos de ese usuario, si alguna de esas relaciones supera ese mínimo se da por hecho 
que la voz grabada es de ese usuario, por lo cual el programa reconoce a la persona y le 
CAPITULO 4: Desarrollo de Un sistema de Seguridad 
 
 
32 
 
da acceso al sistema, si ninguna delas relaciones supera el mínimo para alguna de las 3 
personas el programa manda un error de que no se reconoció, negando el acceso al 
sistema a la persona que grabo. 
 
4.2. Micrófono 
 
Las características principales del Micrófono, con el cual la adquisición de la señal de 
voz es posible, son las siguientes: 
 
 Suprime ruidos de funcionamiento no deseados. 
 El protector contra viento y el interruptor de filtro pasa-altas evitan las 
interferencias del viento o ruidos de baja frecuencia. 
 Cuenta con un cuerpo de dimensiones reducidas para poder utilizarlo 
cómodamente. 
 Ofrece la manera ideal de grabar un sonido nítido y claro. 
El principal inconveniente es que el micrófono, captan tanto lo se requiere como lo que 
no: ruido del entorno, reflexiones acústicas, etc. 
 
Figura 4.1. Micrófono que se usara en el proyecto 
 
4.3. Entrenamiento y Base de Datos 
 
4.3.1. Adquisición 
 
Mediante el Software de MATLAB se crea un programa en el editor, con el cual se puede 
adquirir señales de voz en archivos WAV con Frecuencia de muestreo de 22Khz, a 16 
bits de resolución, mono canal y duración de 2 segundos. 
 
Programa: 
 
%Programa de Grabaciones de la Base de Datos 
Fs = 22050; % Frecuencia de Muestreo 
s = wavrecord(2*Fs, Fs, 1); 
wavwrite(s,Fs,16,'F1.wav') % Guarda .wav señal grabada 
CAPITULO 4: Desarrollo de Un sistema de Seguridad 
http://es.wikipedia.org/wiki/Reflexi%C3%B3n_(sonido)
 
 
33 
 
4.3.2. Eliminación de Silencios y Normalización 
 
Adquirida la señal de voz, se procede a eliminar el ruido por medio de un Filtro para 
obtener la señal característica, aunado a esto se debe Normalizar la señal, debido a que 
en MATLAB la señal debe tomar valores desde -1 hasta 1 para poder utilizarla de forma 
adecuada sin perdidas. 
 
Programa: 
 
%Programa de Grabaciones de la Base de Datos (Normalización y eliminación de ruido) 
 
Fs = 22050; % Frecuencia de Muestreo 
s = wavrecord(2*Fs, Fs, 1); 
wavwrite(s,Fs,16,'F1.wav') % Guarda .wav señal grabada 
 
lon = length(s); % Longitud del vector 
d = max(abs(s)); % Obtiene el valor más Grande 
s = s/d; % Normaliza la señal 
prom = sum(s.*s)/lon; % Promedio señal entera 
umbral = 0.02; % 2% de la energía promedio 
y = [0]; 
 
for i = 1:400:lon-400 % Ventaneo cada 10ms 
seg = s(i:i+399); % Segmentos 
e = sum(seg.*seg)/400; % Promedio de cada segmento 
% Si el promedio energético es mayor que la señal completa por el valor umbral 
if( e> umbral*prom) 
% Almacena en (y) sino es eliminado como espacio en blanco 
y = [y;seg(1:end)]; 
end; 
end; 
 
% Guarda .wav señal normalizada y sin ruido 
wavwrite(y,Fs,16,'F1b.wav') 
plot(y) % Grafica señal Normalizada 
sound(y,22050) % Reproduce Señal Normalizada 
 
 
 
4.3.3. Promedio 
 
Se procede a grabar 5 veces el comando a reconocer lo cual genera 5 grabaciones 
distintas, las cuales se deben promediar para obtener una sola señal que caracterizara el 
comando grabado. 
 
Una vez más se debe Normalizar a la señal. 
 
CAPITULO 4: Desarrollo de Un sistema de Seguridad 
 
 
34 
 
Programa: 
 
%Programa que Realiza el Promedio de la Base de Datos de Grabaciones 
 
clearall; 
clc; 
 
Fs = 22050; % Frecuencia de Muestreo 
[rec1] = wavread('F1b.wav'); % Lee la primera grabación 
[rec2] = wavread('F2b.wav'); % Lee la segunda grabación 
[rec3] = wavread('F3b.wav'); % Lee la tercera grabación 
[rec4] = wavread('F4b.wav'); % Lee la cuarta grabación 
[rec5] = wavread('F5b.wav'); % Lee la quinta grabación 
% Crea el vector final de grabación 
prom=rec1; 
tam = length(rec5); 
 
fori = 1:1:tam 
prom(i) = ((rec1(i)+rec2(i)+rec3(i)+rec4(i)+rec5(i))/5); 
end; 
 
lon = length(prom); % Longitud del vector 
d = max(abs(prom)); % Obtiene el valor más Grande 
prom = prom/d; % Normaliza la señal 
% Guarda .wav señal Promediada 
wavwrite(prom,Fs,16,'FProm.wav') 
plot(prom) % Grafica señal Promediada 
sound(prom,Fs) % Reproduce Señal Promediada 
 
 
4.3.4. Base De Datos 
 
Obtenidos los promedios de los comandos, se forma una base de datos con ellos, que 
servirán para comparar con las grabaciones en tiempo real de identificación del software. 
 
[k0,Fs,bits] = wavread('FProm.wav'); % Archivo De Promedio Fer 
[k1,Fs,bits] = wavread('AProm.wav'); % Archivo De Promedio Alexis 
[k2,Fs,bits] = wavread('EProm.wav'); % Archivo De Promedio Oxana 
 
 
4.4. Desarrollo 
 
4.4.1. Adquisición 
 
La adquisición de la señal ocurre dentro del programa en la función de GRABAR en él se 
adquieren señales de voz en archivos WAV con Frecuencia de muestreo de 22Khz, a 16 
bits de resolución, mono canal y duración de 2 segundos. 
CAPITULO 4: Desarrollo de Un sistema de Seguridad 
 
 
35 
 
Parte del Programa: 
 
Fs = 22050; % Frecuencia de Muestreo 
s = wavrecord(2*Fs, Fs, 1); 
wavwrite(s,Fs,16,'Prueba.wav') % Guarda .wav señal grabada 
 
 
4.4.2. Eliminación de silencios y Normalización 
 
La eliminación de silencio y ruido junto con la Normalización ocurre después de la 
adquisición de la señal en esta parte se hace uso del nivel de energía de la señal, 
tomando el valor máximo y normalizándolo a 1, por medio de la segmentación y 
ventanas de haming se elimina el ruido y los silencios para que solo se tenga la señal 
pura que contenga la información de la voz. 
 
Parte del Programa: 
 
Fs = 22050; % Frecuencia de Muestreo 
s = wavrecord(2*Fs, Fs, 1); 
wavwrite(s,Fs,16,'Prueba.wav') % Guarda .wav señal grabada 
lon = length(s); % Longitud del vector 
 
 
d = max(abs(s)); % Obtiene el valor más Grande 
s = s/d; % Normaliza la señal 
prom = sum(s.*s)/lon; % Promedio señal entera 
umbral = 0.02; % 2% de la energía promedio 
y = [0]; 
 
for i = 1:400:lon-400 % Ventaneo cada 10ms 
seg = s(i:i+399); % Segmentos 
e = sum(seg.*seg)/400; % Promedio de cada segmento 
% Si el promedio energético es mayor que la señal completa por el valor umbral 
if( e> umbral*prom) 
% Almacena en (y) sino es eliminado como espacio en blanco 
y = [y;seg(1:end)]; 
end; 
end; 
 
% Guarda .wav señal normalizada y sin ruido 
wavwrite(y,Fs,16,'Limpia.wav') 
plot(y) % Grafica señal Normalizada 
sound(y,22050) % Reproduce Señal Normalizada 
 
 
 
 
CAPITULO 4: Desarrollo de Un sistema de Seguridad 
 
 
36 
 
4.4.3. Parametrización 
 
La Parametrización u obtención de las características de la voz se realiza dentro de la 
función IDENTIFICAR, en esta función se toman las 3 señales de las bases de datos y 
se obtienen sus coeficientes LPC para analizar. 
 
Adquiridos los coeficientes LPC de las 3 señales de la base de datos y de la señal 
grabada, se realizan 3 algoritmos de medición de distancia, entre la señal grabada en 
tiempo real y cada una de las grabaciones dentro de la base de datos, obteniendo 3 
vectores que contienen 0 (si la relación entre distancias es mayor al rango máximo) y 1 
(sila relación entre distancias es menor al rango máximo). 
 
Posteriormente se suman los vectores de las relaciones y se obtiene un número entero 
el cual representa que cantidad de coeficientes LPC, se parecen a la voz grabada y a 
cada una de las bases de datos. 
 
Si este número es igual a 25 indica que la señal grabada y la base de datos son 
perfectamente iguales, mientras que si es igual a 0 indica que no poseen nada en 
común, el estándar mínimo en el cual el numero de coeficientes puede indicar que la 
relación corresponde a alguna de las bases de datos es si este número es igual o mayor 
a 17. 
 [4] 
Parte del Programa: 
 
% Obtiene el numero de Coeficientes LPC 
num = (Fs/1024)+3; 
% Obtiene los coeficientes del filtro LPC de Fer 
W0 = lpc(k0,num); 
% Obtiene los coeficientes del filtro LPC de Alexis 
W1 = lpc(k1,num); 
% Obtiene los coeficientes del filtro LPC de Oxana 
W2 = lpc(k2,num); 
% Obtiene los coeficientes del filtro LPC de La Grabación de GUI 
Wx = lpc(kx,num); 
% Vector que contendrá las distancias entre Fer y la grabación 
d0=0; 
for z=1:25 
% Obtiene la distancia cuadrática media 
d0(z)=sqrt((W0(z)-Wx(z))*(W0(z)-Wx(z))); 
if d0(z)<= 0.15 
% Coloca un 1 en el vector si es próximo a Fer 
d0(z)=1; 
% Coloca un 0 en el vector si es lejano a Fer 
else d0(z)=0; 
end 
end 
% Vector que contendrá las distancias entre Alexis y la grabación 
CAPITULO 4: Desarrollo de Un sistema de Seguridad 
 
 
37 
 
d1=0; 
for z=1:25 
% Obtiene la distancia cuadrática media 
d1(z)=sqrt((W1(z)-Wx(z))*(W1(z)-Wx(z))); 
if d1(z)<= 0.15 
% Coloca un 1 en el vector si es próximo a Alexis 
d1(z)=1; 
% Coloca un 0 en el vector si es lejano a Alexis 
else d1(z)=0; 
end 
end 
 
% Vector que contendrá las distancias entre Oxana y la grabación 
d2=0; 
for z=1:25 
% Obtiene la distancia cuadrática media 
d2(z)=sqrt((W2(z)-Wx(z))*(W2(z)-Wx(z))); 
if d2(z)<= 0.15 
% Coloca un 1 en el vector si es próximo a Oxana 
 
 
d2(z)=1; 
% Coloca un 0 en el vector si es lejano a Oxana 
else d1(z)=0; 
end 
end 
 
% Contador que almacena el número de coeficientes que se parecen 
cont0=0; 
 
 
for i = 1:25 
% Suma todos los valores de la cadena 
cont0 = d0(i)+cont0; 
end 
cont0 
 
cont1=0; 
for j = 1:25 
cont1 = d1(j)+cont1; 
end 
cont1 
 
cont2=0; 
for x = 1:25 
cont2 = d2(x)+cont2; 
end 
cont2 
 
 
CAPITULO 4: Desarrollo de Un sistema de Seguridad 
 
 
38 
 
4.4.4. Reconocimiento del habla (Toma de decisión) 
 
Debido a que el análisis de predicción lineal es frecuencia y aunando que los fonemas y 
pronunciación en cada nombre de los usuarios es completamente diferente, la toma de 
decisión depende de la relación de coeficientes LPC entre la voz grabada y las 
grabaciones en la base de datos. Es identificado el usuario si sus coeficientes entran en 
un rango predispuesto, este rango se define por una serie de pruebas realizadas. 
 
SI el programa reconoce al usuario de acceso al sistema, indica en la interfaz gráfica de 
que usuario corresponde la voz y le permite seleccionar la acción a realizar en el menú 
de FUNCIONES DEL SISTEMA. Si no lo reconoció, no le da acceso al sistema por lo 
cual no podrá seleccionar ninguna acción a realizar. 
 
Parte del Programa: 
 
if (cont0 > 17) 
 
op = length(k0); 
% Predicción de la Señal por filtro 
predic = filter([0 -W0(2:end)],1,k0); 
error = k0 - predic; % Error 
% Vector de Autocorrelacion 
Rsw = xcorr(k0); 
 R = Rsw(op:op+num); % Obtención R(0) 
 G = sqrt(sum(W0.*R')); % Obtención G 
% Obtención de la envolvente H(z) 
envolvente = abs(G./fft(W0,op)); 
% Transformada de Fourier de la señal original 
SW = abs(fft(k0,op)); 
semilogy(SW(1:(op/2)),'g'); 
holdon; 
semilogy(envolvente(1:(op/2)),'b'); 
holdoff; 
title('Usuario Fernando Poceros','Fontname','Trebuchet 
MS','Fontangle','Italic','Fontweight','Bold','Fontsize',20,'color',[1 1 1]) 
xlabel('Frecuencia','Fontname','Trebuchet 
MS','Fontangle','Italic','Fontweight','Bold','Fontsize',15,'color',[1 1 1]) 
ylabel('Nivel de 
voz','Fontname','Dotum','Fontangle','Italic','Fontweight','Bold','Fontsize',15,'color',[1 1 1]) 
msgbox('Identificado: Fer'); 
 ID=1; 
saveID.mat; 
elseif (cont1 > 17) 
op = length(k1); 
% Predicción de la Señal por filtro 
predic = filter([0 -W1(2:end)],1,k1); 
error = k1 - predic; % Error 
% Vector de Autocorrelacion 
CAPITULO 4: Desarrollo de Un sistema de Seguridad 
 
 
39 
 
Rsw = xcorr(k1); 
 R = Rsw(op:op+num); % Obtención R(0) 
 G = sqrt(sum(W1.*R')); % Obtención G 
% Obtención de la envolvente H(z) 
envolvente = abs(G./fft(W1,op)); 
% Transformada de Fourier de la señal original 
SW = abs(fft(k1,op)); 
semilogy(SW(1:(op/2)),'g'); 
holdon; 
semilogy(envolvente(1:(op/2)),'b'); 
holdoff; 
title('Usuario Alexis Villalobos','Fontname','Trebuchet 
MS','Fontangle','Italic','Fontweight','Bold','Fontsize',20,'color',[1 1 1]) 
 
xlabel('Frecuencia','Fontname','Trebuchet 
MS','Fontangle','Italic','Fontweight','Bold','Fontsize',15,'color',[1 1 1]) 
ylabel('Nivel de 
voz','Fontname','Dotum','Fontangle','Italic','Fontweight','Bold','Fontsize',15,'color',[1 1 1]) 
msgbox('Identificado: Alexis'); 
 ID=2; 
saveID.mat; 
elseif (cont2 > 17) 
op = length(k2); 
predic = filter([0 -W2(2:end)],1,k2); % Predicción de la Señal por filtro 
error = k2 - predic; % Error 
% Vector de Autocorrelacion 
Rsw = xcorr(k2); 
 R = Rsw(op:op+num); % Obtención R(0) 
 G = sqrt(sum(W2.*R')); % Obtención G 
% Obtención de la envolvente H(z) 
envolvente = abs(G./fft(W2,op)); 
% Transformada de Fourier de la señal original 
SW = abs(fft(k2,op)); 
semilogy(SW(1:(op/2)),'g'); 
holdon; 
semilogy(envolvente(1:(op/2)),'b'); 
holdoff; 
title('UsuarioEyraOxana','Fontname','Trebuchet 
MS','Fontangle','Italic','Fontweight','Bold','Fontsize',20,'color',[1 1 1]) 
xlabel('Frecuencia','Fontname','Trebuchet 
MS','Fontangle','Italic','Fontweight','Bold','Fontsize',15,'color',[1 1 1]) 
ylabel('Nivel de 
voz','Fontname','Dotum','Fontangle','Italic','Fontweight','Bold','Fontsize',15,'color',[1 1 1]) 
msgbox('Identificado: Oxana'); 
 ID=3; 
saveID.mat; 
elsemsgbox('No Identificado!!!!!'); 
end 
 
 
CAPITULO 4: Desarrollo de Un sistema de Seguridad 
 
 
40 
 
4.4.5. Selección de la Acción a realizar 
 
Una vez que el usuario es reconocido puede elegir entre 4 opciones: Abrir Puerta, Cerrar 
Puerta, Prender Luz y Apagar Luz, la variable ID indica a que usuario se reconoció, si: 
 
ID=1 se trato de Fernando, si ID=2 se trato de Alexis y si ID=3 se trato de Oxana, el 
programa permite a todos los usuarios poder realizar cualquiera de las 4 acciones. 
 
Parte del Programa: 
 
% MENU FUNCIONES DEL SISTEMA 
functionMenu_Callback(hObject, eventdata, handles) 
 
loadID; 
if ID==1 || ID==2 || ID==3 
 P0=get(handles.Menu,'Value'); 
switch P0 
case 1, 
msgbox('No Selecciono Nada'); 
case 2, 
msgbox('Abriendo Puerta'); 
case 3, 
msgbox('Cerrando Puerta'); 
case 4, 
msgbox('Prendiendo Luz'); 
case 5, 
msgbox('Apagando Luz'); 
endelse 
msgbox('No Identificado!!!'); 
end 
 
 
 
4.4.6. Interfaz Grafica 
Es diseñada una interfaz de usuario - máquina para lograr la comunicación entre ambos 
fácil de entender, se utiliza MATLAB para crear una GUI, en esta se puede mostrar las 
gráficas de la señal de voz, los botones que permiten identificar al usuario y las 
funciones que se pueden realizar dentro la GUI. 
El programa MATLAB tiene la opción para realizar esta interfaz en su barra de funciones 
donde aparece el icono de GUIDE para crearla. 
CAPITULO 4: Desarrollo de Un sistema de Seguridad 
 
 
41 
 
 
Figura 4.2. Icono de GUIDE en MATLAB para crear interfaces 
 
Al seleccionar crear GUIDE, el programa da la opción de crear diferentes modos de 
GUIDES, la opción que se selecciono es la que esta como predeterminada (en 
blanco),en esta se puede diseñar la forma de la interfaz, con los botones o elementos 
necesarios. 
 
Figura 4.3. Selección de la GUI o abrir una nueva GUI 
 
Se escoge la GUIDE predeterminada para poder colocar los objetos necesarios. 
CAPITULO 4: Desarrollo de Un sistema de Seguridad 
 
 
42 
 
 
Figura 4.4. Inicio de la GUI con su ventana lateral izquierda de selección de objetos 
 
Una vez teniéndola la plantilla de la GUIDE se ajusta el tamaño, se colocan los botones, 
graficas, textos, imágenes, graficas, etc. Con los diferentes botones que se tienen al lado 
izquierdo de la pantalla, cuando se selecciona el botón y se coloca en el lugar que se 
requiere, se ajusta el tamaño y color de este. 
 
Figura 4.5. Colocación, edición y uso de un Botón en la GUI 
 
CAPITULO 4: Desarrollo de Un sistema de Seguridad 
 
 
43 
 
El diseño realizado para el trabajo fue el siguiente: 
 
Figura 4.6. Interfaz gráfica imagen de la GUI 
 
Esta es la Interfaz gráfica realizada. 
 
Figura 4.7. Interfaz gráfica del Reconocedor de Voz creado en MATLAB 
 
CAPITULO 4: Desarrollo de Un sistema de Seguridad 
 
 
44 
 
Dentro de las funciones aparecen recuadros donde da aviso la interface del estado del 
programa, los botones despliegan diferente información: 
 Botón Grabar: Este botón realiza la función de activar el micrófono y grabar 
durante dos segundos el comando a reconocer, en este caso es el nombre del 
usuario. Para posteriormente limpiar la señal de ruido y normalizarla, una vez 
hecho esto imprime la gráfica de la señal de voz en el recuadro de gráfica y 
aparece una ventana que indica que la grabación se ha realizado con éxito, 
puede observarse en la figura: 
 
Figura 4.8. Interfaz gráfica después de haber apretado el botón Grabar 
 
 Botón Identificar: El botón Identificar es el que cumple la función más 
importante del programa que es reconocer y tomar la decisión. 
 
Consta de las siguientes etapas: 
1) Obtener los coeficientes LPC de la señal grabada y de las 3 señales de la 
base de datos de cada usuario, esto entrega 4 vectores que son las 
envolventes de la señal (Grabación, Fernando, Alexis y Oxana). 
 
 
2) Después obtener la relación de la señal grabada con cada una de las 
señales de la base de datos, por medio de la distancia entre cada 
coeficiente LPC de cada uno de los 4 vectores. En esta etapa se da un 
rango de aceptación en el cual un coeficiente LPC al parecerse al otro se 
toma en cuenta o se desprecia, al final todos los coeficientes LPC de la 
CAPITULO 4: Desarrollo de Un sistema de Seguridad 
 
 
45 
 
relación se suman dando la relación de cuanto se parece la señal grabada 
con las 3 bases de datos. 
 
3) La etapa final es la Toma de decisión la cual se realiza tomando en 
cuenta 2 condiciones, una que el número de coeficientes LPC que se 
tomaron en cuenta superen un número mínimo requerido para cada 
usuario y dos que el número de coeficientes LPC no sean iguales, ya que 
al tener dos relaciones iguales el programa entra en conflicto para decidir 
a qué usuario identificar. 
 
Figura 4.9. Interfaz gráfica después de haber apretado el botón Identificar 
 
 Botón Cerrar Sesión: Este botón se ocupa para cerrar la sesión y volver al inicio 
de la interfaz una vez que el usuario reconocido ha realizado alguna acción, este 
botón limpia las variables utilizadas y reinicia el programa general. 
 
 Botón Salir: El botón salir apaga y cierra la interfaz borrando todas las variables 
utilizas. 
 
Figura 4.10. Ventana que aparece después de presionar el botón Salir 
CAPITULO 4: Desarrollo de Un sistema de Seguridad 
 
 
46 
 
 Menú Funciones Del Sistema: Dentro de este menú, están las opciones de 
Abrir Puerta, Cerrar Puerta, Apagar Luz y Cerrar Luz, se pueden agregar más 
opciones depende de las necesidades del usuario, su función es indicarle al 
programa que es lo que el usuario desea hacer. 
 
Figura 4.11. Menú de Funciones del Sistema que despliega las acciones que se puede 
realizar 
 
Figura 4.12. Ventana que aparece después de seleccionar la Acción de Abrir Puerta 
 
4.4.7. Programa Completo 
El Programa completo se puede observar en los Anexos como Anexo 1. 
 
4.5. Implementación 
Para la implementación de sistema de reconocimiento de voz, se fabricó una maqueta 
que simularía un Hogar, la cual tendría una puerta y un foco. 
 
Se realizaron algunos circuitos para poder hacer que la puerta se moviera con ayuda de 
un motor eléctrico y que el foco se prendiera y apagara, estos circuitos se pueden 
encontrar dentro de Anexos en Anexo 2. 
 
Para la conexión entre la computadora (la interfaz gráfica) y los circuitos de la maqueta 
se utilizó la tarjeta de adquisición de datos de National Instruments la cual puede ser 
reconocida por MATLAB. 
 
 
CAPITULO 4: Desarrollo de Un sistema de Seguridad 
 
 
47 
 
 
 
 
 
Figura 4.13. Maqueta e Interfaz grafica 
 
 
 
Figura 4.14. Tarjeta de Adquisición de datos USB6008 
 
 
CAPITULO 4: Desarrollo de Un sistema de Seguridad 
 
 
48 
 
Capítulo 5. Pruebas y Resultados 
 
En este Capítulo se mostraran los resultados obtenidos al realizar pruebas con el 
programa de reconocimiento de voz, para poder obtener y comparar los objetivos 
alcanzados, las ventajas y desventajas del proyecto propuesto. 
 
Para realizar las siguientes pruebas, se usa la voz de uno de los usuarios y dependiendo 
de los resultados, se escogió el mejor lugar para realizar las pruebas de reconocimiento. 
 
Estas pruebas consisten en la comparación de los coeficientes LPC de la voz grabada 
en una base de datos y la voz en tiempo real, para estos hay un contador de cuantos 
coeficientes coinciden, por lo cual las siguientes pruebas muestran la cantidad de 
coeficientes que se aproximan a los originales en la base de datos. 
 
Existen 3 contadores denominados Cont 0 para la relación entre los coeficientes LPC de 
Fernando y la voz grabada al instante, Cont 1 corresponde a Alexis y Cont 2 
corresponde a Oxana. 
 
Estas pruebas se realizaron en un lugar cerrado con un nivel de ruido de: 
49.5-56 dBA 
Tabla 5.1. Pruebas con ruido de 49.5 a 56 dBA 
Alexis Cont 0 Cont 1 Cont 2 
Alexis 11 20 9 
Alexis 13 18 13 
Fernando 12 19 9 
Fernando 11 21 10 
Oxana 10 15 12 
Oxana 9 19 12 
 
 
Estas pruebas se realizaron en un lugar abierto con un nivel de ruido de: 
62.8-69.4 dBA 
 
Tabla 5.2. Pruebas con ruido de 62.8 a 69.4 dBA 
Alexis Cont 0 Cont 1 Cont 2 
Alexis 14 19 11 
Alexis 14 18 12 
Fernando 12 18 8 
Fernando 10 22 9 
Oxana 9 12 13 
Oxana 11 19 12 
 
 
Estas pruebas se realizaron en un lugar con un nivel de ruido de: 
66.2-75.4 dBA 
 
 
CAPITULO 5: Pruebas y Resultados 
 
 
49 
 
Tabla 5.3. Pruebas con ruido de 66.2 a 75.4 dBA 
Alexis Cont 0 Cont 1 Cont 2 
Alexis 17 19 14 
Alexis 18 18 16 
Fernando 16 18 10 
Fernando 17 22 17 
Oxana 10 12 19 
Oxana 17 19 12 
 
El lugar que se escogió para las pruebas generales fue en donde se obtuvieron mejores 
resultados, en este caso en lugares con niveles de ruido entre 62.8-69.4 dBA. 
 
5.1. Pruebas Generales 
 
En las pruebas generales

Continuar navegando