https://github.com/klumw/wakeword
ESP32S3 Wakeword/Keyword Spotting starter project with ready to go ML model
https://github.com/klumw/wakeword
audio-commands devkitc-1 edge-ai edge-computing edge-impulse esp32-s3-devkitc-1 esp32s3 keyword keyword-spotting keywords wakeword wakewordrecognition
Last synced: 3 months ago
JSON representation
ESP32S3 Wakeword/Keyword Spotting starter project with ready to go ML model
- Host: GitHub
- URL: https://github.com/klumw/wakeword
- Owner: klumw
- License: apache-2.0
- Created: 2025-04-11T12:07:22.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2025-04-20T19:29:45.000Z (6 months ago)
- Last Synced: 2025-04-23T11:49:07.063Z (5 months ago)
- Topics: audio-commands, devkitc-1, edge-ai, edge-computing, edge-impulse, esp32-s3-devkitc-1, esp32s3, keyword, keyword-spotting, keywords, wakeword, wakewordrecognition
- Language: C
- Homepage:
- Size: 4.7 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Keyword/Wakeword Detection on ESP32-S3: Your Voice-Activated Project Starter! 🚀
Unlock the power of voice with this ready-to-go template for keyword and wakeword detection using the ESP32-S3-DevKitC-1 board! This project provides a solid foundation for building your own voice-controlled applications, from smart assistants to interactive devices.
## ✨ Project Highlights
* **Ready-to-Use ML Model:** Jumpstart your project with our publicly available model on [Wakeword-Computer](https://studio.edgeimpulse.com/public/277934/live). Feel free to clone and customize it with your own unique keyword or start from scratch and learn [how to build your own model](https://docs.edgeimpulse.com/docs/tutorials/end-to-end-tutorials/audio/responding-to-your-voice).
* **Powered by Edge Impulse:** The included machine learning audio model is expertly crafted using [Edge Impulse](https://edgeimpulse.com/), making edge AI accessible to everyone.
* **Learn by Doing:** This project serves as the perfect educational template to understand the end-to-end process of programming and training your own custom wakeword or keyword detection system.
* **'Computer' is Listening:** The default configuration is set to recognize the keyword 'computer', allowing you to test the functionality immediately.
* **Optimized Performance:** Leverages the efficient `esp-nn` neural network library, specifically tailored for Espressif devices, ensuring fast and accurate keyword detection.
* **Crystal-Clear Audio:** Utilizes an I2S microphone for high-quality audio input, enhanced by software Automatic Gain Control (AGC) for robust performance in varying acoustic environments.
* **Effortless Model Updates:** The standardized C++ library design enables seamless swapping and integration of different machine learning models.
* **Visual Confirmation:** An on-board LED provides instant feedback, turning red whenever the keyword 'computer' is successfully detected.## 🧠 Why ESP32-S3 for AI?
The Espressif [esp32-s3](https://www.espressif.com/sites/default/files/documentation/esp32-s3_datasheet_en.pdf) microcontroller is a powerhouse for edge AI applications, offering:
* **Dual-Core Muscle:** A robust dual-core processor clocked at 240 MHz delivers ample processing power for demanding ML tasks.
* **Dedicated AI Acceleration:** An integrated Neural Network Accelerator (NNA) significantly speeds up the inference of your machine learning models.
* **Versatile Connectivity:** Supports a wide array of interfaces and sensors, making it adaptable to various project requirements.## 🛠️ Prerequisites
Before you dive in, ensure you have the following set up:
* **ESP-IDF:** Version >= v5.3.2 of the Espressif IoT Development Framework.
* **Hardware:**
* [ESP-32-S3-DevKitC-1](https://docs.espressif.com/projects/esp-idf/en/latest/esp32s3/hw-reference/esp32s3/user-guide-devkitc-1.html) or a similar ESP32-S3 development board.
* I2S Microphone (e.g., [SKU 107990153](https://www.seeedstudio.com/Sipeed-I2S-Mic-for-MAIX-Dev-Boards-p-2887.html)).### 🔌 Circuit Diagram
Connect your I2S microphone to the ESP32-S3-DevKitC-1 as shown below:
### Clone this repo with submodules
git clone --recurse-submodules https://github.com/klumw/wakeword.git
### Build with idf.py
idf.py set-target esp32s3
idf.py build