audio_wn

Example of the component jason-mao/av_processor v0.6.0
# Audio WakeNet Example

## Introduction

This example demonstrates how to use the `av_processor` component to test standalone WakeNet in the custom frontend path. It mainly showcases how `audio_recorder` works together with `ai_wn` and how wake word events are delivered through the recorder callback.

## Hardware Requirements

This example is implemented based on the **ESP32-S3-KORVO2-V3** development board, which integrates a microphone array and speakers and is suitable for wake word testing.


## Feature Description

### av_processor Component

The `av_processor` component provides a unified audio processing interface, mainly including the following functional modules:

- **audio_recorder (Recorder)**: Responsible for capturing audio data from the microphone
- **custom frontend + ai_wn**: Enables standalone WakeNet in the custom frontend path
- **recorder_event_cb**: Receives wake word detection events from `audio_recorder`

### WakeNet Test Flow

This example focuses on standalone WakeNet detection:

1. **Recording**: Capture audio data from the microphone through `audio_recorder`
2. **Wake word detection**: Run `ai_wn` in the custom frontend path
3. **Event callback**: Report wake word trigger channel through `recorder_event_cb`

Implementation flow:
- Initialize the audio manager and configure audio device parameters
- Configure the custom frontend and enable standalone WakeNet
- Open the recorder and register a wake word event callback
- Continuously read recorder output data in the main loop
- Print WakeNet trigger information when the wake word is detected

## Usage Instructions

1. Execute the `. ./prebuild.sh` script and select the development board model according to the prompts
2. Use the `idf.py flash monitor -p` command to flash and run the program
3. After running, speak the wake word into the microphone and observe the WakeNet trigger log in the terminal

## Configuration Parameters

- Sample rate: 16000 Hz
- Bit depth: 32 bit
- Channels: board-dependent input layout, WakeNet output is mono
- Frame duration: 20 ms

To create a project from this example, run:

idf.py create-project-from-example "jason-mao/av_processor=0.6.0:audio_wn"

or download archive (~35.64 KB)