Entrenador personal de inglés - Asistente de voz AI: 15 pasos
Entrenador personal de inglés - Asistente de voz AI: 15 pasos
Anonim
Entrenador personal de inglés - Asistente de voz AI
Entrenador personal de inglés - Asistente de voz AI

Este proyecto ayudará a los estudiantes que se están preparando para cualquier examen lingüístico, donde podrán formarse interactuando con Snips AI.

Paso 1: historia

Historia
Historia
Historia
Historia

¿Por qué construimos esto?

Desde mi experiencia personal, he visto a muchas personas preparándose para las diversas pruebas lingüísticas como GRE, TOEFL, IELTS. Necesitan una persona que los ayude a memorizar y comprender las palabras. Generalmente, cuando una persona se prepara para dichos exámenes, necesita una persona que verifique y corrija si comete un error. Con esta solución, podemos reducir la mano de obra empleando un asistente de voz.

Paso 2: compilación del hardware

Construcción de hardware
Construcción de hardware
Construcción de hardware
Construcción de hardware

En primer lugar, me gustaría agradecer a SNIPS y SEEED por apoyar este proyecto con el increíble Kit de desarrollo de interacción de voz de Snips (Kit básico), realmente me sentí informativo al usar esta placa y capaz de lograr algunos de los proyectos complejos integrados dentro de una PCB.

Puede comprar el kit básico de interacción por voz de Snips por $ 115 y el kit satelital de interacción por voz de Snips por $ 85

Paso 3: Introducción a SNIPS

Introducción a SNIPS
Introducción a SNIPS
Introducción a SNIPS
Introducción a SNIPS
Introducción a SNIPS
Introducción a SNIPS

Antes de comenzar, repasemos lo que necesitará.

  • Raspberry Pi 3B / B + (recomendado) o Pi 2 Modelo B (compatible).
  • Cable micro-USB y adaptador de corriente micro-USB para Raspberry Pi.
  • Tarjeta Micro SD (mínimo 8 GB): se requiere un sistema operativo para comenzar. Puede descargar Raspbian Stretch y utilizar las guías para Mac OS, Linux y Windows en el sitio web de Raspberry Pi.
  • Un teclado y mouse USB y un monitor HDMI externo; también recomendamos tener a mano un teclado y mouse USB, así como un monitor HDMI.
  • Conexión a Internet (Ethernet o WiFi)

Kit básico de interacción de voz de Snips

Los kits de desarrollo de interacción de voz de Snips permiten a los usuarios impulsar el desarrollo de interfaces de voz e integrar fácilmente la plataforma de voz de Snips AI con el hardware. Los recortes se ejecutan en el dispositivo, lo que significa que todos sus comandos de voz y datos se procesan localmente en lugar de enviarse a la nube. Este procesamiento en el dispositivo da como resultado un asistente de voz fuera de línea completamente seguro que mantiene sus datos personales privados, como debería ser.

El kit básico de interacción de voz le permite ejecutar toda la plataforma de voz de Snips AI. Alimentado por una Raspberry Pi 3 Model B + y el ReSpeaker 2-Mics Pi HAT, es capaz de actuar como el altavoz inteligente de su hogar. Junto con el kit viene un altavoz, un Grove - Sensor de temperatura y humedad (SHT31), un Grove - Relay y un tablero para colgarlo en una pared o crear un soporte ingenioso.

¡Pero eso no es todo! El kit satelital de interacción de voz extenderá su estación base para llegar a cada habitación de su casa y le permitirá interactuar con el hardware en función de dónde emita sus comandos.

Este kit contiene una placa Raspberry Pi3 B +, ReSpeaker 2-Mics Pi HAT, Grove - Relé, Grove - Sensor de temperatura y humedad (SHT31), Altavoz 6 Ohm 2W, Tarjeta MicroSD, Adaptador de corriente con conector Micro USB, Cable Grove x 2, Base acrílica panel.

Pasos de montaje: (Contenido de SNIPS) La siguiente imagen es una descripción general de las piezas de montaje.

Aquí las piezas de montaje se montan en el panel base.

Luego, todas las partes electrónicas se montan en la placa.

Después de eso, monte la cubierta protectora acrílica en la parte superior del relé Grove.

Estas 2 partes se utilizan para convertir el kit en un soporte de mesa.

Finalmente, estás listo para jugar con Snips.

El kit ofrece dos formas de colocación. Se puede colocar en una superficie horizontal como un soporte o se puede colgar en una pared con cables o hilos. Tenga cuidado con el relé cuando el kit esté encendido, ya que el voltaje de funcionamiento será alto.

NOTA: También tenemos un kit satelital de interacción de voz de Snips que tiene una Raspberry Pi zero en lugar de Raspberry Pi 3B +

Paso 4: Interfaz con Snips AI (Proyecto básico)

Image
Image
Interfaz con Snips AI (Proyecto AI)
Interfaz con Snips AI (Proyecto AI)
  • Alimente el kit con el adaptador de corriente predeterminado en el kit o use un adaptador DC 5V-2A con un conector Micro USB.
  • El siguiente paso es instalar el asistente de Snips en la Raspberry Pi. Para ahorrar tiempo de configuración, la tarjeta MicroSD del kit se ha actualizado con la imagen del sistema completamente funcional, lo que significa que el asistente de Snips está listo para sus palabras de activación.
  • Le recomendamos encarecidamente que estudie la guía de instalación paso a paso visitando: https://docs.snips.ai/getting-started/quick-start… y aprenda la herramienta sam en la línea de comandos.
  • Activa el asistente diciendo "Hey-snips" y sigue el comando:

Puede encontrar el video del ejemplo preinstalado en el kit básico de interacción de voz de Snips a continuación.

Paso 5: Interfaz con Snips AI (Proyecto AI)

Así es como funciona. Primero, usamos la palabra clave para iniciar el reconocimiento de Snips. Entiende la oración usando Snips NLU y determina la intención. Luego, usando la intención, extraiga las ranuras respectivamente. Con el código de acción, programamos la respuesta de la IA con respecto a las ranuras.

Paso 6: Creación de aplicaciones e intenciones

Creación de aplicaciones e intenciones
Creación de aplicaciones e intenciones
Creación de aplicaciones e intenciones
Creación de aplicaciones e intenciones
Creación de aplicaciones e intenciones
Creación de aplicaciones e intenciones
  • Crea un asistente. En mi caso, había creado un asistente con un nombre JARVIS y con una palabra clave JARVIS.
  • Cree una aplicación personalizada o, para principiantes, utilice la aplicación de la biblioteca.
  • Había creado una aplicación con el nombre Palabras
  • Crea un Intent y comienza a entrenar la IA. Esto juega un papel importante en la robustez de su IA. Entrénelo con todas las entradas posibles.
  • Crea un espacio para identificar las palabras. Coloque la ranura en la frase esperada de la oración. En mi ejemplo, givenword es el nombre de la ranura y está resaltado en azul.
  • Una vez hecho esto, su ASR personalizado estará listo. Prueba con las entradas. Podemos encontrar la respuesta a su derecha, debajo del asistente. Esto le brinda la extracción del valor bruto, el nombre de la intención y el espacio.
  • Defina ranuras con más ejemplos como se muestra a continuación
  • Finalmente, implemente su asistente para experimentar su IA personalizada.

Paso 7: Grabe Raspbian en la tarjeta SD

Grabar Raspbian en la tarjeta SD
Grabar Raspbian en la tarjeta SD
Grabar Raspbian en la tarjeta SD
Grabar Raspbian en la tarjeta SD
Grabar Raspbian en la tarjeta SD
Grabar Raspbian en la tarjeta SD
Grabar Raspbian en la tarjeta SD
Grabar Raspbian en la tarjeta SD

Raspbian es la distribución de Linux preferida que se ejecuta en Raspberry Pi. En esta guía, usaremos la versión Lite, pero también se puede usar la versión de escritorio (que viene con un entorno gráfico).

  • Descarga Etcher e instálalo.
  • Conecte un lector de tarjetas SD con la tarjeta SD adentro.
  • Abra Etcher y seleccione de su disco duro el archivo.img o.zip de Raspberry Pi que desea escribir en la tarjeta SD
  • Seleccione la tarjeta SD en la que desea escribir su imagen.
  • Revise sus selecciones y haga clic en '¡Flash!' para comenzar a escribir datos en la tarjeta SD

Conecte el dispositivo a su red

  • Habilite el acceso SSH agregando el archivo ssh vacío, nuevamente ubicado en la raíz del volumen de inicio en su tarjeta SD.
  • Inserta la tarjeta SD en la Raspberry Pi. Arrancará en aproximadamente 20 segundos. Ahora debería tener acceso SSH a su Raspberry Pi. De forma predeterminada, su nombre de host será raspberrypi.local. En su computadora, abra una ventana de terminal y escriba lo siguiente:

ssh [email protected]

La contraseña predeterminada es frambuesa.

Paso 8: Instale la plataforma Snips

Instale la plataforma Snips
Instale la plataforma Snips
Instale la plataforma Snips
Instale la plataforma Snips
Instale la plataforma Snips
Instale la plataforma Snips

Si aún no lo ha hecho, instale Sam Command Line Interface en su computadora. Abra una ventana de terminal e ingrese:

sudo npm install -g snips-samor npm install -g snips-sam // Windows

Encuentre su Raspberry Pi en la red ejecutando:

dispositivos sam

A continuación, establezca una conexión con el dispositivo. Se le pedirá el nombre de usuario y la contraseña del dispositivo (el valor predeterminado es pi y raspberry, respectivamente):

sam connect

Ahora estamos listos para instalar la plataforma Snips en Raspberry Pi. Ingrese el comando:

sam init

Paso 9: configurar el hardware

Configurar el hardware
Configurar el hardware
Configurar el hardware
Configurar el hardware

Sam proporciona algunos comandos para instalar y configurar fácilmente componentes de hardware. En esta sección, configuraremos un altavoz y un micrófono. Dependiendo de su configuración, es necesario realizar alguna configuración personalizada.

sam configuración de audio

Prueba el altavoz

Para comprobar que el altavoz funciona, ejecute

altavoz de prueba sam

Si todo funciona bien, debería escuchar en su altavoz una voz que diga algunas palabras. Configurar el micrófono Puede comprobar que su micrófono funciona:

micrófono de prueba sam

Suponiendo que tiene un altavoz, si puede escuchar claramente lo que acaba de decir, puede continuar sin más configuración de micrófono.

Una vez que esté satisfecho de que la configuración de su hardware está funcionando, estará listo para pasar al siguiente paso, donde implementará su primer asistente.

Paso 10: Importación del modelo de IA desde la consola

Importación del modelo de IA desde la consola
Importación del modelo de IA desde la consola

Una vez que haya creado su asistente a partir de los pasos anteriores, inicie sesión en la consola desde la ventana del terminal ejecutando:

sam iniciar sesión

Se le pedirá que ingrese sus credenciales de la Consola de Snips.

A continuación, instale el asistente:

asistente de instalación sam

Si ha creado varios asistentes en la consola, se le pedirá que elija cuál instalar de una lista.

Paso 11: Código de acción y controlador

Para que la Raspberry Pi responda, tendremos que escribir algún código de controlador. Este es un código que se ejecuta cuando ocurre un evento determinado en la plataforma Snips, como cuando se detecta la intención.

Tiene varios métodos para crear Handler dependiendo del funcionamiento.

Cree una carpeta en su computadora en la que desee almacenar su código de controlador. Desde la ventana de la terminal, cambie a ese directorio e ingrese:

npm init

Esto creará un archivo llamado package.json que contiene la descripción de su proyecto, las dependencias y más. A continuación, agregue la dependencia del paquete mqtt:

npm install mqtt --save

Ahora, cree un archivo llamado index.js y pegue el siguiente código, reemplazando la variable de nombre de host con el nombre de host de su Raspberry Pi (si difiere del raspberrypi predeterminado):

var mqtt = require ('mqtt');

var hostname = "mqtt: //raspberrypi.local"; var client = mqtt.connect (nombre de host); client.on ('connect', function () {console.log ("[Snips Log] Connected to MQTT broker" + nombre de host); client.subscribe ('hermes / #');}); client.on ('mensaje', función (tema, mensaje) {if (tema === "hermes / asr / startListening") {onListeningStateChanged (true);} else if (tema === "hermes / asr / stopListening") {onListeningStateChanged (false);} else if (topic.match (/ hermes / / hotword / /.+ / / installed / g)! == null) {onHotwordDetected ()} else if (topic.match (/ hermes / /intent\/.+/g)! == null) {onIntentDetected (JSON.parse (mensaje));}}); función onIntentDetected (intento) {console.log ("[Registro de recortes] Intento detectado:" + JSON.stringify (intento)); } función onHotwordDetected () {console.log ("[Registro de recortes] Palabra activa detectada"); } función onListeningStateChanged (escuchando) {console.log ("[Snips Log]" + (escuchando? "Start": "Stop") + "escuchando"); }

Ejecute este código usando Node:

nodo index.js

Debería ver un mensaje de conexión exitosa con el corredor de Snips MQTT. Como antes, realice una interacción de voz con su Raspberry Pi:

Hola Snips, ¿qué tiempo hace en Chennai?

Debería ver la actualización de los registros:

[Registro de recortes] Conectado al corredor de MQTT mqtt: //raspberrypi.local

[Registro de Snips] Se detectó una palabra activa [Registro de Snips] Empezar a escuchar [Registro de Snips] Dejar de escuchar [Registro de Snips] Intento detectado: {"sessionId": "c84b5aa5-3f14-4218-975e-8872b9217933", "customData": null, "siteId ":" predeterminado "," input ":" cuál es el clima en chennai "," intent ": {" intentName ":" searchWeatherForecast "," probabilidad ": 0.73845243}," slots ": [{" rawValue ":" chennai "," value ": {" kind ":" Custom "," value ":" Chennai "}," range ": {" start ": 44," end ": 53}," entity ":" locality ", "slotName": "Forecast_locality"}]}

Paso 12: solución de problemas

Elimina el asistente anterior si lo hay

$ sudo rm -rf / usr / share / snips / assistant /

Para cambiar el directorio al Asistente

cd / var / lib / snips / skills /

Para clonar el contenido del repositorio en local

clon de git

Para ejecutar el script setup.sh

./setup.sh

Activar entorno virtual

fuente venv / bin / activar

Ejecuta el código de acción

./action-.py

Para dar permiso al script de Python

chmod + x acción-.py

Paso 13: Recinto

Recinto
Recinto
Recinto
Recinto
Recinto
Recinto
  • Había utilizado una carcasa con clasificación IP para este proyecto
  • Primero, hice los orificios necesarios para montar los circuitos y las ranuras para el cable de alimentación y el cable HDMI.
  • Luego coloqué toda la Raspberry Pi dentro del gabinete y la atornillé firmemente.
  • Hice una pequeña abertura para el altavoz y el micrófono y la cubrí con un pequeño trozo de lámina acrílica.
  • Conecte firmemente el altavoz al sombrero ReSpeaker.
  • Finalmente, todos los tornillos están firmemente montados y el cable de alimentación se inserta a través de una ranura.
  • Así es como se ve finalmente la IA: D

Paso 14: Funcionamiento de la IA

Image
Image
Funcionamiento de la IA
Funcionamiento de la IA
Funcionamiento de la IA
Funcionamiento de la IA

Puede encontrar los datos que se monitorean usando Snips-watch

Ahora es la hora del espectáculo. Empecé a hacer con Simple greetings AI. Eche un vistazo a su funcionamiento.

El Trainer AI se ha programado para palabras limitadas. Esto se puede ampliar con pequeñas modificaciones. Esto ayuda a los estudiantes a memorizar el significado más rápido que con el método tradicional.

Amable Atención: Este proyecto está formado por 25 palabras aproximadamente. Se puede ampliar aún más haciendo pequeños ajustes en el código de acción.

Puede encontrar los scripts de acción en mi repositorio de Github adjunto.

Project Repo para Greetings AI -

Project Repo para Trainer AI -

Enlace a Mi aplicación:

La configuración completa cuesta alrededor de $ 115 que se pueden comprar en SNIPS y esta solución es muy barata y efectiva en comparación con los métodos tradicionales. Aproximadamente más de 100, 000 pruebas se realizaron en la India y este producto será el mejor suplemento para los tomadores de GRE.

Dale un pulgar hacia arriba si realmente te ayudó y sigue mi canal para proyectos interesantes.:) Comparte este video si quieres. Feliz de que se haya suscrito: https://console.snips.ai/store/en/skill_xBKlxnE5K… ¡Gracias por leer!