Page 1 of 1

ESP32 PDM audio decoding

Posted: Tue Jul 19, 2022 7:10 pm
by Tomahawk_SMH
Hello!
I have an ICS-41350 MEMS microphone with PDM output and a project to record and play the sound with an ESP32 mcu board. There are two main parts: 1.recording from mic and getting data in pdm format 2.proccessing the audio and and sending it to DAC.
for the first I'm gonna use I2S.h library in arduino framework. For the second I have two options: using external hardware or bit-banging the pdm audio to analog signals. First one is currently not an option and I really would like to use the second option.
is there any libraries or Freertos APIs for this purpose (or similar) ?
I'd appreciate the help.

Re: ESP32 PDM audio decoding

Posted: Wed Jul 20, 2022 4:16 am
by ESP_Sprite
The ESP32 I2S peripheral actually can do PDM to PCM decoding in hardware. I have no idea if that functionality is exposed in Arduino libraries, though.

Re: ESP32 PDM audio decoding

Posted: Tue Jul 26, 2022 9:24 am
by Tomahawk_SMH
ESP_Sprite wrote:
Wed Jul 20, 2022 4:16 am
The ESP32 I2S peripheral actually can do PDM to PCM decoding in hardware. I have no idea if that functionality is exposed in Arduino libraries, though.
Is there any other way to use the PDM to PCM decoding in other frameworks?

Re: ESP32 PDM audio decoding

Posted: Wed Jul 27, 2022 12:58 am
by ESP_Sprite
As most other frameworks are based on ESP-IDF, you should be able to use the ESP-IDF I2S driver there as well.