Skip to content
/ wakeword Public

ESP32S3 Wakeword/Keyword Spotting starter project with ready to go ML model

License

Notifications You must be signed in to change notification settings

klumw/wakeword

Repository files navigation

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! 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. Feel free to clone and customize it with your own unique keyword or start from scratch and learn how to build your own model.
  • Powered by Edge Impulse: The included machine learning audio model is expertly crafted using Edge Impulse, 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 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:

🔌 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