Arduino control voz

Módulo de reconocimiento de voz Geeetech

Como la mayoría de nosotros, [Peter] tenía un poco de tiempo extra en sus manos durante la cuarentena y decidió echar un vistazo a la tecnología de reconocimiento de voz en la década de 1970. Rápidamente, empezó a pensar para sí mismo: «Hmm… me pregunto si podría hacer esto con un Arduino Nano». Probablemente todos hemos tenido pensamientos similares, pero [Peter] realmente puso a prueba su teoría.

El hardware en sí es bastante sencillo. Hay un Arduino Nano para ejecutar el algoritmo de reconocimiento de voz y un amplificador de micrófono MAX9814 para capturar las órdenes de voz. Sin embargo, la belleza del enfoque de [Peter] radica en su implementación de software. [Peter] tiene un poco de interacción entre un programa de PC personalizado que escribió y el Arduino Nano. El aspecto de aprendizaje de su algoritmo se realiza en un PC, pero la implementación se hace en tiempo real en el Arduino Nano, un enfoque típico para cualquier algoritmo de aprendizaje automático desplegado en un microcontrolador. Para capturar comandos de audio de muestra, o expresiones, [Peter] primero tuvo que optimizar el ADC del Nano para poder obtener tasas de muestreo suficientes para el procesamiento del habla. Haciendo un poco de programación de bajo nivel, consiguió una velocidad de muestreo de 9 ksps, que es bastante rápida para el procesamiento de audio.

Aplicación de control por voz de Arduino

El reconocimiento de voz es una potente herramienta de aprendizaje automático (ML) que permite a los humanos interactuar con los ordenadores utilizando la voz. Es posible que conozcas el servicio Alexa de Amazon, que te permite hacer preguntas a una serie de dispositivos (como el altavoz inteligente Echo) o emitir comandos. La capacidad de procesar estos comandos se basa en un potente software de reconocimiento de voz.

Ten en cuenta que el Echo no realiza todo el procesamiento por sí mismo: espera a escuchar la palabra clave preprogramada (o palabra de activación), «Alexa». Cualquier orden que se dé después de esa palabra clave se transmite a los servidores de Amazon, que realizan el procesamiento del lenguaje natural (NLP) para averiguar lo que se está tratando de pedir.

Teniendo esto en cuenta, hay dos formas de aprendizaje automático en un altavoz inteligente de este tipo. La primera es el aprendizaje automático integrado, en el que la inferencia se realiza localmente en el propio dispositivo (en un microcontrolador). La segunda es el aprendizaje automático más complejo, el PNL, que requiere la ayuda de potentes ordenadores a través de Internet.

En este tutorial, voy a mostrarte cómo crear tu propio sistema de detección de palabras clave (¡con palabras clave personalizadas!) en un Arduino. Tenga en cuenta que vamos a utilizar Edge Impulse para entrenar nuestro modelo de red neuronal y generar una biblioteca para que podamos utilizar en el Arduino.

Comando de voz de Arduino

La tecnología de reconocimiento de voz es muy útil en la automatización, ya que no sólo proporciona un control de manos libres sobre los dispositivos, sino que también añade seguridad al sistema. Aparte de hacer gadgets controlados por voz, el reconocimiento de voz también proporciona una ayuda significativa a las personas que sufren de diversas discapacidades.

En proyectos anteriores construimos un convertidor de texto a voz (TTS) basado en Arduino y luces controladas por voz. Ahora, en este proyecto, vamos a utilizar el aprendizaje automático para entrenar un modelo de reconocimiento de voz utilizando Edge Impulse Studio con tres comandos, es decir, «LUZ ENCENDIDA», «LUZ APAGADA», y «RUIDO». Edge Impulse es una plataforma de aprendizaje automático en línea que permite a los desarrolladores crear la próxima generación de soluciones de dispositivos inteligentes con aprendizaje automático integrado. Anteriormente utilizamos Edge Impulse Studio para diferenciar los sonidos de la tos y del ruido.

Aquí se utiliza Edge Impulse Studio para entrenar nuestro modelo de reconocimiento de voz. El entrenamiento de un modelo en Edge Impulse Studio es similar al entrenamiento de modelos de aprendizaje automático en otros marcos de aprendizaje automático. Para el entrenamiento, el primer paso de un modelo de aprendizaje automático es recopilar un conjunto de datos que tenga las muestras de datos que nos gustaría poder reconocer.

Esp32 reconocimiento de voz arduino

En este tutorial aprenderás a utilizar un módulo de reconocimiento de voz -de serie- con la placa Arduino uno.  Este módulo puede almacenar hasta 15 comandos de voz. Estos se dividen en 3 grupos, con 5 comandos en cada grupo. Primero debemos entrenar el módulo con instrucciones de voz grupo por grupo. Después, debemos importar un grupo para que pueda reconocer las 5 instrucciones de voz dentro de ese grupo.

Lo primero que tenemos que hacer es grabar las instrucciones/comandos de voz.  Cada instrucción de voz tiene una longitud máxima de 1300ms (1,3seg), lo que asegura que la mayoría de las palabras puedan ser grabadas. Una vez que empiece a grabar, no podrá detener el proceso de grabación hasta que termine las 5 instrucciones/comandos de voz de un grupo. Además, una vez que empiece a grabar, el contenido anterior de ese grupo se borrará.  Descargue y extraiga AccessPort desde aquí. Esta herramienta nos permitirá enviar comandos HEX al módulo de reconocimiento de voz.Conexión entre el Arduino* y el módulo para el procedimiento de grabación:*Debes retirar el ATmega328p de la placa o programarlo con el ejemplo de blink. Si quieres también puedes utilizar una placa usb a serie para realizar este procedimiento.  Comandos disponibles:

Acerca del autor

admin

Ver todos los artículos