Está en la página 1de 5

HACIA UNA INTERACCIÓN MÁS EFICIENTE:

RECONOCIMIENTO DE INSTRUCCIONES DE VOZ


Luis Alejandro Hernandez Tinoco
lahernandezt@unillanos.edu.co
Diego Alejandro Bedoya Jimenez
diego.bedoya.jimenez@unillanos.edu.co

III. JUSTIFICACIÓN
I. INTRODUCCIÓN
En los últimos años, las industrias y áreas de
De forma cotidiana nos vemos rodeados por la consumo han evidenciado a gran escala la
tecnología y vemos como avanza día a día, en implementación de sistemas automatizados por
donde se busca automatizar y optimizar hasta los medio del reconocimiento de voz, debido a que es
procesos más simples y cotidianos, así mismo un proceso eficiente, el cual reduce los tiempos de
existen aplicaciones diseñadas para reconocer procesamiento y optimiza el trabajo del personal
instrucciones de voz que reducen mejorando así la rentabilidad.
significativamente el esfuerzo físico para ciertas
actividades, de manera que estas aplicaciones lo En los hogares y diferentes industrias se ha venido
que hacen es recibir instrucciones por medio de la evidenciando la necesidad de dichos sistemas que
voz, procesarlas y ejecutarlas en una acción. permiten controlar la mayoría de tareas mediante
En el presente documento se exhibe la procesos automatizados que son activados por
implementación de la teoría de Análisis de señales instrucciones específicas de voz como apagar las
para reconocer comandos de voz y llevarlos a un luces de una habitación, encender un tv entre otras
proyecto de aplicación en la vida real, mediante el acciones, disminuyendo así el esfuerzo físico
uso de la Transformada Rápida de Fourier (FFT), la empleado en dichas labores.
cual fue codificada en el lenguaje de programación
Python e implementada en una tarjeta raspberry pi
para que pueda controlar una matriz de leds 8x8 IV. OBJETIVOS
por medio de las palabras “derecha”, “sur”, y
“norte”. General.

●Implementar un prototipo de aplicación


II. PLANTEAMIENTO DEL PROBLEMA reconocedora de comandos de voz por medio de la
Transformada Rápida de Fourier, haciendo uso de
la raspberry pi y una matriz led.
En los países más desarrollados la implementación
de procesos eficientes, precisos y automatizados se Específicos.
convierte en una necesidad por lo que suelen
disponer de un sistema de comandos de voz que ● Diseñar el código de la FFT en Python.
permita realizar tareas en las cuales no se requiera
de forma indispensable la intervención física, ● Analizar los vectores en frecuencia y potencia de
debido a esto surge la necesidad de implementar las palabras utilizadas para el reconocimiento de
dispositivos y procesos que lleven a cabo este tipo voz.
de acciones sin usar las manos ni mirar una
pantalla. ● Comparar la energía de las potencias en tiempo
real para controlar una matriz led.
Partiendo del enfoque de reconocimiento de
instrucciones por voz, nos preguntamos, ¿Cómo V. MARCO REFERENCIAL
podemos identificar procesos en los cuales la voz se
convierte en una instrucción a ejecutar en 5.1 ANTECEDENTES
raspberry pi para controlar diversas acciones?, para
ello se formulan los siguientes interrogantes: ● Historia de sistemas de reconocimiento de voz

1.¿Cómo y de qué forma la población se beneficia


al automatizar la mayoría de artefactos tecnológicos En 1870 Alexander Graham Bell quería desarrollar
por medio de instrucciones de voz? un dispositivo que pudiera proporcionar un habla
visible a las personas que no podían oír. Bell no
2.¿Qué avances traería a nivel de control de pudo crear este dispositivo, pero esta investigación
procesos estandarizar el uso de instrucciones por condujo al desarrollo del teléfono.
reconocimiento de voz?
En la década de los 30 el científico húngaro
Tihamer Nemes quería patentar el desarrollo de una Energía en el dominio de la frecuencia:
máquina automática de transcripción de voz. La
solicitud de Nemes fue rechazada y el proyecto fue
llamado poco realista.

En los años 30, AT&T y Bell Laboratories


desarrollaron un dispositivo primitivo que podía
reconocer el habla. Estos científicos sabían que el
éxito y la globalización de esta tecnología Figura 1. Transformada rápida de fourier FFT [1]
dependían de su capacidad para percibir
información verbal compleja con gran precisión y
consistencia. El sistema tuvo que ser entrenado para
reconocer el discurso de cada locutor
individualmente, pero una vez especializada la
máquina tenía una exactitud de un 99 por ciento de
reconocimiento.

En la década de los 50 el primer sistema de


reconocimiento de voz se creó en una computadora
analógica que reconocía los números del 0 al 9, este
sistema dependía del hablante. Las pruebas dieron
Automatización
una precisión de detección del 98%.
La automatización de los procesos industriales
En el año 1956 se desarrollan los primeros
constituye uno de los objetivos más importantes de
prototipos de electrodomésticos - Whirlpool Corp.
las empresas en la siempre incesante tarea de la
Las computadoras de hoy tienen asistentes de voz.
búsqueda de la competitividad en un entorno
Microsoft Corp.: Funciones para crear objetos de
cambiante y agresivo. La automatización de un
comando de voz en Win95. Creative Labs integra
proceso industrial, (máquina, conjunto o equipo
procesamiento automático con la mayoría de sus
industrial) consiste en la incorporación al mismo,
tarjetas de sonido. Compaq y Pure Speech
de un conjunto de elementos y dispositivos
desarrollan conjuntamente tecnología de voz
tecnológicos que aseguren su control y buen
comportamiento. Dicho automatismo, en general ha
Desde entonces los sistemas de reconocimiento de
de ser capaz de reaccionar frente a las situaciones
voz se han introducido en todo tipo de dispositivos
previstas de antemano y además frente a
electrónicos, con el paso del tiempo han reducido su
imponderables, tener como objetivo situar al
arquitectura y su costo de manufactura.
proceso y a los recursos humanos que lo asisten en
la situación más favorable. [2].
También han salido asistentes de voz como Cortana
,Google now, y en el 2017 salió a la luz Bixby para
Raspberry pi
los celulares con sistema Android.
La Raspberry Pi es una computadora de bajo costo
En 2013 se implementa el reconocimiento de voz
y con un tamaño compacto, del porte de una tarjeta
mediante arduino. Esta es una placa de escudo de
de crédito, puede ser conectada a un monitor de
reconocimiento de voz Arduino. Esta placa Shield
computador o un TV, y usarse con un mouse y
contiene todas las funciones de los módulos
teclado estándar. Es un pequeño computador que
EasyVR 3.0, cuya estructura simplifica la conexión
correo un sistema operativo linux capaz de
entre la placa Arduino y la computadora.
permitirle a las personas de todas las edades
explorar la computación y aprender a programar
lenguajes como Scratch y Python. Es capaz de
5.2 MARCO TEÓRICO
hacer la mayoría de las tareas típicas de un
computador de escritorio, desde navegar en
Transformada rápida de fourier
internet, reproducir vídeos en alta resolución,
manipular documentos de ofimática, hasta
La Transformada Rápida de Fourier es un algoritmo
reproducir juegos. Además la Raspberry Pi tiene la
para el cálculo de la Transformada Discreta de
habilidad de interactuar con el mundo exterior,
Fourier basado en la división del tiempo,
puede ser usada en una amplia variedad de
eliminando así gran parte de los cálculos repetitivos
proyectos digitales, desde reproductores de música
que hay que llevar a cabo si se desea resolver la
y video, detectores de padres, estaciones
TFD de forma directa. Si hacemos una
meteorológicas hasta cajas de aves con cámaras
comparación del costo de los dos métodos, el
infrarrojas.[3]
cálculo directo de la TFD y la FFT, podemos
observar el factor de mejora que brinda la FFT.
Matriz led 8x8
Matriz LED 8×8 1088AS es un dispositivo que
consta de 64 luces led´s agrupados por 8 columnas VI. METODOLOGÍA
de 8 led´s cada una, cada led tiene un diámetro de
3mm con dimensiones de 32mm por 32mm. La Como parte del conocimiento del que haremos uso
matriz se divide en columnas y filas, la letra F para administrar las actividades que llevaremos a
corresponde para las filas y la letra C para las cabo el desarrollo del proyecto investigativo, se
columnas, tiene 16 pines de los cuales 8 son para describen los aspectos metodológicos de la
las filas y 8 para las columnas. investigación. Inicialmente se hace una
Esta matriz es muy útil para proyectos presentación del tipo de investigación,
electrónicos, cómo lo pueden ser letreros, posteriormente se presentan las fuentes de
señalizaciones, indicadores de números y letras. Por información usadas como base para el proyecto,
su forma de conexión permite controlar cada led de luego de esto se detallan los procesos de
forma individual. Puedes programar esta matriz con acercamiento y recolección de información y
la ayuda de las placas de desarrollo Arduino y con finalmente, se hace una descripción del
un protoboard conectar cada uno de los led de procedimiento de implementación, los instrumentos
manera independiente para tener control de cada utilizados y las categorías de análisis.
uno, o igual puedes utilizar el circuito integrado
MAX7219 para facilitar las conexiones y la Tipo de Investigación
programación.
Para el diseño del sistema de automatización se
Figura 2. Matriz led 8x8 [4] empleó el método de investigación cuantitativa, con
el cual se plantearon unos alcances de tipo
exploratorio, descriptivo y correlacional. Según
sampieri (2016) el tipo exploratorio “Investigan
problemas poco estudiados, indagan desde una
perspectiva innovadora y preparan el terreno para
nuevos estudios”, el tipo descriptivo “ Miden
conceptos y definen variables” y el tipo
correlacional “Asocia conceptos o variables,
permiten predicciones y cuantifican relaciones entre
conceptos o variables”. El diseño de una
investigación de tipo cuantitativa es muy común en
el campo disciplinar de la ciencia, ya que es una
excelente forma de cuantizar los resultados y con
5.3 MARCO CONCEPTUAL ello comprobar, refutar o analizar una hipótesis.
Sistema: conjunto de elementos que ejecutan Fuentes de información
determinada función, los cuales podrían ser tanto
dispositivos eléctricos como mecánicos. La realización del proceso de investigación con el
cual se lleva a cabo el proyecto, partió teniendo en
Sistematizar: organizar un conjunto de elementos cuenta fuentes de información secundarias como
tal que formen un sistema. informes de investigación donde se hizo uso de la
raspberry pi como controlador de proyectos donde
Espectro electromagnético: también conocido se implementan procesos automatizados por voz
como la radiación electromagnética, es la información teórica de los principios fisicos y
distribución energética de las ondas matematicos que rigen el comportamiento de los
electromagnéticas. diferentes componentes y subsistemas
Automatización: ciencia que estudia el proceso implementados.
mediante el cual se busca automatizar un
procedimiento.

FFT: la transformada rápida de Fourier, conocida PROCEDIMIENTO


por la abreviatura FFT es un algoritmo eficiente
que permite calcular la transformada de Fourier Para poder realizar la grabación tuvimos el apoyo
discreta y su inversa. de la librería pysound y a través de esta se pudo
variar los parámetros señal sonora de entrada.
Discretizar: es el proceso de transferir funciones Luego con la librería wave pudimos obtener a partir
continuas, modelos, variables y ecuaciones a del audio un vector que nos representa la señal de
contrapartes discretas. entrada a tratar, y con esta poder comenzar a
trabajar.
Energía: es la capacidad de los cuerpos para
realizar un trabajo y producir cambios en ellos 1. Algoritmo transformada rápida de fourier
mismos o en otros cuerpos.
El algoritmo de reconocimiento de voz necesita
primero sacar la transformada rápida de fourier a la
señal de audio de entrada. El código en python
utiliza ciclos for y recursividad para segmentar el
vector de entrada en vectores de menor valor. Cada
vector segmentado contiene las posiciones par e
impar del vector anterior. Al final del ciclo los
vectores resultantes tendrán 2 valores. La fft de la
señal entera es un diagrama de árbol que se va
descomponiendo en cada iteración del ciclo. Este
sería el algoritmo en python que realiza la
transformada rápida (FFT) de los audios grabados:
VII. ANÁLISIS DE RESULTADOS

3. Datos enviados al Arduino UNO

Cada palabra tiene un valor específico que la


identifica, este valor es el que es enviado al arduino
por medio de una señal, una vez el programa
escucha al usuario e interpreta los datos este
reconoce la palabra y envía el identificador de la
palabra al arduino.

El envío de datos al arduino es realizado por medio


de un puerto serial el cual es conectado por el
adaptador USB del arduino UNO.

El arduino controla una matriz de leds, la cual


muestra flechas en direcciones de arriba, abajo y
derecha como se ve en la siguiente imagen:

Se puede observar en la imagen la declaración de


los vectores par e impar así como el Wn. Así
mismo, se puede observar el ciclo for que realiza la
transformada de cada vector segmentado.

La función entera (def FFT(P)) principal devuelve


el vector resultante de la señal de audio.

2. Algoritmo transformada rápida de fourier

Una vez tenemos los datos de la fft, dividimos el


vector resultante en 4. Esto lo hacemos con el Figura 3. Se reconoce la palabra derecha
objetivo de sacar 4 rangos de potencia distintos por
cada palabra. Usaremos los datos de la potencia
para establecer los rangos de reconocimiento de
voz. Cada palabra tendrá unos rangos aproximados
de potencia y usaremos esta información para
establecer las condiciones del código.

En el momento que un audio coincida al menos con


3 rangos de potencia, la rasberry pi enviará por el
puerto serial un número de n bits. Dependiendo del
número de bits que reciba el arduino, está
encenderá una figura en la matriz de leds.

El algoritmo de la potencia fue hecho mediante dos


ciclos anidados. Este sería el algoritmo en python
que realiza la potencia del vector de la fft : Figura 4. Se reconoce la palabra arriba
reconocimiento de voz puede facilitar la integración
de diferentes sistemas y dispositivos, lo que a su
vez puede mejorar la eficiencia de los procesos a
nivel empresarial.

VIII. CONCLUSIONES

- Si bien el proyecto se enfoca en el desarrollo de un


sistema de reconocimiento de voz que utiliza la
técnica de FFT para analizar las palabras habladas y
controlar una matriz led, se ha dejado evidenciado
que un sistema como este puede ser empleado en
Figura 5. Se reconoce la palabra abajo diversos proyectos ya sea en ámbitos del hogar,
pequeñas empresas o proyectado a grandes
La automatización de artefactos tecnológicos industrias.
mediante instrucciones de voz puede tener un - El código diseñado en python fue basado en la
impacto en la población de varias maneras. Por un fórmula original de la FFT y fue adaptado
lado, puede hacer que las tareas diarias sean más específicamente para este modelo de proyecto ya
convenientes y eficientes, ya que los usuarios que las voces deben ser las configuradas en el
pueden controlar dispositivos como teléfonos código.
móviles, altavoces inteligentes y televisores - Para los vectores en frecuencia y potencia
simplemente con sus voces. Esto puede ser analizados por python fue necesario almacenar
especialmente útil para personas con discapacidad o grabaciones de audio de los integrantes del equipo
dificultades para utilizar dispositivos electrónicos que vayan a probar el proyecto.
convencionales. - Si bien el codigo compara las energias en tiempo
real, se debe tener en cuenta que para generar un
Por otro lado, la automatización también puede modelo de proyecto casi ideal, es necesario anexar
tener un impacto en el empleo, ya que puede hacer una base de datos con miles de audios con las
que algunas tareas que antes eran realizadas por instrucciones a emplear para que el programa tenga
personas sean automatizadas. Esto podría resultar muchas muestras y pueda identificar mejor las
en la pérdida de empleos en ciertos sectores, pero instrucciones, asi el porcentaje de error sera
también podría liberar a los trabajadores para que minimo.
se concentren en tareas más valiosas o creativas. IX. REFERENCIAS

En general, la automatización mediante [1] Schmidt, A. L. (2013). Fft: Transformada rápida


instrucciones de voz puede tener un impacto de fourier. Estudiante de Ingenieria en Sistemas de
positivo en la vida cotidiana de las personas, pero Computación. Universidad Nacional de Sur. Bahia
también es importante considerar cuidadosamente Blanca, Argentina. Marzo 2013.
sus posibles impactos en la sociedad y el mercado
laboral. [2] Moreno, E. G. (2001). Automatización de
procesos industriales. Valencia: Alfaomega.
El uso estandarizado de instrucciones por
reconocimiento de voz puede traer varios avances a [3]"¿Que es Raspberry Pi? - Raspberry Pi".
nivel de control de procesos. Algunos de ellos Raspberry Pi.
incluyen: https://raspberrypi.cl/que-es-raspberry/

Mayor eficiencia al permitir que los usuarios [4]“Matriz led 8x8” [en línea]
controlen los procesos de una manera más natural, https://uelectronics.com/producto/matriz-8x8-1088a
es decir, mediante la voz, se puede aumentar la s-led/
eficiencia y la velocidad en la realización de tareas.

Mejora en la accesibilidad, la posibilidad de


controlar los procesos mediante instrucciones de
voz puede ser especialmente útil para personas con
discapacidades o dificultades para utilizar
dispositivos electrónicos convencionales.

Reducción de errores al permitir que los usuarios


interactúen con los procesos de una manera más
intuitiva y aumentar la precisión de las operaciones.

La estandarización del uso de instrucciones por

También podría gustarte