espressif/esp-skainet

Espressif intelligent voice assistant

ESP‑Skainet – On‑device voice‑assistant SDK for ESP32

What it is – ESP‑Skainet is an open‑source software stack from Espressif that lets you run wake‑word detection and offline speech‑command recognition directly on ESP32‑series microcontrollers (especially the ESP32‑S3). It bundles a tiny wake‑word engine (WakeNet), a flexible command‑recognition model (MultiNet), and an audio‑front‑end that performs echo cancellation, VAD, noise suppression, etc.

Why it matters – Modern voice assistants usually run in the cloud, but many IoT devices need low‑latency, privacy‑preserving, and power‑efficient speech processing. ESP‑Skainet provides a complete, ready‑to‑flash solution that fits into the few hundred kilobytes of RAM and flash available on ESP32 chips.


Core components

Component Role Notable specs
WakeNet Constant‑listening wake‑word detector Detects custom or built‑in words like “Hi, Lexin”, “Alexa”, Chinese phrases; runs on ESP32‑S3 with < 100 KB RAM
MultiNet Offline speech‑command recognizer Supports up to 200 English/Chinese commands without retraining the model; runs on ESP32‑S3 with octal‑SPI PSRAM for higher speed
Audio Front‑End (AFE) Pre‑processing of microphone streams Includes Acoustic Echo Cancellation, Voice Activity Detection, Blind Source Separation, Noise Suppression; qualified for Amazon Alexa Built‑in devices

Typical hardware

You need an ESP32 development board that includes an audio input (mic or I²S). The README lists several supported kits, e.g. ESP32‑Korvo, ESP32‑S3‑Korvo‑1/2, ESP‑BOX, ESP32‑S3‑EYE, ESP32‑P4‑Function‑EV.


Getting started (quick summary)

  1. Clone the repo
    git clone https://github.com/espressif/esp-skainet.git
    
  2. Install ESP‑IDF (v4.4 or v5.0) and set IDF_PATH.
  3. Pick an example – the examples/wake_word_detection folder is the simplest.
  4. Build & flash
    cd examples/wake_word_detection
    idf.py flash monitor
    
  5. Customize – run idf.py menuconfig to add your own wake words or command phrases.

What you can build

  • Voice‑controlled smart‑home devices – turn lights, AC, etc. on/off with a few spoken commands.
  • Always‑on assistants – devices that listen for a wake word and then process commands locally, keeping user data on‑device.
  • Embedded voice UI for wearables or robots – thanks to the tiny memory footprint and the two‑mic AFE.
  • Prototype kits for AI‑edge education – the examples and documentation make it easy for students to experiment with on‑device speech AI.

Documentation & support

  • Detailed engine docs: WakeNet and MultiNet.
  • Audio front‑end guide: AFE.
  • Issue tracker on GitHub for bugs/feature requests.
  • Contribution guide linked to the main ESP‑IDF repo.

Bottom line

ESP‑Skainet is a genuine, production‑grade AI/ML project that brings wake‑word detection and command recognition to low‑cost microcontrollers. It’s useful for anyone building privacy‑first, offline voice interfaces on ESP32 hardware.

Related

  • Project
  • Project
  • Project
  • Project