Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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
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.
I
INDIC
Í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
I
INDIC
Conclusiones 63
Bibliografía y/o Referencias 65
Anexos 66
Anexo1 Programa Completo 66
Anexo 2 Diagrama de Conexión 72
Glosario 73
I
INDICE DE
Í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
Figura 4.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
I
INDICE DE
Í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
V
OBJETIVO
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.
1
OBJETIVO
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.
2
CAPITULO 1: Conceptos importantes en los
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.
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.
3
CAPITULO 1: Conceptos importantes en los
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.
Estos sistemas empiezan a incorporar técnicas de normalización del tiempo (minimizar diferencia
en velocidad del habla)
Después:
IBM y CMV trabajan en reconocimiento de voz continuo pero no se ven resultados hasta los
1970's.
4
CAPITULO 1: Conceptos importantes en los
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.
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]
5
CAPITULO 1: Conceptos importantes en los
Existen varias maneras para analizar y describir el habla. Los enfoques más
comúnmente usados son:
Los tres enfoques proveen ideas y herramientas para obtener mejores y más eficientes resultados
en el reconocimiento.
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.
[2]
6
CAPITULO 1: Conceptos importantes en los
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.
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/)
Puntos de articulación
Dientes
Puente alveolar (puente óseo atrás de los dientes superiores)
7
CAPITULO 1: Conceptos importantes en los
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.
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
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.
8
CAPITULO 1: Conceptos importantes en los
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)
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.
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 de formantes. 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.
9
CAPITULO 1: Conceptos importantes en los
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.
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.
1
CAPITULO 1: Conceptos importantes en los
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.
1
CAPITULO 2: Métodos y Etapas para Reconocimiento de
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.
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.
Algunos factores que se deben de considerar para codificar la señal dependiendo del uso que
se le dé son:
1
CAPITULO 2: Métodos y Etapas para Reconocimiento de
Adaptación de Velocidad
Robustez
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.
1
CAPITULO 2: Métodos y Etapas para Reconocimiento de
Muestreo
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).
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 que para voz. Pero la diferencia es audible. Por lo
tanto se requiere mayor espacio para almacenar y transmitirla.
1
CAPITULO 2: Métodos y Etapas para Reconocimiento de
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:
2. Por lo tanto, a mayor resolución mayor cuantización y menor ruido como consecuencia.
Cuantización uniforme
Cuantización no uniforme
Cuantización logarítmica
Cuantización vectorial
1
CAPITULO 2: Métodos y Etapas para Reconocimiento de
Cuantificación uniforme
Cuantificación no uniforme
1
CAPITULO 2: Métodos y Etapas para Reconocimiento de
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.
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.
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.
1
CAPITULO 2: Métodos y Etapas para Reconocimiento de
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.
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.
1
CAPITULO 2: Métodos y Etapas para Reconocimiento de
Análisis mediante banco de filtros, Una muestra de voz se puede aproximar como una
combinación lineal de muestras anteriores.
R(t) T(t)
Se busca una función de alineamiento w(t) que mapee R y las partes correspondientes de 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
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.
1
CAPITULO 2: Métodos y Etapas para Reconocimiento de
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:
Una estima o predicción de s(n) basada en p muestras anteriores, puede calcularse como lo
muestra la siguiente fórmula:
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.
𝐹𝑟𝑒𝑐𝑢𝑒𝑛𝑐i𝑎 𝑑𝑒 𝑀𝑢𝑒𝑠𝑡𝑟𝑒𝑜
𝐿𝑃𝐶 = ( 1000 ) + 3 … … . (2.4)
[5]
2
CAPITULO 2: Métodos y Etapas para Reconocimiento de
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
CAPITULO 2: Métodos y Etapas para Reconocimiento de
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).
2
CAPITULO 2: Métodos y Etapas para Reconocimiento de
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.
[4]
Resolución o Cuantificación
2
CAPITULO 2: Métodos y Etapas para Reconocimiento de
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
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]
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.
2
CAPITULO 2: Métodos y Etapas para Reconocimiento de
Durante la segmentación los segmentos son guardados cada uno como la columna de una matriz,
para el posterior procesamiento de la señal de 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.
2
CAPITULO 2: Métodos y Etapas para Reconocimiento de
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]
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.
………(2.5)
Figura 2.16. Formula que muestra el cálculo realizado para obtener las distancias
2
CAPITULO 2: Métodos y Etapas para Reconocimiento de
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
CAPITULO 3: Planteamiento del
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.
2
CAPITULO 3: Planteamiento del
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.
2
CAPITULO 3: Planteamiento del
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.
3
CAPITULO 4: Desarrollo de Un sistema de
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:
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
3
CAPITULO 4: Desarrollo de Un sistema de
da acceso al sistema, si ninguna de las 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:
El principal inconveniente es que el micrófono, captan tanto lo se requiere como lo que no: ruido
del entorno, reflexiones acústicas, etc.
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
3
CAPITULO 4: Desarrollo de Un sistema de
Programa:
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.
3
CAPITULO 4: Desarrollo de Un sistema de
Programa:
fori = 1:1:tam
prom(i) = ((rec1(i)+rec2(i)+rec3(i)+rec4(i)+rec5(i))/5);
end;
4.4. Desarrollo
4.4.1. Adquisición
3
CAPITULO 4: Desarrollo de Un sistema de
3
CAPITULO 4: Desarrollo de Un sistema de
4.4.3. Parametrización
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 (si la 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:
3
CAPITULO 4: Desarrollo de Un sistema de
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
d2(z)=1;
% Coloca un 0 en el vector si es lejano a Oxana else
d1(z)=0;
end
end
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
3
CAPITULO 4: Desarrollo de Un sistema de
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
3
CAPITULO 4: Desarrollo de Un sistema de
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
3
CAPITULO 4: Desarrollo de Un sistema de
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.
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');
end
else
msgbox('No Identificado!!!');
end
El programa MATLAB tiene la opción para realizar esta interfaz en su barra de funciones donde
aparece el icono de GUIDE para crearla.
4
CAPITULO 4: Desarrollo de Un sistema de
4
CAPITULO 4: Desarrollo de Un sistema de
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.
4
CAPITULO 4: Desarrollo de Un sistema de
4
CAPITULO 4: Desarrollo de Un sistema de
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:
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.
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
4
CAPITULO 4: Desarrollo de Un sistema de
relación se suman dando la relación de cuanto se parece la señal grabada con las 3
bases de datos.
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.
4
CAPITULO 4: Desarrollo de Un sistema de
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.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.
4
CAPITULO 4: Desarrollo de Un sistema de
4
CAPITULO 5: Pruebas y
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.
4
CAPITULO 5: Pruebas y
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.
En las pruebas generales se mostraran 20 resultados de pruebas realizadas por cada usuario, en las
cuales cada usuario se graba mencionando los diferentes nombres con los que se programó; De
esta manera se determinara el promedio de cada uno de los contadores, para establecer un rango de
decisión.
El número máximo de relación se muestra de color amarillo, mientras que el número menor se
muestra en color verde.
4
CAPITULO 5: Pruebas y
5
CAPITULO 5: Pruebas y
Con los Resultados Obtenidos, se determinó que el Usuario Alexis era reconocido de cualquier
forma cuando se grababa su nombre, por otro lado cuando se grababa el nombre de otro usuario el
reconocedor relacionaba su voz aunque el comando fuera erróneo.
5
CAPITULO 5: Pruebas y Resultados
Fernando 14 13 12
Fernando 16 12 12
Fernando 17 13 9
Fernando 14 14 10
Fernando 13 10 11
Fernando 15 11 12
Fernando 14 12 10
Fernando 12 10 6
Fernando 11 9 12
Promedio 14.1 10.8 10.1
Continuación Tabla 5.8
Con los Resultados Obtenidos, se determinó que el Usuario Fernando era reconocido de cualquier
forma cuando se grababa su nombre teniendo unas incidencias con el Usuario Alexis, por otro lado
cuando se grababa el nombre de otro usuario el reconocedor relacionaba su voz aunque el
comando fuera erróneo.
5
CAPITULO 5: Pruebas y
5
CAPITULO 5: Pruebas y
Con los Resultados Obtenidos, se determinó que el Usuario Oxana era reconocido de cualquier
forma cuando se grababa su nombre teniendo unas incidencias con el Usuario Fernando, por otro
lado cuando se grababa el nombre de otro usuario el reconocedor relacionaba su voz aunque el
comando fuera erróneo.
Durante las pruebas generales se obtuvieron Promedios en la relación entre LPC’s, estos
promedios se muestran a continuación; A partir de ellos se obtuvieron el rango entre coeficientes
que se deberán de colocar en el programa para poder obtener un reconocimiento de voz confiable y
seguro.
Alexis
Los promedios que se obtuvieron se utilizaron para obtener el rango que debería de tener cada
contador para el reconocimiento adecuado del individuo y se obtuvo que para el usuario Alexis:
Cont0 estará entre 13 y 15, Cont1 estará entre 16 y 25 mientras que Cont2 estará entre 9 y 13.
5
CAPITULO 5: Pruebas y
Fernando
5
CAPITULO 5: Pruebas y
Palabra Cont 0 Cont 1 Cont 2
Alexis 11.45 17.5 10.85
Fernando 10.55 12.15 8.65
Oxana 13.35 15.5 10.2
Se obtuvo que para el usuario Fernando: Cont0 estará entre 11 y 25, Cont1 estará entre 9 y 11
mientras que Cont2 estará entre 7 y 10.
Oxana
Se obtuvo que para el usuario Oxana: Cont0 estará entre 7 y 10, Cont1 estará entre 11 y 16
mientras que Cont2 estará entre 7 y 14.
Alexis X
Alexis X
Alexis X
Alexis X
Alexis X
Alexis X
Fernando X
Fernando X
5
CAPITULO 5: Pruebas y
Fernando X
Fernando X
Fernando X
Fernando X
Oxana X
Oxana X
Oxana X
Oxana X
Oxana X
Oxana X
Continuación Tabla 5.16.
Algún usuario al querer accesar puede ser reconocido como si mismo a pesar de que no haya sido
esa la palabra mencionada, Esto se debe a que el análisis es en frecuencia, por lo que en
determinado momento puede ser reconocido como el mismo o no reconocido.
Alexis X
Alexis X
Alexis X
Alexis X
Alexis X
Alexis X
Fernando X
Fernando X
Fernando X
Fernando X
Fernando X
Fernando X
Oxana X
Oxana X
Oxana X
Oxana X
Oxana X
Oxana X
5
CAPITULO 5: Pruebas y
Alexis X
Alexis X
Alexis X
Alexis X
Alexis X
Alexis X
Fernando X
Fernando X
Fernando X
Fernando X
Fernando X
Fernando X
Oxana X
Oxana X
Oxana X
Oxana X
Oxana X
Oxana X
Para estas pruebas se utilizaron 3 sujetos prueba, Un hombre adulto, una mujer adulta y una niña,
se trató de acceder al sistema como alguno de los usuarios, los resultados de las pruebas fueron los
siguientes:
5
CAPITULO 5: Pruebas y
Oxana X
Oxana X
Oxana X
Oxana X
Oxana X
Continuación Tabla 5.19.
Alexis X
Alexis X
Alexis X
Alexis X
Alexis X
Alexis X
Fernando X
Fernando X
Fernando X
Fernando X
Fernando X
Fernando X
Oxana X
Oxana X
Oxana X
Oxana X
Oxana X
Oxana X
Alexis X
Alexis X
Alexis X
Alexis X
Alexis X
Alexis X
Fernando X
Fernando X
Fernando X
Fernando X
Fernando X
Fernando X
5
CAPITULO 5: Pruebas y
Oxana X
Oxana X
Oxana X
Oxana X
Oxana X
Oxana X
Continuación Tabla 5.21.
Se propone implementar este sistema de seguridad por reconocimiento de voz en áreas con niveles
de ruido no mayores a 70dB, para que el sistema de reconocimiento de voz funcione de modo que
exista menor probabilidad de error, esto incrementaría la seguridad.
El sistema será seguro porque los coeficientes que se utilizaran en el software no podrán ser
alterados por ninguna persona, debido a que cada uno contiene sus propios coeficientes
inalterables en una base de datos establecida por el diseñador en la captura de voz.
No se podrán agregar usuarios nuevos al instante, tendrán que ser agregados previamente por el
proceso de adquisición y entrenamiento por lo cual es un proceso tardado y con acreditación del
dueño, esto permite mayor confiabilidad al sistema.
6
CAPITULO 5: Pruebas y
El estudio está asociado con el esfuerzo, costo y el tiempo de las actividades identificadas del
proyecto.
El objetivo del estudio del proyecto es reducir los costos e incrementar los niveles de servicio y de
calidad.
Se realizó una estimación orientada a la función del software. Evaluando los factores de ajuste de
complejidad de 0 a 5 donde:
Se contestaron las siguientes preguntas respondiendo con el grado de influencia que se tiene en el
proyecto, esto para sacar una valoración de lo que contiene y realiza el software:
5.- ¿Sera ejecutado el sistema en un entorno operativo existente y utilizado? R=5 6.- ¿Se
7.- ¿Requiere la entrada interactiva, que las traslaciones de entrada se hagan sobre múltiples
pantallas o varias operaciones? R= 0
9.- ¿Son complejas las entradas, las salidas, los archivos o las peticiones? R=4 10.- ¿Es
6
CAPITULO
CAPITULO 5:
5: Pruebas
Pruebas yy Resultados
14.- ¿Se ha diseñado la aplicación para facilitar los cambios y ser fácilmente utilizada por el
usuario? R= 5
Sacamos los Parámetros de medida de pendiendo del factor de peso para evaluar el nivel de
complejidad del software
Nota: se multiplica la cuenta con el valor elegido ya sea simple medio o complejo (en este caso
los números sombreados).
6
CAPITULO 5: Pruebas y
PF estimado: 593. 81
Datos históricos:
Costo
Mantenimiento básico del software 1200
Interfaz física usuario máquina. 4000 -11000
Tarjeta de adquisición de datos 2500
Diseño del área a colocar el reconocedor de Depende del área, lugar y la
voz y construcción del mismo complejidad del diseño y
construcción
Base de dato (por persona) 500
Mantenimiento físico (básico). 1000
Total aproximado:
$ 20,000
Nota: El mantenimiento tanto del software como del físico, dependerá de igual medida a lo que
el sistema necesite para estar en óptimas condiciones.
6
CONCLUSIONE
CONCLUSIONES
La seguridad de un hogar es la principal preocupación como habitante de la Cd. de México, Un
sistema de seguridad por reconocimiento de voz puede no solo aumentarla si no también tener la
tranquilidad de saber quién acceda al hogar.
El sistema de seguridad por voz será más confiable ya que pasara por diversos métodos siendo el
más importante la predicción lineal, obtención de parámetros llamados coeficientes LPC/Cepstrum
y condiciones implementadas por el programador, disminuyendo la probabilidad de error al
reconocer al usuario; Aunque un aspecto importante a considerar y que el programador no puede
corregir es si el usuario dice la palabra en un tono de extrema alegría o extrema tristeza ya que esto
modifica las características de su voz afectando los coeficientes LPC como a su vez lo haría si el
usuario está en estado alcohólico o inconveniente.
Para corregir este problema se propuso tener más bases de datos del mismo usuario pero en
diferentes estados de ánimo, así el usuario antes de identificarse podría indicar su estado de ánimo
y el programa relacionaría su grabación en el momento, con la base de datos asignada para ese
usuario en ese estado de ánimo (Comparación de coeficientes LPC en diferentes estados de
ánimo), esto podría facilitar en gran medida el acceso a otros usuarios es por esa razón por la cual
que no se implementó esta solución, y se optó por que el usuario grabara de forma correcta y
como lo realizo en las grabaciones cuando se diseñó su base de datos.
La seguridad por voz irá en aumento al paso de las diferentes etapas del sistema como filtrado,
normalización, obtención de parámetros y pitch, tecnologías que vallan mejorando la confiabilidad
y velocidad en la toma de decisión. Estas a su vez ayudaran en la implementación de sistemas de
seguridad eficientes.
La opción de usar MATLAB como herramienta principal permitió realizar una interfaz para
un sistema de reconocimiento de voz de uso fácil, eficaz y con capacidad de ejecutar operaciones
de procesamiento de señales llamada GUI.
El sistema de Reconocimiento de voz ampliará en gran medida la seguridad del hogar y será la
base de futuras implementaciones de seguridad total automatizada para el hogar, incluyendo
control de ventanas, luces, puertas, plomería, instalaciones de gas, etc. Haciendo de este un
proyecto base de Domótica.
Se aprendió que para realizar un reconocedor de voz, se necesitan muchas partes tanto software
como hardware que realicen cada una de sus funciones de manera adecuada, siendo el software el
de mayor importancia, gracias a este se pueden programar los algoritmos para poder reconocer al
usuario, pero el hardware también tiene su
6
CONCLUSIONE
importancia debido a que al usar un micrófono mejor se puede obtener una mejor calidad en la
señal adquirida y por lo tanto dejar que el software se encargue sólo del procesamiento de la señal
y no tenga que desperdiciar tiempo en limpiarla, filtrarla y normalizarla.
Se tuvieron algunos problemas durante la realización del proyecto, los cuales fueron los
siguientes:
El problema relacionado con la comparación entre la señal de voz adquirida y la base de datos de
cada usuario (Coeficientes LPC), debido a que se tenía un alto procesamiento de datos que se tuvo
que limitar para el rápido funcionamiento de este.
La solución para este problema fue colocar contadores que indicaran el número de coeficientes
LPC que se parecieron a los coeficientes LPC grabados en la Base de datos de cada usuario y el
número más cercano al máximo de Coeficientes LPC será el usuario identificado, para el
software es más fácil comparar un número contra otro, que un vector de miles de números contra
otro vector de miles de números, no se comprometió la integridad o seguridad del reconocimiento
sólo se agilizó el procesamiento del software para que al usuario le pareciera más agradable y
fluido.
Otro problema que se encontró fue que al aumentar la cantidad de usuarios el programa sería más
extenso y la similitud entre cada usuario y sus coeficientes LPC podría converger en un punto,
causando esto fallas en el sistema.
Este problema se pudo solucionar programando los límites de relación de cada contador en
relación con los demás haciéndolos más estrictos para que el software no pueda dar acceso a algún
usuario si no lo ha reconocido de manera adecuada.
De esta manera se pudieron solucionar los problemas que surgieron durante la realización del
proyecto, los cuales funcionaron correctamente y no han presentado fallas o alteraciones que
afecten el desempeño del proyecto.
6
BIBLIOGRAFIA Y/O
[1] Franco Galván, Jorge Andrés. “Reconocimiento de Voz para Niños con Discapacidad en el
Habla”, Universidad de las Américas departamento de Ingeniería Electrónica 2010, Puebla,
México.
[2] Cruz Beltrán, Luis. A. y Acevedo Mosqueda, Marco. A. “Aplicación del Reconocimiento de
Voz de un Hablante Mediante una Red Neuronal Artificial Back propagation y Coeficientes LPC
sobre un Canal Telefónico”
[4]Kai-Fu, Lee.“AutomaticSpeechRecognition”.
[6] Pereira Rama, Antonio. “Procesamiento Digital de la Señal Sonora Utilizando Matlab”.
[7] Romero Bauset, José Vicente; Dolores Rosello, Maria y Zalaya Báez, Ricardo. “Fundamentos
Matemáticos para la Ingeniería con MATLAB”, Universidad Politécnica de Valencia, España.
[10] Barragán Guerrero, Diego Orlando. “Manual de interfaz gráfica de usuario en MATLAB”,
Universidad Técnica Particular de Loja. Escuela de Electrónica y Telecomunicaciones.
[11] Faúndez Zanuy, Marcos. “Tratamiento Digital de Voz e Imagen con Aplicación a la
Multimedia”, Marcombo.
6
ANEXO
ANEXOS
Anexo 1. Programa Completo
% INICIO DE LA GUI (NO EDITAR)
functionvarargout = recvoc(varargin)
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn',
@recvoc_OpeningFcn, ... 'gui_OutputFcn',
@recvoc_OutputFcn, ... 'gui_LayoutFcn', [] ,...
'gui_Callback', []); ifnargin&&ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end
ifnargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
% INICIALIZA LA GUI
functionrecvoc_OpeningFcn(hObject, eventdata, handles, varargin)
ID=0;
saveID.mat; handles.output
= hObject; guidata(hObject,
handles);
% SALIDAS DE LA GUI
functionvarargout = recvoc_OutputFcn(hObject, eventdata, handles)
varargout{1} = handles.output;
% BOTON GRABAR
functiongrabar_Callback(hObject, eventdata, handles)
6
ANEXO
title('Grafica de Voz','Fontname','Trebuchet
MS','Fontangle','Italic','Fontweight','Bold','Fontsize',20,'color',[1 1 1])
xlabel('Tiempo','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('Grabacion terminada');
% BOTON IDENTIFICAR
functionIdentificar_Callback(hObject, eventdata, handles)
6
ANEXO
cont1=0;
for j = 1:25
cont1 = d1(j)+cont1;
end
6
ANEXO
cont1
cont2=0; for
x = 1:25
cont2 = d2(x)+cont2;
end
cont2
7
ANEXO
% BOTON SALIR
functionSalir_Callback(hObject, eventdata, handles)
7
ANEXO
% GRAFICA DE TRABAJO
functionGrafica_CreateFcn(hObject, eventdata, handles)
handles.Grafica=1:1:882;
handles.h = plot(handles.Grafica,zeros(882,1));
title('Grafica de Voz','Fontname','Trebuchet
MS','Fontangle','Italic','Fontweight','Bold','Fontsize',20,'color',[1 1 1])
xlabel('Tiempo','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])
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');
end
else
msgbox('No Identificado!!!');
end
ifispc&&isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
7
ANEXO
7
GLOSARI
GLOSARIO
Algoritmo: Conjunto ordenado y finito de operaciones que permite hallar la solución de un
problema.
Amplitud: Distancia entre los puntos más alto y más bajo de la onda, determina la intensidad. Es
una medida de la variación máxima del desplazamiento u otra magnitud física que varía
periódica o cuasi-periódicamente en el tiempo.
Armónico: En una onda periódica, cualquiera de sus componentes sinusoidales, cuya frecuencia
sea un múltiplo entero de la frecuencia fundamental.
Filtro: Dispositivo que elimina o selecciona ciertas frecuencias de un espectro eléctrico, acústico,
óptico o mecánico, como las vibraciones.
Frecuencia: Número de veces que se repite un proceso periódico por unidad de tiempo.
Normalizar: Es el proceso de elaborar, aplicar y mejorar las normas que se aplican a distintas
actividades científicas, industriales o económicas con el fin de ordenarlas y mejorarlas. La
normalización persigue fundamentalmente tres objetivos:
Simplificación: se trata de reducir los modelos para quedarse únicamente con los más
necesarios.
Unificación: para permitir el intercambio a nivel internacional.
Especificación: se persigue evitar errores de identificación creando un lenguaje claro y
preciso.
7
GLOSARI
Silencio: El silencio surge cuando no hay sonidos perceptibles, pero en realidad es un estado
mental, porque siempre suena algo, aunque sea muy levemente.
Sonido: Sensación producida en el órgano del oído por el movimiento vibratorio de los cuerpos,
transmitido por un medio elástico, como el aire.
Timbre: Calidad de los sonidos, que diferencia a los del mismo tono y depende de la forma y
naturaleza de los elementos que entran en vibración.
Tono: Cualidad de los sonidos, dependiente de su frecuencia, que permite ordenarlos de graves a
agudos.
Transductor: Dispositivo que transforma el efecto de una causa física, como la presión, la
temperatura, la dilatación, la humedad, etc., en otro tipo de señal, normalmente eléctrica.