以下の内容はhttps://lipoyang.hatenablog.com/entry/2026/03/17/082630より取得しました。


AIスタックチャンのウェイクワード検出をSPRESENSEに移植

AIスタックチャンのウェイクワード登録/検出処理 (WakeWord.cpp) をSPRESENSEマイコンに移植しました。

ハードウェア

SPRESENSE拡張ボードのMIC Aチャンネルにエレクトレットコンデンサーマイクを接続。負荷抵抗 2.2kΩでバイアスします。詳細は下記ドキュメントを参照してください。


ソフトウェア

PC上での検証用のVisualStudioのプロジェクトと、SPRESENSE用のPlatformIOのプロジェクトを公開しました。ソースファイルは共通で条件コンパイルされるようになってます。FFTの計算には、PCではKiss FFTライブラリを、SPRESENSEではCMSIS-DSPライブラリを使用します。また、ESP32固有のライブラリである esp_ns (ノイズ抑制) や esp_vad (発話検出) は、簡易的な代替のものを自作しました。


PC上での検証

WindowsのVisualStudioでアルゴリズムの検証ができます。 WakeWord/pc_debug/WakeWord.slnx がソリューションファイルです。検証には WakeWord/pc_debug/WakeWord/ にあるWAVファイル test1.wav ~ test3.wav を使います。

SPRESENSEでの検証(1) WAVファイルを使用

WakeWord/ がPlatformIOのプロジェクトフォルダです。ビルドの設定は env:wave_file_debug か env:mic かを選択できます。env:wave_file_debug はWAVファイルを使った検証用です。PC上での検証と同等のことをSPRESENSE上で行います。WAVファイル test1.wav ~ test3.wav をmicroSDカードの直下にコピーします。また、microSDカードにはDSPコーデックも入れておきます。

SPRESENSE拡張ボードのスロットにmicroSDカードを挿し、USBシリアルポートをPCのターミナルソフトで開いて検証を行います。

SPRESENSEでの検証(2) マイクを使用

env:mic がマイクを使った検証用です。DSPコーデックの入ったmicroSDカードをSPRESENSE拡張ボードのスロットに挿し、USBシリアルポートをPCのターミナルソフトで開いて検証を行います。




以上の内容はhttps://lipoyang.hatenablog.com/entry/2026/03/17/082630より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14