Skip to main content

Reconocimiento de Voz en Seeed Studio XIAO nRF52840 Sense

pir

Este wiki demostrará cómo puedes usar TensorFlow Lite en Seeed Studio XIAO nRF52840 Sense y realizar reconocimiento de voz usando el micrófono integrado.

Cuando se trata de aplicaciones de IA embebida, recomendamos encarecidamente usar la "Seeed nrf52 mbed-enabled Boards Library".

Configuración del software

Asegúrate de seguir primero el wiki "Getting Started with Seeed Studio XIAO nRF52840 (Sense)" para la configuración inicial de hardware y software.

Ahora continuemos con el resto de la configuración del software.

pir

  • Paso 2. Abre Arduino IDE, navega a Sketch > Include Library > Add .ZIP Library... y abre el archivo zip descargado

pir

Entrenar datos y generar modelo TensorFlow Lite

Ahora usaremos un notebook de Google Colab para realizar el entrenamiento de datos y generar un modelo TensorFlow Lite.

pir

Por defecto, cargará este conjunto de datos que puede reconocer las palabras: "yes", "no", "up", "down", "left", "right", "on", "off", "stop", "go", "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "bed", "bird", "cat", "dog", "happy", "house", "marvin", "sheila", "tree", "wow"

  • Paso 2. Bajo la columna Configure Defaults, cambia el parámetro WANTED_WORDS según las palabras que quieras que el modelo reconozca. Puedes elegir entre: "yes", "no", "up", "down", "left", "right", "on", "off", "stop", "go", "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "bed", "bird", "cat", "dog", "happy", "house", "marvin", "sheila", "tree", "wow"

pir

Nota: En este ejemplo, se eligen las palabras yes,no,up,down

  • Paso 3. Navega a Runtime > Run all para ejecutar todas las celdas de código

pir

  • Paso 4. Haz clic en Run anyway para el mensaje de error que aparece

pir

Nota: Este proceso tomará aproximadamente 2 horas en completarse

  • Paso 5. Una vez que todas las celdas de código se ejecuten, navega a la pestaña files en la esquina izquierda y encontrarás un nuevo archivo model.cc generado bajo la carpeta models

pir

Nota: Si no puedes ver el archivo model.cc anterior, actualiza la página.

  • Paso 6. Haz clic derecho en el archivo y haz clic en Download para descargar el archivo a tu PC

Inferencia

Ahora usaremos el archivo de modelo TensorFlow Lite descargado (model.cc) para reconocer diferentes palabras usando el micrófono en el Seeed Studio XIAO nRF52840 Sense.

  • Paso 1. Navega a la ruta de la biblioteca tflite-micro-arduino-examples (normalmente bajo Documents > Arduino > libraries > tflite-micro-arduino-examples), visita examples > micro_speech y abre micro_features_model.cpp

pir

  • Paso 2. Reemplaza los valores bajo const unsigned char g_model[] DATA_ALIGN_ATTRIBUTE = { con los nuevos valores del archivo model.cc

pir

  • Paso 3. Cambia g_model_len según el valor de model.cc. Aquí obtuvimos 26720
const int g_model_len = 26720;
  • Paso 4. Abre micro_features_micro_model_settings.cpp dentro de la carpeta micro_speech y añade todas las palabras que definimos en el proceso de entrenamiento. Aquí usamos yes,no,up,down
#include "micro_features_micro_model_settings.h"

const char* kCategoryLabels[kCategoryCount] = {
"silence",
"unknown",
"yes",
"no",
"up",
"down",
};
  • Paso 5. Abre micro_features_micro_model_settings.h dentro de la carpeta micro_speech y cambia constexpr int kCategoryCount según el número de categorías definidas. Aquí tenemos 6 categorías
constexpr int kCategoryCount = 6;
  • Paso 6. Abre micro_speech.ino dentro de la carpeta micro_speech y sube los códigos al Seeed Studio XIAO nRF52840 Sense

  • Paso 7. Abre la ventana del monitor serie y di en voz alta las palabras que definimos antes. Verás que el monitor serie muestra las palabras correctas habladas después del reconocimiento.

pir

Soporte Técnico y Discusión de Productos

¡Gracias por elegir nuestros productos! Estamos aquí para brindarte diferentes tipos de soporte para asegurar que tu experiencia con nuestros productos sea lo más fluida posible. Ofrecemos varios canales de comunicación para satisfacer diferentes preferencias y necesidades.

Loading Comments...