How can I get the VAD example working on my ESP32-S3 DevKit-C?
Posted: Wed Feb 19, 2025 3:41 pm
Hi, I'm trying to get the speech_recognition/vad example working with my ESP32-S3 DevKit-C and INMP441 microphone. I've wired everything on a breadboard and modified the ESP32-S3 Box I2S configuration to match my setup. The code starts up, but it doesn't detect any voice activity.
During testing, there was no noise to interfere with the speech detection.
What could be causing this issue, and how can I make my custom setup work?]
Thank all.
ESP32S3 output:
Pin Configuration:
During testing, there was no noise to interfere with the speech detection.
What could be causing this issue, and how can I make my custom setup work?]
Thank all.
ESP32S3 output:
Code: Select all
I (26) boot: ESP-IDF v5.3.2 2nd stage bootloader
I (27) boot: compile time Feb 19 2025 22:08:58
I (27) boot: Multicore bootloader
I (30) boot: chip revision: v0.2
I (33) boot: efuse block revision: v1.3
I (38) boot.esp32s3: Boot SPI Speed : 80MHz
I (43) boot.esp32s3: SPI Mode : DIO
I (48) boot.esp32s3: SPI Flash Size : 4MB
I (52) boot: Enabling RNG early entropy source...
I (58) boot: Partition Table:
I (61) boot: ## Label Usage Type ST Offset Length
I (69) boot: 0 nvs WiFi data 01 02 00009000 00006000
I (76) boot: 1 phy_init RF data 01 01 0000f000 00001000
I (83) boot: 2 factory factory app 00 00 00010000 00100000
I (91) boot: End of partition table
I (95) esp_image: segment 0: paddr=00010020 vaddr=3c040020 size=123d8h ( 74712) map
I (117) esp_image: segment 1: paddr=00022400 vaddr=3fc94400 size=02c4ch ( 11340) load
I (120) esp_image: segment 2: paddr=00025054 vaddr=40374000 size=0afc4h ( 44996) load
I (132) esp_image: segment 3: paddr=00030020 vaddr=42000020 size=32e48h (208456) map
I (170) esp_image: segment 4: paddr=00062e70 vaddr=4037efc4 size=05418h ( 21528) load
I (181) boot: Loaded app from partition at offset 0x10000
I (182) boot: Disabling RNG early entropy source...
I (193) cpu_start: Multicore app
I (202) cpu_start: Pro cpu start user code
I (202) cpu_start: cpu freq: 160000000 Hz
I (203) app_init: Application information:
I (205) app_init: Project name: example_vad
I (211) app_init: App version: 1
I (215) app_init: Compile time: Feb 19 2025 22:07:42
I (221) app_init: ELF file SHA256: 4914dda38...
I (226) app_init: ESP-IDF: v5.3.2
I (231) efuse_init: Min chip rev: v0.0
I (236) efuse_init: Max chip rev: v0.99
I (241) efuse_init: Chip rev: v0.2
I (246) heap_init: Initializing. RAM available for dynamic allocation:
I (253) heap_init: At 3FC97C90 len 00051A80 (326 KiB): RAM
I (259) heap_init: At 3FCE9710 len 00005724 (21 KiB): RAM
I (265) heap_init: At 3FCF0000 len 00008000 (32 KiB): DRAM
I (271) heap_init: At 600FE100 len 00001EE8 (7 KiB): RTCRAM
I (279) spi_flash: detected chip: generic
I (282) spi_flash: flash io: dio
W (286) ADC: legacy driver is deprecated, please migrate to `esp_adc/adc_oneshot.h`
I (294) sleep: Configure to isolate all GPIO pins in sleep state
I (301) sleep: Enable automatic switching of GPIO sleep configuration
I (309) main_task: Started on CPU0
I (319) main_task: Calling app_main()
I (319) EXAMPLE-VAD: [ 1 ] Start codec chip
W (319) i2c_bus_v2: I2C master handle is NULL, will create new one
E (329) i2c.master: I2C transaction unexpected nack detected
E (339) i2c.master: s_i2c_synchronous_transaction(888): I2C transaction failed
I (3209) EXAMPLE-VAD: [ 2 ] Create audio pipeline for recording
I (3219) EXAMPLE-VAD: [2.1] Create i2s stream to read audio data from codec chip
I (3229) EXAMPLE-VAD: [2.2] Create filter to resample audio data
I (3229) EXAMPLE-VAD: [2.3] Create raw to receive data
I (3239) EXAMPLE-VAD: [ 3 ] Register all elements to audio pipeline
I (3239) EXAMPLE-VAD: [ 4 ] Link elements together [codec_chip]-->i2s_stream-->filter-->raw-->[VAD]
I (3249) EXAMPLE-VAD: [ 5 ] Start audio_pipeline
W (3259) AUDIO_THREAD: Make sure selected the `CONFIG_SPIRAM_BOOT_INIT` and `CONFIG_SPIRAM_ALLOW_STACK_EXTERNAL_MEMORY` by `make menuconfig`
I (3269) EXAMPLE-VAD: [ 6 ] Initialize VAD handle
Pin Configuration:
Code: Select all
i2s_config->bck_io_num = GPIO_NUM_12;
i2s_config->ws_io_num = GPIO_NUM_13;
i2s_config->data_out_num = GPIO_NUM_15;
i2s_config->data_in_num = GPIO_NUM_16;
i2s_config->mck_io_num = GPIO_NUM_2;