Skip to main content

Seeed Studio XIAO nRF52840 Senseでの音声認識

pir

このwikiでは、Seeed Studio XIAO nRF52840 SenseでTensorFlow Liteを使用し、オンボードマイクを使って音声認識を実行する方法を説明します。

組み込みAIアプリケーションに関しては、「Seeed nrf52 mbed-enabled Boards Library」の使用を強く推奨します。

ソフトウェアセットアップ

まず、初期のハードウェアとソフトウェアのセットアップについて、"Getting Started with Seeed Studio XIAO nRF52840 (Sense)" wikiに従ってください。

それでは、残りのソフトウェアセットアップに進みましょう。

pir

  • ステップ2. Arduino IDEを開き、Sketch > Include Library > Add .ZIP Library...に移動し、ダウンロードしたzipファイルを開きます

pir

データの訓練とTensorFlow Liteモデルの生成

次に、Google Colabノートブックを使用してデータ訓練を実行し、TensorFlow Liteモデルを生成します。

pir

デフォルトでは、**"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"**の単語を認識できるこのデータセットが読み込まれます

  • ステップ2. Configure Defaults列の下で、モデルに認識させたい単語に応じてWANTED_WORDSパラメータを変更します。**"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

注意: この例では、yes,no,up,downの単語が選択されています

  • ステップ3. Runtime > Run allに移動して、すべてのコードセルを実行します

pir

  • ステップ4. ポップアップするエラーメッセージに対してRun anywayをクリックします

pir

注意: このプロセスは完了まで約2時間かかります

  • ステップ5. すべてのコードセルが実行されると、左隅のfilesタブに移動し、modelsフォルダの下に新しいmodel.ccファイルが生成されていることがわかります

pir

注意: 上記のmodel.ccファイルが表示されない場合は、ページを更新してください。

  • ステップ6. ファイルを右クリックし、DownloadをクリックしてファイルをPCにダウンロードします

推論

これで、ダウンロードしたTensorFlow Liteモデルファイル (model.cc) を使用して、Seeed Studio XIAO nRF52840 Senseのマイクを使って異なる単語を認識します。

  • ステップ 1. tflite-micro-arduino-examples ライブラリのライブラリパスに移動し(通常は Documents > Arduino > libraries > tflite-micro-arduino-examples の下)、examples > micro_speech にアクセスして micro_features_model.cpp を開きます

pir

  • ステップ 2. const unsigned char g_model[] DATA_ALIGN_ATTRIBUTE = { の下の値を model.cc ファイルの新しい値に置き換えます

pir

  • ステップ 3. model.cc の値に従って g_model_len を変更します。ここでは 26720 を取得しました
const int g_model_len = 26720;
  • ステップ 4. micro_speech フォルダ内の micro_features_micro_model_settings.cpp を開き、トレーニングプロセスで定義したすべての単語を追加します。ここでは yes,no,up,down を使用しました
#include "micro_features_micro_model_settings.h"

const char* kCategoryLabels[kCategoryCount] = {
"silence",
"unknown",
"yes",
"no",
"up",
"down",
};
  • ステップ 5. micro_speech フォルダ内の micro_features_micro_model_settings.h を開き、定義されたカテゴリ数に応じて constexpr int kCategoryCount を変更します。ここでは 6 つのカテゴリがあります
constexpr int kCategoryCount = 6;
  • Step 6. micro_speech フォルダ内の micro_speech.ino を開き、コードを Seeed Studio XIAO nRF52840 Sense にアップロードします

  • Step 7. シリアルモニターウィンドウ を開き、先ほど定義した単語を声に出して言います。認識後、シリアルモニターに話した正しい単語が出力されるのを確認できます。

pir

技術サポートと製品ディスカッション

弊社製品をお選びいただき、ありがとうございます!弊社製品でのご体験が可能な限りスムーズになるよう、さまざまなサポートを提供いたします。異なる好みやニーズに対応するため、複数のコミュニケーションチャンネルをご用意しています。

Loading Comments...