Está en la página 1de 12

INTRODUCCIÒN

El reconocimiento automático del habla (RAH) o reconocimiento


automático de voz es una disciplina de la inteligencia artificial que tiene
como objetivo permitir la comunicación hablada entre seres humanos
y computadoras.
El problema que se plantea en un sistema de este tipo es el de hacer
cooperar un conjunto de informaciones que provienen de diversas fuentes
de conocimiento (acústica, fonética, fonológica, léxica, sintáctica,
semántica y pragmática), en presencia de ambigüedades, incertidumbres y
errores inevitables para llegar a obtener una interpretación aceptable del
mensaje acústico recibido.
Un sistema de reconocimiento de voz es una herramienta computacional
capaz de procesar la señal de voz emitida por el ser humano y reconocer la
información contenida en ésta, convirtiéndola en texto o emitiendo
órdenes que actúan sobre un proceso.
En su desarrollo intervienen diversas disciplinas, tales como: la fisiología,
la acústica, la lingüística, el procesamiento de señales, la inteligencia
artificial y la ciencia de la computación.

Los sistemas comerciales han estado disponibles desde 1990. A pesar del
aparente éxito de estas tecnologías, muy pocas personas utilizan el sistema
del reconocimiento de voz en sus computadoras. Parece ser que muchos de
los usuarios utilizan el ratón y el teclado para guardar o redactar
documentos, porque les resulta más cómodo y rápido a pesar del hecho de
que todos podemos hablar a más velocidad de la que tecleamos.
Sin embargo, mediante el uso de ambos, el teclado y el reconocimiento del
habla, nuestro trabajo sería mucho más efectivo.

Este sistema donde está siendo más utilizado es en aplicaciones telefónicas:


agencias de viajes, atención al cliente, información etc. La mejora de estos
sistemas de reconocimiento del habla ha ido aumentando y su eficacia cada
vez es mayor.

En forma global, con lo mencionado anteriormente, este proyecto se basa


en la elaboración de un módulo de reconocimiento de voz con arduino.
Como equipo de trabajo tenemos como objetivos principales:

Elaborar y presentar el modulo reconocimiento de voz con Arduino,


aprendiendo a grabar y cargar nuestras órdenes por voz en el Arduino,
permitiendo además interactuar con este nuevo modelo.
DESCRIPCION DEL PROYECTO

Hoy en día ya nos hemos acostumbrado a poder interactuar con ciertos


dispositivos electrónicos por medio de nuestra voz, sobre todo y como casi
siempre, con los Smartphone.

Nuestro proyecto se basa en la elaboración de una maqueta, en este caso


hemos elegido una casa, a ésta se le instalará un modelo de reconocimiento
de voz con arduino, con estos arduinos vamos a poder meternos de lleno
en el tema del reconocimiento de voz de una forma sorprendentemente
sencilla gracias a la elaboración de dicho modulo.

Este dispositivo, identifica exactamente qué es lo que se está diciendo,


además en particular es capaz de almacenar y detectar hasta 15 comandos
de voz diferentes.

Nuestro objetivo es crear un programa que simule el encendido y apagado


de luces de una casa, utilizando nuestra voz a modo de interruptor. Para
ello se conectará un foco y algunos LEDS que corresponderán al salón, la
cocina, el baño y la habitación.

Lo que pretendemos es que cuando nombremos una de esas estancias se


encienda la luz si estaba apagada, y se apague si estaba encendida. Además
utilizaremos dos comandos de voz más: “Encender” para encender todos
los LEDS y “Apagar” para apagar todos.

Éste será un proyecto novedoso, con la elaboración de una maqueta muy


bien creada y elaborada
MATERIAL REQUERIDO

ARDUINO
El arduino es una placa que lleva un micro
controlador Atmel AVR (se utilizan varios
como el Atmega168, Atmega328,
Atmega1280 o ATmega8) y ofrece al
usuario varios puertos de entrada/salida y
un entorno de desarrollo que tiene como
objetivo desarrollar proyectos vinculados al
mundo de la electrónica

Módulo de
reconocimiento
de voz

El módulo de reconocimiento de voz


está diseñado para reconocer el
volumen, la modulación y la entonación
de las palabras para saber exactamente
que comandos deseas ejecutar.
PROTOBOARD, CABLES FOCO, DIODOS LED,
RESISTENCIAS

Estos materiales nos ayudarán a poder


armar el módulo de manera adecuada.
El módulo con el cual trabajaremos para llevar a cabo nuestro proyecto tiene
capacidad para almacenar hasta 255 comandos de voz diferentes, pero sólo
podremos utilizar a la vez 7 de ellos. Además, los comandos pueden tener
una duración de 2 o 3 segundos.

La forma de trabajar con él será la siguiente:


 Primero grabaremos los comandos (hasta 255).
 Luego cargamos los comandos que queramos utilizar (7 máximo).
 Implementamos los comandos en el programa en el que lo
necesitemos.

El módulo es muy fácil de conectar, tiene 2 pines para la alimentación y 2, Tx


y Rx, para comunicarse con nuestro Arduino. Como vamos a utilizar la librería
Software Serial, se podrán emplear los pines que uno quiera nosotros
utilizaremos los pines 2 y 3 porque son para los que vienen configurados.
Además, tenemos que conectarle el micrófono en el jak.
Y como acabamos de adelantar, necesitaremos descargar esta librería:
voicerecognitionv3. La librería se encargará de hacer el trabajo “sucio”, y
además tiene ya preparado el programa que nos servirá para grabar
nuestros comandos de voz y cargarlos en el módulo

GRABAR Y CARGAR EN EL MÓDULO LOS COMANDOS DE VOZ

Cada vez que queramos grabar, cargar, modificar o borrar los comandos que
tengamos en el módulo, tendremos que arrancar uno de los ejemplos que
vienen con la librería: vr_sample_train. Después de cargar el programa,
abrimos el monitor serie y lo configuramos para trabajar a 115.500 baudios.
Nos encontraremos con una pantalla como esta:

Ahí nos aparecen los comandos que tenemos disponibles y su forma de


utilizarlos. Basta con introducirlos en la línea de comandos. Los que nosotros
utilizaremos serán: sigtrain y load; aunque por supuesto se puede probar a
utilizar los demás. En la columna “Comment” se tiene una breve explicación
de la finalidad que tienen.

Si se desea y quiere saber en qué transforma el módulo nuestras voces, se


puede usar el comando getsig indicando que número de comando se quiere
consultar.
El primero que vamos a usar es el comando sigtrain que sirve para grabar los
comandos de voz. Junto al comando le pasaremos la posición en la que
queremos que se guarde y el nombre que queremos asignarle.

Como para probarlo vamos a utilizar un ejemplo que enciende y apaga un


LED, tendremos que grabar dos voces, una para encenderlo y otro para
apagarlo. Para grabar la primera escribiremos: “sigtrain 0 Encender”.

Cuando pulsemos” Intro” veremos como en el módulo comienza a


parpadear un LED naranja rápidamente. Es la señal para que nos
preparemos. Tendremos que grabar cada comando dos veces, y si coinciden
se guardarán. Si no es así tendremos que grabar más veces hasta que
coincidan.

El procedimiento es el siguiente:

 LED naranja parpadea rápido: Prepárate.


 LED rojo fijo: Grabar comando primera vez.
 LED naranja parpadea lento: Prepárate para la segunda grabación.
 LED rojo fijo: Grabar comando segunda vez.
 LED rojo y naranja parpadeando a la vez: Los comandos coinciden y se
guardan.
Mientras hacemos esto en el monitor serie veremos una serie de mensajes
que nos irán guiando durante el proceso de grabación.

Para grabar el comando para apagar el procedimiento será exactamente el


mismo, pero usaremos el comando “sigtrain 1 Apagar”.
Ahora tendremos que cargar las voces que hemos grabado. Para ello
utilizaremos el comando load, indicándole que números de comando
queremos cargar, en nuestro caso el 0 y el 1: “load 0 1”. Si se graban
correctamente veremos un mensaje indicándonoslo en el monitor serie.
Recordar que el máximo de comandos a cargar son 7 de entre los 255 que
podemos llegar a grabar.
Para comprobar que todo funciona correctamente, vamos a abrir otro de los
ejemplos que vienen con la librería: vr_sample_control_led.
Este programa lo que hace es encender y apagar el LED conectado al pin 13
de Arduino en función del comando de voz que reconozca el módulo. Es
importante que se haya grabado los comandos en el orden que hemos
indicado, 0 para encender y 1 para apagar, o de lo contrario
funcionará al revés.

Dicho esto, no se tiene que cargar más y probar si cuando decimos


“Encender” o “Apagar” efectivamente el LED responde como debe. En el
monitor serie podemos ver qué comandos se han cargado al cargar el
programa, y nos mostrará cada vez que se reconozca un comando de voz.

También podría gustarte