Reconhecimento de fala no Seeed Studio XIAO nRF52840 Sense
![]()
Este wiki demonstrará como você pode usar TensorFlow Lite no Seeed Studio XIAO nRF52840 Sense e realizar reconhecimento de fala usando o microfone integrado.
Quando se trata de aplicações de IA embarcada, recomendamos fortemente o uso da "Seeed nrf52 mbed-enabled Boards Library".
Configuração de software
Certifique-se primeiro de seguir o wiki "Getting Started with Seeed Studio XIAO nRF52840 (Sense)" para a configuração inicial de hardware e software.
Agora vamos prosseguir com o restante da configuração de software.
- Passo 1. Baixe a biblioteca tflite-micro-arduino-examples como um arquivo zip

- Passo 2. Abra o Arduino IDE, navegue até
Sketch > Include Library > Add .ZIP Library...e abra o arquivo zip baixado

Treinar dados e gerar o modelo TensorFlow Lite
Agora usaremos um notebook do Google Colab para realizar o treinamento dos dados e gerar um modelo TensorFlow Lite.
- Passo 1. Abra este notebook Python

Por padrão, ele carregará este conjunto de dados que pode reconhecer as palavras: "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"
- Passo 2. Na coluna Configure Defaults, altere o parâmetro WANTED_WORDS de acordo com as palavras que você deseja que o modelo reconheça. Você pode escolher 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"

Nota: Neste exemplo, as palavras yes,no,up,down foram escolhidas
- Passo 3. Navegue até
Runtime > Run allpara executar todas as células de código

- Passo 4. Clique em Run anyway na mensagem de erro que aparecer

Nota: Este processo levará cerca de 2 horas para ser concluído
- Passo 5. Quando todas as células de código forem executadas, navegue até a aba files no canto esquerdo e você encontrará um novo arquivo model.cc gerado dentro da pasta models

Nota: Se você não conseguir ver o arquivo model.cc acima, atualize a página.
- Passo 6. Clique com o botão direito no arquivo e clique em Download para baixá-lo para o seu PC
Inferência
Agora usaremos o arquivo de modelo TensorFlow Lite baixado (model.cc) para reconhecer diferentes palavras usando o microfone no Seeed Studio XIAO nRF52840 Sense.
- Passo 1. Navegue até o caminho da biblioteca tflite-micro-arduino-examples (normalmente em Documents > Arduino > libraries > tflite-micro-arduino-examples), vá até examples > micro_speech e abra micro_features_model.cpp

- Passo 2. Substitua os valores em
const unsigned char g_model[] DATA_ALIGN_ATTRIBUTE = {pelos novos valores do arquivo model.cc

- Passo 3. Altere g_model_len de acordo com o valor de model.cc. Aqui obtivemos 26720
const int g_model_len = 26720;
- Passo 4. Abra micro_features_micro_model_settings.cpp dentro da pasta micro_speech e adicione todas as palavras que definimos no processo de treinamento. Aqui usamos yes,no,up,down
#include "micro_features_micro_model_settings.h"
const char* kCategoryLabels[kCategoryCount] = {
"silence",
"unknown",
"yes",
"no",
"up",
"down",
};
- Passo 5. Abra micro_features_micro_model_settings.h dentro da pasta micro_speech e altere constexpr int kCategoryCount de acordo com o número de categorias definidas. Aqui temos 6 categorias
constexpr int kCategoryCount = 6;
-
Passo 6. Abra micro_speech.ino dentro da pasta micro_speech e envie os códigos para o Seeed Studio XIAO nRF52840 Sense
-
Passo 7. Abra a janela do monitor serial e diga em voz alta as palavras que definimos antes. Você verá o monitor serial exibir corretamente as palavras faladas após o reconhecimento.

Suporte Técnico e Discussão de Produtos
Obrigado por escolher nossos produtos! Estamos aqui para oferecer diferentes tipos de suporte para garantir que sua experiência com nossos produtos seja a mais tranquila possível. Oferecemos vários canais de comunicação para atender a diferentes preferências e necessidades.