Proyecto. Sistema de Reconocimiento de voz

1 UNIVERSIDAD CATÓLICA DE SANTA MARÍA Facultad de Ciencias e Ingenierías Físicas y Formales Escuela Profesional de Inge

Views 222 Downloads 3 File size 500KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

1

UNIVERSIDAD CATÓLICA DE SANTA MARÍA Facultad de Ciencias e Ingenierías Físicas y Formales Escuela Profesional de Ingeniería Electrónica

Proyecto: “Sistema de Reconocimiento de Voz mediante la Interfaz Matlab”

Autores: Bruno Abello-Hurtado, Luis Talavera Rojas, Paúl Medina Madueño Asesor: Ingeniero Víctor Hugo Rivera Chávez.

2

INDICE CAPÍTULO 1: PLANTEAMIENTO DEL PROBLEMA. 1.1.

Descripción de la situación problemática.

1.2.

Formulación del Problema.

1.3.

Objetivos de la investigación.

1.4.

Justificación de la investigación

1.4.1. Importancia de la investigación. 1.4.2. Viabilidad de la investigación. 1.4.3. Limitaciones del estudio. CAPÍTULO 2: MARCO TEÓRICO. 2.1

Antecedentes de la investigación.

2.2

Bases teóricas.

2.3

Definición de términos básicos.

CAPÍTULO 3: PROPUESTA PARA LA IMPLEMENTACIÓN DE SISTEMAS DE VOZ. CAPÍTULO 4: METODOLOGÍA 4.1

Diseño Metodológico

4.2

Técnicas de recolección de datos

4.3

Técnicas estadísticas para el procesamiento de la información

4.4

Diseño muestral.

3

CRONOGRAMA FUENTES DE INFORMACIÓN CONCLUSIONES

4

RESUMEN Los algoritmos de reconocimiento de voz son utilizados en aplicaciones de control inteligente especialmente en el área de la medicina. Una de las aplicaciones es el control de equipos de asistencia motora como las sillas de ruedas para pacientes con discapacidad motora total de sus extremidades inferiores y superiores. Las personas en esta condición tienen dificultad para trasladarse de un lugar a otro, dependiendo siempre de ayuda externa.

El presente informe describe el desarrollo de un algoritmo de reconocimiento de comandos de voz aplicando técnicas no lineales para la identificación de instrucciones de control en el desplazamiento de equipos de asistencia motora, con el fin de proporcionar un desplazamiento autónomo a personas con discapacidad motora total que pueden oír, ver y hablar. Las muestras de voz fueron recolectadas en un ambiente sin ruido y con ruido, aplicando un filtro digital para la eliminación del mismo.

El procesamiento de la información filtrada se realizó mediante análisis rápido de Fourier, normalización, correlación de Pearson para el reconocimiento por voz de los comandos de control.

ABSTRACT The speech recognition algorithms are used in intelligent control applications especially in the field of medicine. One application is the control of motor assistance equipment such as wheelchairs for patients with total motor disability of their upper and lower extremities. People in this condition have difficulty moving from one place to another, always depending on external aid.

This article describes the development of an algorithm to recognize voice commands using nonlinear techniques for identifying control instructions for moving motor assistance equipment, in order to provide an independent movement to people with full motor disabilities who can hear, see and speak.

5

The speech samples were collected in an environment without noise and noise by applying a digital filter for elimination. The filtered information processing were performed using fast Fourier analysis, Pearson and normalized.

6 CAPÍTULO 01 PLANTEAMIENTO DEL PROBLEMA

Descripción de la situación problemática En las últimas décadas la inseguridad ciudadana se ha convertido en uno de los grandes desafíos de nuestra sociedad. El impacto sobre la calidad de vida de los ciudadanos obliga a los gobiernos nacionales, locales y a los sectores organizados de la sociedad, a diseñar esquemas alternativos a los existentes, siendo su propósito el disminuir los niveles de inseguridad, sin sacrificar el avance de la Democracia y el respeto por los Derechos Humanos y las Garantías Ciudadanas. Por esta razón, hemos decidido realizar un Sistema de Reconocimiento de voz para ser aplicable en Seguridad y diversas áreas.

Formulación del problema Dado que en la actualidad es necesario tener mejores e innovadores sistemas de seguridad que interactúen con el dueño y que sean capaces de tener un procesamiento de información veloz y precisa que les permita tomar decisiones rápidas y confiables antes cualquier situación (intento de robo, suplantación de identidad, factores de ruido, etc.).

7 OBJETIVOS DE LA INVESTIGACIÓN

Objetivos generales Realizar el diseño, implementación y mejora de un sistema de reconocimiento de voz por medio de algoritmos implementados en una interfaz con el objetivo de analizar la señal capturada por un micrófono y obtener reconocimiento de la voz junto con los datos representativos del usuario. Objetivos específicos •

Diseñar un sistema óptimo y versátil de reconocimiento de voz para ser aplicado en diversos sectores de la industria y administrativos.



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.



Aplicar métodos acústicos, matemáticos y físicos de la voz para identificar y reconocer la voz.



Explorar algoritmos de procesamiento digital de voz, que permitan un tratamiento sencillo de información relevante de las señales de voz. lograr la interacción automática humano/computadora por medio de un sistema simple de utilizar.

8 Justificación de la investigación Debido a la inseguridad actual que se presenta en nuestro país es que se realizara un sistema de reconocimiento de voz para el hogar utilizando la voz, con la finalidad de proponer a los habitantes un sistema capaz de resguardar su hogar. Este proyecto dará paso a muchas otras aplicaciones diferentes para este sistema, por ejemplo: -

Mediante una base de datos se podría identificar a una persona (DNI, domicilio, nacionalidad, edad, altura, antecedentes penales, etc.) solo mediante su voz ya sea de forma presencial o mediante un micrófono a la larga distancia.

-

Usarlo para registrar la asistencia de un personal de trabajo.

-

Automatizar hogares o procesos mediante comandos de voz.

9 CAPÍTULO 2 MARCO TEÓRICO

Introducción 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 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 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.

10 Bases Teóricas Formantes Los formantes son elementos que sirven para distinguir componentes del habla humana, principalmente, las vocales y sonidos sonantes. No todos los sonidos se componen de formantes definidos. Solamente aparecen en sonantes, que incluyen los sonidos pulmonares: vocales, aproximantes y nasales. Si la frecuencia fundamental es mayor que la frecuencia de los formantes, entonces el carácter del sonido se pierde y se vuelven difíciles de distinguir, por lo cual son difíciles de reconocer. Aquí están algunos anchos de banda entre los cuales se localizan las vocales.

Figura 01: Formante Vocálicos. Wikipedia (2020)

El habla es una señal continua y variante en el tiempo por lo cual usando un micrófono convertirá 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).

11  

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

MUESTREO Se 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: f muestreo=2∗( f máx ) Dónde: •

f máx =¿Frecuencia máxima de la señal para poder reproducirla.



f muestreo=¿ Frecuencia 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).

CUANTIZACIÓN

12  

La cuantizacion consiste en que cada muestra se representa con un valor digital limitando el rango de

valores discretos correspondiente a la original. Entonces, podemos decir que:  El error o diferencia entre la señal original y la reconstruida se percibe como ruido, por lo tanto, a mayor resolución mayor cuantización y menor ruido como consecuencia.   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), por lo tanto, a mayor SNR es mayor la fidelidad de la señal digitalizada.   SNR aproximadamente es: 2B , Dónde: B = bits/muestra.  Es independiente de la frecuencia de muestreo.

CODIFICACIÓN Consiste en la traducción de los valores de tensión eléctrica analógicos que ya han sido cuantificados (ponderados) al sistema binario, mediante códigos preestablecidos. La señal analógica va a quedar transformada en un tren de impulsos de señal digital (sucesión de ceros y unos). Esta traducción es el último de los procesos que tiene lugar durante la conversión analógicadigital. El resultado es un sistema binario que está basado en el álgebra de Boole.

13 El reconocimiento de voz generalmente es utilizado como una interfaz entre humano y computadora para algún software.

SEÑAL ACÚSTICA Un reconocedor no puede analizar los movimientos en la boca. En su lugar, la fuente de información es la señal de voz misma. El Habla es una señal analógica, es decir, un flujo continuo de ondas sonoras y silencios. El conocimiento de la ciencia de la acústica se utiliza para identificar y describir los atributos del habla que son necesarios para un reconocimiento de voz efectivo. Algunas características importantes del análisis acústico son: Frecuencia y amplitud Todos los sonidos causan movimientos entre las moléculas del aire. Algunos sonidos, tales como los que produce una cuerda de guitarra, producen patrones regulares y prolongados de movimiento del aire. Los patrones de sonidos más simples son los sonidos puros (pure tones), y se pueden representar gráficamente por una onda senoidal.

Frecuencia Número de vibraciones (ciclos) del tono por segundo 100 por segundo = 100 ciclos/segundo = 100 Hz.

14 Tonos altos = Mayor frecuencia Tonos bajos = Menor frecuencia El volumen de un sonido refleja la cantidad de aire que es forzada a moverse.

Se describe

y representa como amplitud de la onda y se mide en decibeles dB.

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. Sumadas a la frecuencia fundamental hay otras frecuencias que contribuyen al timbre del sonido. (Son las que nos permiten distinguir una trompeta de un violín, etc. o las voces de diferentes personas). Algunas bandas de la frecuencia secundarias juegan un rol importante en la distinción de un fonema de otro. Se les llama formantes y son producidas por la resonancia. La garganta, boca y nariz son cámaras de resonancia que amplifican las bandas o frecuencias formantes contenidas en el sonido generado por las cuerdas vocales. Estas formantes amplificadas dependen del tamaño y forma de la boca y si el aire pasa o no por la nariz.

15 Los patrones de las formantes son más fuertes (distinguibles) para vocales que para las consonantes no sonoras.

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: 1. Pre-procesamiento: Convierte la entrada de voz a una forma que el reconocedor pueda procesar. 2.  Reconocimiento: Identifica lo que se dijo (traducción de señal a texto). 3.  Comunicación: Envía lo reconocido al sistema (Software/Hardware) que lo requiere.  Componentes en una aplicación:

16 Figura 01. Diagrama de Bloques del Proceso General Del Reconocimiento de voz.

Interfaces de Apoyo MySQL WORKBENCH  Es una herramienta visual de diseño de bases de datos que integra desarrollo de software, administración de bases de datos, diseño de bases de datos, gestión y mantenimiento para el sistema de base de datos MySQL. MATLAB MATLAB es el nombre abreviado de “MATrix LABoratory”. Es un lenguaje de alto nivel y de ambiente interactivo que permite realizar tareas intensas y con una mayor velocidad que los lenguajes de programación comúnmente usados. MATLAB se especializa en cálculos numéricos con vectores y matrices, como casos particulares puede trabajar también con otras estructuras de información. Aunque cada objeto es considerado como un arreglo. El lenguaje está construido por código llamado M-code que puede ser fácilmente ejecutado en la ventana de comandos. Con lo cual se pueden crear funciones, etc. Pero la razón principal para la elección de este lenguaje de programación son las herramientas que proporciona para el procesamiento de señales, y el conjunto de funciones para el procesamiento digital.

17

Figura 02. Logo de interfaces de apoyo

CÓDIGO PARA LA GRABACIÓN DE VOZ

El siguiente programa es el encargado de grabar los datos en la base de datos. %GRABAR INFORMACION EN LA BASE DE DATOS Function pushbutton2_Callback(hObject,eventdata,handles) dato1 dato2 dato3 dato4 dato5

= = = = =

str2double(get(handles.edit1,'string')); get(handles.edit2,'string'); get(handles.edit3,'string'); get(handles.edit4,'string'); get(handles.edit5,'string');

%---------INICIAR CONECION---------conexion = database('base_datos_reco_voz','root','polaco459_'); datosenviar = {dato1,dato2,dato3,dato4,dato5};

18 colguardar = {'codigo_integrante','DNI_integrante','edad_integrante','nombre_integra nte','telefono_integrante'}; insert(conexion,'table1',colguardar,datosenviar); close(conexion); %---------FIN DE LA CONEXION--------msgbox('se ha registrado al usuario correctamente','Mensaje');

Fuentes de información 1. Lopez, E. y Hernandez L. 2006. Laboratorio de Tratamiento Digital de Voz. 2. Modelado de la señal de Voz. Grupo PAS. Universidad de Deusto, España. 3. Analisis de Fourier: http://www.euskalnet.net/iosus/speech/fourier.html

4. Gomez, J.C. Apuntes: Medidas de distancia y Reconocimiento de Vocales.

19

Conclusiones 1.

El reconocimiento de voz es una de las aplicaciones del procesamiento digital de señales que permite interacción entre seres humanos y computadoras.

2.

Con la herramienta MATLAB se reduce la complejidad del procesamiento digital de señales.

3.

Es necesario filtrar las señales de voz para enfatizar las características acústicas, llamadas formantes.