Está en la página 1de 30

UNIVERSIDAD NACIONAL DE SAN ANTONIO ABAD DEL CUSCO

FACULTAD DE INGENIERÍA ELÉCTRICA, ELECTRÓNICA, INFORMÁTICA Y


MECANICA
Escuela Profesional de Ingeniería Electrónica

SISTEMA DE SEGURIDAD POR RECONOCIMIENTO DE VOZ

Docente:
Ing. Wily Vargas Mateos

Estudiantes
- Carrasco Benavente, Rod Steven (171575)
- Sanchez Enciso, Isis Minerva (171582)

CUSCO – PERÚ
1
INDICE

CAPITULO I : ANTECEDENTES Y DESCRIPCION DEL PROBLEMA

ANTECEDENTES……………………………………………………………………………………………………….…3

1) OBJETIVO GENERAL………………………………………………………………………………………………..….4

1.1) OBJETIVO ESPECÍFICO…………………………………………………………………………………………...4

CAPITULO II: MARCO TEORICO Y CONCEPTUAL

2) MARCO TEÓRICO……………………………………………………………………………………………………...4

2.1) CONCEPTOS BÁSICOS………………………………………………………………………………………..….4

2.2) FUNCIONAMIENTO DE UN SISTEMA DE RECONOCIMIENTO DE VOZ………………………………..…5

2.3) MÉTODOS PARA EL RECONOCIMIENTO DE VOZ ………………………………………………………..…6

2.4) DIGITALIZACIÓN DE VOZ…………………………………………………………………………….……….…6

2.5) CODIFICACIÓN DE LA SEÑAL DE VOZ…………………………………………………………………….…..6

2.6) MUESTREO Y CUANTIFICACIÓN ………………………………………………………………………….…..7

2.7) MÉTODOS DE RECONOCIMIENTO DE VOZ…………………………………………………………….……10

CAPITULO III: DESARROLLO DEL TRABAJO

2.8) MÉTODOS Y ETAPAS PARA EL RECONOCIMIENTO DE VOZ……………………………………………..11

2.9) DIAGRAMA DE FLUJO DE VOZ…………………………………………………………………………………12

2.10) MUESTREO………………………………………………………………………………………………..……14

2.11) PROCESO DE CUANTIFICACIÓN ………………………………………………………………………..…..14

2.12) EXTRACCIÓN DE LAS CARACTERÍSTICAS………………………………………………………….……….17

2.13) METODOLOGÍA ……………………………………………………….…………….……………….……….19

2.14) MICRÓFONO……………………………………………………………………………………………………20

CAPITULO IV : ANALISIS Y PRESENTACION DE RESULTADOS

2.15) RECONOCIMIENTO DE VOZ (GRABAR AUDIO)…………………………………………………………….21

RESUMEN ………………………………………………………………………………………………..………………..23

CONCLUSIONES ……………………………………………………………………………………………..…………….25

BIBLIOGRAFÍA/REFERENCIAS………………………………………………………………………………..………….26

ANEXOS………………………………………………………………………………………………………….………….27
2
CAPÍTULO I: ANTECEDENTES Y DESCRIPCIÓN DEL PROBLEMA

Antecedentes

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 los 1990's en el sector Salud se inicia la generación de reportes clínicos por voz en
salas de emergencisa (fomentado por las empresas se seguros Blue Cross y Blue
Shield). Posteriormente se diversifico a diversas áreas de hospitales como radiología,
cardiología, etc

En 1995 se desarrollan los primeros prototipos de aparatos

Actualmente las PC's integran utilerías de voz. Microsoft Corp.: Facilidades para
construir objetos de comandos de voz (voice-commandobjects) en Win95.

Orden Cronológico De los Reconocedores de Voz

1870's Alexander Graham :

Quería construir un sistema/ que pudiera hacer el habla visible a las personas que
tengan problemas auditivos

30 años después AT&T :

Construye la primera máquina capaz de reconocer voz (basada en Templates) de los 10


dígitos del inglés. Entonces hay la posibilidad de que surja 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. Entonces 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)

Después:

IBM y CMV trabajan en reconocimiento de voz continuo pero no se ven resultados hasta
los 1970's.

3
1) OBJETIVO GENERAL

Diseñar un sistema de seguridad para el hogar que funcione en base al reconocimiento


de voz.

1.1 OBJETIVOS E SPECÍ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.

CAPÍTULO II: MARCO TEÓRICO Y CONCEPTUAL

2) MARCO TEORICO
2.1) CONCEPTOS BASICOS: Reconocedores

El correcto funcionamiento del aparato fonador, es controlado por el sistema nervioso


central. Se tiene en cuenta el control del habla se realiza en el área de Broca que se
encuentra en el hemisferio izquierdo de la corteza cerebral.

Figura N°1 Fuente: tindero.com

 Boca y Nariz: "Cavidades de resonancia" por que refuerzan ciertas frecuencias


sonoras.

4
o La boca consiste de:
 Puntos de articulación
 Dientes
 Puente alveolar (puente óseo atrás de los dientes superiores)
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 resultados en el
reconocimiento

2.2) 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 una señal sonora a una forma que


el reconocedor pueda procesar.

 Reconocimiento: Identifica lo que se menciona (traducción de señal a texto).

 Comunicación: Envía lo reconocido al sistema (Software/Hardware) que lo


requiere.
Voz

Pre-procesamiento

Reconocimiento Tabla N°1 Fuente : Elaboración propia

Comunicación

5
MATLAB
2.3) 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.4) 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.5) 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

6
2.6) 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.

7
2.6.1) 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 Señales Senoidales Muestreadas a diferentes valores


Fuente : library.com

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 transmitirlo
8
2.6.2) 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 3. Señal Cuantizada Fuente: Cuantificación

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ítm

9
2.8) METODOS 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)

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.

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

10
CAPÍTULO III: DESARROLLO DEL TRABAJO
2.8) METODOS Y ETAPAS PARA EL RECONOCIMIENTO DE VOZ
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.

2.6.2)1. 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 R y 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.

11
2.9) DIAGRAMA DE FLUJO DE RECONOCIMIENTO DE VOZ

El siguiente diagrama de flujo muestra las acciones que deben seguirse para que el
Reconocedor de Voz funcione.

Tabla N°4 Fuente : Slidershare

2.9.1 ) ETAPAS DE RECONOCIMIENTO DE VOZ

Las etapas para el correcto funcionamiento de un Reconocedor de Voz se mencionan a


continuación.
12
Generación de la Señal Acústica

Figura 5 , Fuente : slidershare

Conversión A/D o Adquisición

Figura 6 , Fuente : slidershare

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.

13
2.10) 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

Figura 7 , fuente : señales slidershare

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 8kH

2.11) PROCESO DE CUANTIFICACION


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.

14
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.

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.

Pre-procesamiento

Figura 8 Fuente : slidershare

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]

Eliminación de Ruido y Normalización

Figura 9 , Fuente : slidershare

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.
15
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í

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 10 Fuente : slidershare

SEGMENTACION
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ñ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.

16
2.12) EXTRACCION DE LAS CARACTERISTICAS

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

CALCULO DE LA 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:

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
17
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 vivien

2.13 ) METOLOGIA

Dentro de la metodología del proyecto se requiere:

- Generar una base de datos.


- Filtrar y normalizar la señal adquirida.
18
- 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.

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

2.14) MICROFONO

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.

19
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

Entrenamiento y Base de Datos

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.

CAPITULO IV: ANALISIS Y PRESENTACION DE RESULTADOS

2.15) RECONOCIMIENTO DEL HABLA ( TOMA DE DECISIÓN )

20
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

21
5)

CONCLUSIONES

En un sistema de reconocimiento de voz, la toma de decisión es difícil debido a factores


como la similitud de las palabras, el nivel de ruido del lugar donde se realizan las
grabaciones y los estados de ánimo del usuario.

El sistema de seguridad por voz será más confiable ya que pasara por diversos métodos

22
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
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.

23
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 el parecido 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 trabajosos para que el software no pueda
dar acceso a algún usuario si no lo ha reconocido de manera adecuada.

RECOMENDACIONES

El trabajo empleado requiere mucho énfasis en la programación de MATLAB y ajustar bien los
parámetros del código, tuvimos problemas por la versión del MATLAB de ambos ya que uno era del
2018 y otro del 2019 al menos nos retraso un tiempo para analizar bien la salida de voz

Los códigos que verificamos en diversas fuentes del internet se diferenciaban mucho a lo que
nosotros hacíamos en un inicio por el mismo problema de la versión de MATLAB

Al aplicar la entrada de voz pudimos lograr el reconocimiento de 5 palabras las cuales funcionan; sin
embargo las especificaciones de tiempo que pusimos fue de 3 segundos y al momento de probar la
simulación solo se nos aperturaba 1 segundo de esa misma entrada de voz

24
BIBLIOGRAFIA Y/O REFERENCIAS

Reconocimiento de voz. MATLAB https://www.youtube.com/watch?v=O3yPLUgp4nk

Gómez, J.C. “Apuntes: Medidas de distancia y Reconocimiento de Vocales”, Consulta:


http://www.eie.fceia.unr.edu.ar/%7Eprodivoz/apuntes_index/pdf/, 30/06/2012

“VOICEBOX: Librería de MATLAB para la voz en código”, Consulta:


http://www.ee.ic.ac.uk/hp/staff/dmb/voicebox/voicebox.html .

Fig N°1 [Fecha de acceso: 01/03/21]. URL disponible en: https://tintero.com.ar/index.php/site/article?


slug=los-sistemas-del-cuerpo-humano-un-universo-conectado&category=para-el-cole-lectura

Fig N°2 [Fecha de acceso: 01/03/21]. URL disponible https://1library.co/document/eqok96ky-


sistema-de-seguridad-por-reconocimiento-de-voz.html

Fig N°3 [Fecha de acceso: 01/03/21]. URL disponible https://8ticg2.wordpress.com/2-3-3-


cuantificacion/

Fig N°4,5,6 [Fecha de acceso: 01/03/21]. URL disponible


https://www.slideshare.net/tHegOki/sistema-
deseguridadporreconocimientodevoztesisdeingenieriaesime
25
Fig N°7 [Fecha de acceso: 01/03/21]. URL disponible
https://es.slideshare.net/IVANAARON/unidad-1-fundamentos-de-circuitos-logicos

ANEXOS

Anexo 1. Programa Completo

% INICIO DE LA GUIA
functionvarargout = recvoc(varargin)

gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @recvoc_OpeningFcn, ...
'gui_OutputFcn', @recvoc_OutputFcn, ...

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;
26
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)

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
if( e> umbral*prom) % Si el promedio energético es mayor que la
señal completa por el valor umbral
y = [y;seg(1:end)]; % Almacena en (y) sino es eliminado como
espacio en blanco
;
% 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

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)

% Lee el archivo De Promedio Fernando


27
[k0,Fs,bits] = wavread('FProm.wav');
% Lee el archivo De Promedio Alexis
[k1,Fs,bits] = wavread('AProm.wav');
% Lee el archivo De Promedio Oxana
[k2,Fs,bits] = wavread('EProm.wav');
% Lee el archivo que se grabo en la GUI
[kx,Fs,bits] = wavread('Limpia.wav');
loadID.mat;

% Obtiene el numero de Coeficientes


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);

% 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])

% 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,

28
msgbox('Prendiendo Luz');
case 5,
msgbox('Apagando Luz');
end
else
msgbox('No Identificado!!!');
end

% FUNCION MENU FUNCIONES DEL SISTEMA


functionMenu_CreateFcn(hObject, eventdata, handles)

ifispc&&isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end

29
30

También podría gustarte