Skip to main content

Reconocimiento de Voz en XIAO nRF52840 Sense de Seeed Studio

pir

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

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

Configuración del software

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

Ahora pasemos al resto de la configuración del software.

pir

  • Paso 2. Abre el IDE de Arduino, ve a Esquema > Incluir biblioteca > Agregar biblioteca .ZIP... y abre el archivo zip descargado.

pir

Entrenar datos y generar el modelo TensorFlow Lite

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

pir

Por defecto, se 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. En la columna Configurar valores predeterminados, cambia el parámetro WANTED_WORDS según las palabras que deseas 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, las palabras yes, no, up, down son las seleccionadas.

  • Paso 3. Navega a Ejecutar > Ejecutar todo para ejecutar todas las celdas de código.

pir

  • Paso 4. Haz clic en Ejecutar de todos modos para el mensaje de error que aparece.

pir

Nota: Este proceso tomará alrededor de 2 horas para completarse.

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

pir

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

  • Paso 6. Haz clic derecho en el archivo y selecciona Descargar para descargar el archivo en tu PC.

Inferencia

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

  • Paso 1. Navega a la ruta de la biblioteca de tflite-micro-arduino-examples (normalmente en Documentos > 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 de acuerdo con el valor del archivo model.cc. Aquí tenemos 26720.
const int g_model_len = 26720;
  • Paso 4. Abre micro_features_micro_model_settings.cpp dentro de la carpeta micro_speech y agrega 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 de acuerdo con 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 el código 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 que se pronunciaron después del reconocimiento.

pir

Soporte Técnico y Discusión de Producto

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

Loading Comments...