Skip to content

Latest commit

 

History

History
 
 

element_wav_amr_sdcard

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 

Record WAV and AMR Files Simultaneously to MicroSD Card Using Callback Function

Example Brief

This example demonstrates how to use the element API to set up a flexible audio data stream with one I2S input and two file outputs, realizing the function of recording 10-second AMR and WAV files simultaneously and saving them to the microSD card. In this example, audio_element_set_input_ringbuf and audio_element_set_output_ringbuf insert the ringbuf into the element to complete the data copy distribution and stream handling, audio_element_set_event_callback registers the element events, and audio_element_run and audio_element_resume control the start of data transfer.

AMR supports two types of audio encoders, AMR-NB and AMR-WB. The AMR-NB encoder is selected by default to record audios before they are saved to the microSD card.

The recording pipeline is as follows:

                                                ---> ringbuf01 ---> wav_encoder ---> ringbuf02 ---> fatfs_stream_writer ---> [wav_file]
                                               |
[mic] ---> codec_chip ---> i2s_stream_reader --
                                               |
                                                ---> ringbuf10 ---> amr_encoder ---> ringbuf12 ---> fatfs_stream_writer ---> [amr_file]
                                                                        ▲
                                                                ┌───────┴────────┐
                                                                │  AMRNB_ENCODER │
                                                                │  AMRWB_ENCODER │
                                                                └────────────────┘

Environment Setup

Hardware Required

This example runs on the boards that are marked with a green checkbox in the table. Please remember to select the board in menuconfig as discussed in Section Configuration below.

Build and Flash

Default IDF Branch

This example supports IDF release/v3.3 and later branches. By default, it runs on ADF's built-in branch $ADF_PATH/esp-idf.

Configuration

In this example, you need to prepare a microSD card and insert the card into the development board in advance.

The default board for this example is ESP32-Lyrat V4.3. If you need to run this example on other development boards, select the board in menuconfig, such as ESP32-Lyrat-Mini V1.1.

menuconfig > Audio HAL > ESP32-Lyrat-Mini V1.1

In this example, the default encoding is AMRNB. If you want to change the encoding to AMRWB, select it in menuconfig.

menuconfig > Example configuration > Audio encoder file type  > amrwb

Build and Flash

Build the project and flash it to the board, then run monitor tool to view serial output (replace PORT with your board's serial port name):

idf.py -p PORT flash monitor

To exit the serial monitor, type Ctrl-].

See ESP-IDF Programming Guide for full steps to configure and build an ESP-IDF project.

How to Use the Example

Example Functionality

After the example starts running, it signals the start of recording and prints recording seconds. The log is as follows:

rst:0x1 (POWERON_RESET),boot:0x1f (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0030,len:7556
load:0x40078000,len:13904
ho 0 tail 12 room 4
load:0x40080400,len:5296
0x40080400: _init at ??:?

entry 0x40080710
I (29) boot: ESP-IDF v4.2.2-1-g379ca2123 2nd stage bootloader
I (29) boot: compile time 11:13:10
I (29) boot: chip revision: 3
I (33) qio_mode: Enabling default flash chip QIO
I (38) boot.esp32: SPI Speed      : 80MHz
I (43) boot.esp32: SPI Mode       : QIO
I (48) boot.esp32: 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 (68) 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=0x00010020 vaddr=0x3f400020 size=0x407bc (264124) map
I (182) esp_image: segment 1: paddr=0x000507e4 vaddr=0x3ffb0000 size=0x02250 (  8784) load
I (185) esp_image: segment 2: paddr=0x00052a3c vaddr=0x40080000 size=0x0d5dc ( 54748) load
0x40080000: _WindowOverflow4 at /hengyongchao/esp-idfs/esp-idf-v4.2.2-psram/components/freertos/xtensa/xtensa_vectors.S:1730

I (208) esp_image: segment 3: paddr=0x00060020 vaddr=0x400d0020 size=0x39018 (233496) map
0x400d0020: _stext at ??:?

I (277) esp_image: segment 4: paddr=0x00099040 vaddr=0x4008d5dc size=0x01724 (  5924) load
0x4008d5dc: spi_flash_ll_program_page at /hengyongchao/esp-idfs/esp-idf-v4.2.2-psram/components/soc/src/esp32/include/hal/spi_flash_ll.h:204
 (inlined by) spi_flash_hal_program_page at /hengyongchao/esp-idfs/esp-idf-v4.2.2-psram/components/soc/src/hal/spi_flash_hal_iram.c:47

I (287) boot: Loaded app from partition at offset 0x10000
I (287) boot: Disabling RNG early entropy source...
I (288) psram: This chip is ESP32-D0WD
I (293) spiram: Found 64MBit SPI RAM device
I (298) spiram: SPI RAM mode: flash 80m sram 80m
I (303) spiram: PSRAM initialized, cache is in low/high (2-core) mode.
I (310) cpu_start: Pro cpu up.
I (314) cpu_start: Application information:
I (319) cpu_start: Project name:     element_wav_amr_sdcard
I (325) cpu_start: App version:      v2.2-242-g571753b2-dirty
I (331) cpu_start: Compile time:     Nov 22 2021 11:13:08
I (338) cpu_start: ELF file SHA256:  2c3e262decb5a017...
I (343) cpu_start: ESP-IDF:          v4.2.2-1-g379ca2123
I (349) cpu_start: Starting app cpu, entry point is 0x40081c34
0x40081c34: call_start_cpu1 at /hengyongchao/esp-idfs/esp-idf-v4.2.2-psram/components/esp32/cpu_start.c:287

I (0) cpu_start: App cpu up.
I (853) spiram: SPI SRAM memory test OK
I (853) heap_init: Initializing. RAM available for dynamic allocation:
I (853) heap_init: At 3FFAE6E0 len 00001920 (6 KiB): DRAM
I (859) heap_init: At 3FFB2C60 len 0002D3A0 (180 KiB): DRAM
I (865) heap_init: At 3FFE0440 len 00003AE0 (14 KiB): D/IRAM
I (872) heap_init: At 3FFE4350 len 0001BCB0 (111 KiB): D/IRAM
I (878) heap_init: At 4008ED00 len 00011300 (68 KiB): IRAM
I (884) cpu_start: Pro cpu start user code
I (889) spiram: Adding pool of 4096K of external SPI memory to heap allocator
I (909) spi_flash: detected chip: gd
I (909) spi_flash: flash io: qio
W (909) spi_flash: Detected size(8192k) larger than the size in the binary image header(4096k). Using the size in the binary image header.
I (920) cpu_start: Starting scheduler on PRO CPU.
I (0) cpu_start: Starting scheduler on APP CPU.
I (931) spiram: Reserving pool of 32K of internal memory for DMA/internal allocations
I (941) ELEMENT_REC_WAV_AMR_SDCARD: [1.0] Mount sdcard
I (1451) ELEMENT_REC_WAV_AMR_SDCARD: [2.0] Start codec chip
E (1451) gpio: gpio_install_isr_service(438): GPIO isr service already installed
I (1951) ELEMENT_REC_WAV_AMR_SDCARD: [3.0] Create i2s stream to read audio data from codec chip
I (1951) ELEMENT_REC_WAV_AMR_SDCARD: [3.1] Create wav encoder to encode wav format
I (1951) ELEMENT_REC_WAV_AMR_SDCARD: [3.2] Create fatfs stream to write data to sdcard
I (1961) ELEMENT_REC_WAV_AMR_SDCARD: [3.3] Create a ringbuffer and insert it between i2s_stream_reader and wav_encoder
I (1971) ELEMENT_REC_WAV_AMR_SDCARD: [3.4] Create a ringbuffer and insert it between wav_encoder and wav_fatfs_stream_writer
I (1981) ELEMENT_REC_WAV_AMR_SDCARD: [3.5] Set up uri (file as fatfs_stream, wav as wav encoder)
I (1991) ELEMENT_REC_WAV_AMR_SDCARD: [4.0] Create amr encoder to encode wav format
I (2001) ELEMENT_REC_WAV_AMR_SDCARD: [4.1] Create fatfs stream to write data to sdcard
I (2011) ELEMENT_REC_WAV_AMR_SDCARD: [4.2] Create a ringbuffer and insert it between i2s_stream_reader and wav_encoder
I (2021) ELEMENT_REC_WAV_AMR_SDCARD: [4.3] Create a ringbuffer and insert it between wav_encoder and wav_fatfs_stream_writer
I (2031) ELEMENT_REC_WAV_AMR_SDCARD: [4.4] Set up uri (file as fatfs_stream, wav as wav encoder)
I (2041) ELEMENT_REC_WAV_AMR_SDCARD: [5.0] Set callback function for audio_elements
I (2051) ELEMENT_REC_WAV_AMR_SDCARD: [6.0] Set up event listener
I (2061) ELEMENT_REC_WAV_AMR_SDCARD: [7.0] Listening event from peripherals
I (2071) ELEMENT_REC_WAV_AMR_SDCARD: [8.0] Start audio elements
W (2071) AUDIO_ELEMENT: [iis-0x3f806afc] RESUME timeout
I (2071) ELEMENT_REC_WAV_AMR_SDCARD: Audio event 8 from iis element
I (2081) ELEMENT_REC_WAV_AMR_SDCARD: Audio event 8 from wav element
I (2081) ELEMENT_REC_WAV_AMR_SDCARD: AEL_STATUS_STATE_RUNNING
I (2081) ELEMENT_REC_WAV_AMR_SDCARD: Audio event 8 from amr element
I (2091) ELEMENT_REC_WAV_AMR_SDCARD: AEL_STATUS_STATE_RUNNING
I (2111) ELEMENT_REC_WAV_AMR_SDCARD: AEL_STATUS_STATE_RUNNING
W (2081) AUDIO_ELEMENT: [file-0x3f808040] RESUME timeout
I (2141) ELEMENT_REC_WAV_AMR_SDCARD: [ * ] Recording ... 0
I (2311) ELEMENT_REC_WAV_AMR_SDCARD: Audio event 8 from file element
I (2311) ELEMENT_REC_WAV_AMR_SDCARD: AEL_STATUS_STATE_RUNNING
I (2481) ELEMENT_REC_WAV_AMR_SDCARD: Audio event 8 from file element
I (2481) ELEMENT_REC_WAV_AMR_SDCARD: AEL_STATUS_STATE_RUNNING
I (3151) ELEMENT_REC_WAV_AMR_SDCARD: [ * ] Recording ... 1
I (4221) ELEMENT_REC_WAV_AMR_SDCARD: [ * ] Recording ... 2
I (5291) ELEMENT_REC_WAV_AMR_SDCARD: [ * ] Recording ... 3
I (6301) ELEMENT_REC_WAV_AMR_SDCARD: [ * ] Recording ... 4
I (7321) ELEMENT_REC_WAV_AMR_SDCARD: [ * ] Recording ... 5
I (8361) ELEMENT_REC_WAV_AMR_SDCARD: [ * ] Recording ... 6
I (9371) ELEMENT_REC_WAV_AMR_SDCARD: [ * ] Recording ... 7
I (10381) ELEMENT_REC_WAV_AMR_SDCARD: [ * ] Recording ... 8
I (11411) ELEMENT_REC_WAV_AMR_SDCARD: [ * ] Recording ... 9
I (12451) ELEMENT_REC_WAV_AMR_SDCARD: Finishing recording
I (12461) ELEMENT_REC_WAV_AMR_SDCARD: [9.0] Stop elements and release resources
W (12461) AUDIO_ELEMENT: IN-[wav] AEL_IO_ABORT
I (12461) ELEMENT_REC_WAV_AMR_SDCARD: Audio event 8 from wav element
I (12471) ELEMENT_REC_WAV_AMR_SDCARD: AEL_STATUS_STATE_STOPPED
W (12481) AUDIO_ELEMENT: IN-[amr] AEL_IO_ABORT
I (12481) ELEMENT_REC_WAV_AMR_SDCARD: Audio event 11 from amr element
I (12491) ELEMENT_REC_WAV_AMR_SDCARD: Audio event 8 from amr element
I (12501) ELEMENT_REC_WAV_AMR_SDCARD: AEL_STATUS_STATE_STOPPED
W (12651) AUDIO_ELEMENT: OUT-[iis] AEL_IO_ABORT
W (12651) AUDIO_ELEMENT: OUT-[iis] AEL_IO_ABORT
W (12651) AUDIO_ELEMENT: OUT-[iis] AEL_IO_ABORT
W (12651) AUDIO_ELEMENT: OUT-[iis] AEL_IO_ABORT
I (12661) ELEMENT_REC_WAV_AMR_SDCARD: Audio event 11 from iis element
I (12671) ELEMENT_REC_WAV_AMR_SDCARD: Audio event 8 from iis element
I (12671) ELEMENT_REC_WAV_AMR_SDCARD: AEL_STATUS_STATE_STOPPED
I (12681) ELEMENT_REC_WAV_AMR_SDCARD: Audio event 8 from wav element
I (12691) ELEMENT_REC_WAV_AMR_SDCARD: AEL_STATUS_STATE_STOPPED
E (12691) AUDIO_ELEMENT: [wav] Element already stopped
W (12701) AUDIO_ELEMENT: IN-[file] AEL_IO_ABORT
I (12831) ELEMENT_REC_WAV_AMR_SDCARD: Audio event 9 from file element
I (12831) ELEMENT_REC_WAV_AMR_SDCARD: Audio event 8 from file element
I (12831) ELEMENT_REC_WAV_AMR_SDCARD: AEL_STATUS_STATE_STOPPED
I (12841) ELEMENT_REC_WAV_AMR_SDCARD: Audio event 8 from amr element
I (12841) ELEMENT_REC_WAV_AMR_SDCARD: AEL_STATUS_STATE_STOPPED
E (12851) AUDIO_ELEMENT: [amr] Element already stopped
W (12861) AUDIO_ELEMENT: IN-[file] AEL_IO_ABORT
I (12861) ELEMENT_REC_WAV_AMR_SDCARD: Audio event 9 from file element
I (12871) ELEMENT_REC_WAV_AMR_SDCARD: Audio event 8 from file element
I (12881) ELEMENT_REC_WAV_AMR_SDCARD: AEL_STATUS_STATE_STOPPED

Example Log

A complete log is as follows:

rst:0x1 (POWERON_RESET),boot:0x1f (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0030,len:7556
load:0x40078000,len:13904
ho 0 tail 12 room 4
load:0x40080400,len:5296
0x40080400: _init at ??:?

entry 0x40080710
I (29) boot: ESP-IDF v4.2.2-1-g379ca2123 2nd stage bootloader
I (29) boot: compile time 11:13:10
I (29) boot: chip revision: 3
I (33) qio_mode: Enabling default flash chip QIO
I (38) boot.esp32: SPI Speed      : 80MHz
I (43) boot.esp32: SPI Mode       : QIO
I (48) boot.esp32: 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 (68) 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=0x00010020 vaddr=0x3f400020 size=0x407bc (264124) map
I (182) esp_image: segment 1: paddr=0x000507e4 vaddr=0x3ffb0000 size=0x02250 (  8784) load
I (185) esp_image: segment 2: paddr=0x00052a3c vaddr=0x40080000 size=0x0d5dc ( 54748) load
0x40080000: _WindowOverflow4 at /hengyongchao/esp-idfs/esp-idf-v4.2.2-psram/components/freertos/xtensa/xtensa_vectors.S:1730

I (208) esp_image: segment 3: paddr=0x00060020 vaddr=0x400d0020 size=0x39018 (233496) map
0x400d0020: _stext at ??:?

I (277) esp_image: segment 4: paddr=0x00099040 vaddr=0x4008d5dc size=0x01724 (  5924) load
0x4008d5dc: spi_flash_ll_program_page at /hengyongchao/esp-idfs/esp-idf-v4.2.2-psram/components/soc/src/esp32/include/hal/spi_flash_ll.h:204
 (inlined by) spi_flash_hal_program_page at /hengyongchao/esp-idfs/esp-idf-v4.2.2-psram/components/soc/src/hal/spi_flash_hal_iram.c:47

I (287) boot: Loaded app from partition at offset 0x10000
I (287) boot: Disabling RNG early entropy source...
I (288) psram: This chip is ESP32-D0WD
I (293) spiram: Found 64MBit SPI RAM device
I (298) spiram: SPI RAM mode: flash 80m sram 80m
I (303) spiram: PSRAM initialized, cache is in low/high (2-core) mode.
I (310) cpu_start: Pro cpu up.
I (314) cpu_start: Application information:
I (319) cpu_start: Project name:     element_wav_amr_sdcard
I (325) cpu_start: App version:      v2.2-242-g571753b2-dirty
I (331) cpu_start: Compile time:     Nov 22 2021 11:13:08
I (338) cpu_start: ELF file SHA256:  2c3e262decb5a017...
I (343) cpu_start: ESP-IDF:          v4.2.2-1-g379ca2123
I (349) cpu_start: Starting app cpu, entry point is 0x40081c34
0x40081c34: call_start_cpu1 at /hengyongchao/esp-idfs/esp-idf-v4.2.2-psram/components/esp32/cpu_start.c:287

I (0) cpu_start: App cpu up.
I (853) spiram: SPI SRAM memory test OK
I (853) heap_init: Initializing. RAM available for dynamic allocation:
I (853) heap_init: At 3FFAE6E0 len 00001920 (6 KiB): DRAM
I (859) heap_init: At 3FFB2C60 len 0002D3A0 (180 KiB): DRAM
I (865) heap_init: At 3FFE0440 len 00003AE0 (14 KiB): D/IRAM
I (872) heap_init: At 3FFE4350 len 0001BCB0 (111 KiB): D/IRAM
I (878) heap_init: At 4008ED00 len 00011300 (68 KiB): IRAM
I (884) cpu_start: Pro cpu start user code
I (889) spiram: Adding pool of 4096K of external SPI memory to heap allocator
I (909) spi_flash: detected chip: gd
I (909) spi_flash: flash io: qio
W (909) spi_flash: Detected size(8192k) larger than the size in the binary image header(4096k). Using the size in the binary image header.
I (920) cpu_start: Starting scheduler on PRO CPU.
I (0) cpu_start: Starting scheduler on APP CPU.
I (931) spiram: Reserving pool of 32K of internal memory for DMA/internal allocations
I (941) ELEMENT_REC_WAV_AMR_SDCARD: [1.0] Mount sdcard
I (1451) ELEMENT_REC_WAV_AMR_SDCARD: [2.0] Start codec chip
E (1451) gpio: gpio_install_isr_service(438): GPIO isr service already installed
I (1951) ELEMENT_REC_WAV_AMR_SDCARD: [3.0] Create i2s stream to read audio data from codec chip
I (1951) ELEMENT_REC_WAV_AMR_SDCARD: [3.1] Create wav encoder to encode wav format
I (1951) ELEMENT_REC_WAV_AMR_SDCARD: [3.2] Create fatfs stream to write data to sdcard
I (1961) ELEMENT_REC_WAV_AMR_SDCARD: [3.3] Create a ringbuffer and insert it between i2s_stream_reader and wav_encoder
I (1971) ELEMENT_REC_WAV_AMR_SDCARD: [3.4] Create a ringbuffer and insert it between wav_encoder and wav_fatfs_stream_writer
I (1981) ELEMENT_REC_WAV_AMR_SDCARD: [3.5] Set up uri (file as fatfs_stream, wav as wav encoder)
I (1991) ELEMENT_REC_WAV_AMR_SDCARD: [4.0] Create amr encoder to encode wav format
I (2001) ELEMENT_REC_WAV_AMR_SDCARD: [4.1] Create fatfs stream to write data to sdcard
I (2011) ELEMENT_REC_WAV_AMR_SDCARD: [4.2] Create a ringbuffer and insert it between i2s_stream_reader and wav_encoder
I (2021) ELEMENT_REC_WAV_AMR_SDCARD: [4.3] Create a ringbuffer and insert it between wav_encoder and wav_fatfs_stream_writer
I (2031) ELEMENT_REC_WAV_AMR_SDCARD: [4.4] Set up uri (file as fatfs_stream, wav as wav encoder)
I (2041) ELEMENT_REC_WAV_AMR_SDCARD: [5.0] Set callback function for audio_elements
I (2051) ELEMENT_REC_WAV_AMR_SDCARD: [6.0] Set up event listener
I (2061) ELEMENT_REC_WAV_AMR_SDCARD: [7.0] Listening event from peripherals
I (2071) ELEMENT_REC_WAV_AMR_SDCARD: [8.0] Start audio elements
W (2071) AUDIO_ELEMENT: [iis-0x3f806afc] RESUME timeout
I (2071) ELEMENT_REC_WAV_AMR_SDCARD: Audio event 8 from iis element
I (2081) ELEMENT_REC_WAV_AMR_SDCARD: Audio event 8 from wav element
I (2081) ELEMENT_REC_WAV_AMR_SDCARD: AEL_STATUS_STATE_RUNNING
I (2081) ELEMENT_REC_WAV_AMR_SDCARD: Audio event 8 from amr element
I (2091) ELEMENT_REC_WAV_AMR_SDCARD: AEL_STATUS_STATE_RUNNING
I (2111) ELEMENT_REC_WAV_AMR_SDCARD: AEL_STATUS_STATE_RUNNING
W (2081) AUDIO_ELEMENT: [file-0x3f808040] RESUME timeout
I (2141) ELEMENT_REC_WAV_AMR_SDCARD: [ * ] Recording ... 0
I (2311) ELEMENT_REC_WAV_AMR_SDCARD: Audio event 8 from file element
I (2311) ELEMENT_REC_WAV_AMR_SDCARD: AEL_STATUS_STATE_RUNNING
I (2481) ELEMENT_REC_WAV_AMR_SDCARD: Audio event 8 from file element
I (2481) ELEMENT_REC_WAV_AMR_SDCARD: AEL_STATUS_STATE_RUNNING
I (3151) ELEMENT_REC_WAV_AMR_SDCARD: [ * ] Recording ... 1
I (4221) ELEMENT_REC_WAV_AMR_SDCARD: [ * ] Recording ... 2
I (5291) ELEMENT_REC_WAV_AMR_SDCARD: [ * ] Recording ... 3
I (6301) ELEMENT_REC_WAV_AMR_SDCARD: [ * ] Recording ... 4
I (7321) ELEMENT_REC_WAV_AMR_SDCARD: [ * ] Recording ... 5
I (8361) ELEMENT_REC_WAV_AMR_SDCARD: [ * ] Recording ... 6
I (9371) ELEMENT_REC_WAV_AMR_SDCARD: [ * ] Recording ... 7
I (10381) ELEMENT_REC_WAV_AMR_SDCARD: [ * ] Recording ... 8
I (11411) ELEMENT_REC_WAV_AMR_SDCARD: [ * ] Recording ... 9
I (12451) ELEMENT_REC_WAV_AMR_SDCARD: Finishing recording
I (12461) ELEMENT_REC_WAV_AMR_SDCARD: [9.0] Stop elements and release resources
W (12461) AUDIO_ELEMENT: IN-[wav] AEL_IO_ABORT
I (12461) ELEMENT_REC_WAV_AMR_SDCARD: Audio event 8 from wav element
I (12471) ELEMENT_REC_WAV_AMR_SDCARD: AEL_STATUS_STATE_STOPPED
W (12481) AUDIO_ELEMENT: IN-[amr] AEL_IO_ABORT
I (12481) ELEMENT_REC_WAV_AMR_SDCARD: Audio event 11 from amr element
I (12491) ELEMENT_REC_WAV_AMR_SDCARD: Audio event 8 from amr element
I (12501) ELEMENT_REC_WAV_AMR_SDCARD: AEL_STATUS_STATE_STOPPED
W (12651) AUDIO_ELEMENT: OUT-[iis] AEL_IO_ABORT
W (12651) AUDIO_ELEMENT: OUT-[iis] AEL_IO_ABORT
W (12651) AUDIO_ELEMENT: OUT-[iis] AEL_IO_ABORT
W (12651) AUDIO_ELEMENT: OUT-[iis] AEL_IO_ABORT
I (12661) ELEMENT_REC_WAV_AMR_SDCARD: Audio event 11 from iis element
I (12671) ELEMENT_REC_WAV_AMR_SDCARD: Audio event 8 from iis element
I (12671) ELEMENT_REC_WAV_AMR_SDCARD: AEL_STATUS_STATE_STOPPED
I (12681) ELEMENT_REC_WAV_AMR_SDCARD: Audio event 8 from wav element
I (12691) ELEMENT_REC_WAV_AMR_SDCARD: AEL_STATUS_STATE_STOPPED
E (12691) AUDIO_ELEMENT: [wav] Element already stopped
W (12701) AUDIO_ELEMENT: IN-[file] AEL_IO_ABORT
I (12831) ELEMENT_REC_WAV_AMR_SDCARD: Audio event 9 from file element
I (12831) ELEMENT_REC_WAV_AMR_SDCARD: Audio event 8 from file element
I (12831) ELEMENT_REC_WAV_AMR_SDCARD: AEL_STATUS_STATE_STOPPED
I (12841) ELEMENT_REC_WAV_AMR_SDCARD: Audio event 8 from amr element
I (12841) ELEMENT_REC_WAV_AMR_SDCARD: AEL_STATUS_STATE_STOPPED
E (12851) AUDIO_ELEMENT: [amr] Element already stopped
W (12861) AUDIO_ELEMENT: IN-[file] AEL_IO_ABORT
I (12861) ELEMENT_REC_WAV_AMR_SDCARD: Audio event 9 from file element
I (12871) ELEMENT_REC_WAV_AMR_SDCARD: Audio event 8 from file element
I (12881) ELEMENT_REC_WAV_AMR_SDCARD: AEL_STATUS_STATE_STOPPED

Technical Support and Feedback

Please use the following feedback channels:

  • For technical queries, go to the esp32.com forum
  • For a feature request or bug report, create a GitHub issue

We will get back to you as soon as possible.