Hi Simona, On 10/19/23, Simona Toaca <simona.alexandra2...@gmail.com> wrote: > Hello, > I am trying to record audio using a MEMS microphone, but the final > recording is missing parts periodically (for example, with a sample rate of > 8kHz, there are parts ~1s long missing once every ~10-11s. Using a sample > rate of 48kHz, the period is ~1s long). This is my first time working with > I2S and I can't figure out what causes this behaviour. > > My setup is as follows: > - the microphone has 24-bit depth in a 32-bit word (MSB first) when > transmitting data > - i am using nxrecorder to record the pcm audio onto an SD card (device > pcm_in0) > - to listen to the recording i import the file into Audacity (24-bit, Big > Endian) > > Defconfig regarding audio: > CONFIG_AUDIO=y > CONFIG_AUDIO_BUFFER_NUMBYTES=6144 (from the i2s buffer which is 8192 bytes, > 3/4 of it is "useful" info, 6144 bytes in total) > CONFIG_AUDIO_DMA=y > CONFIG_AUDIO_FORMAT_RAW=y > CONFIG_AUDIO_I2S=y > CONFIG_DMA=y > CONFIG_DMA_LINK=y > CONFIG_DRIVERS_AUDIO=y > CONFIG_ESP32_I2S0=y > CONFIG_ESP32_I2S0_BCLKPIN=25 > CONFIG_ESP32_I2S0_DATA_BIT_WIDTH_24BIT=y > CONFIG_ESP32_I2S0_DINPIN=26 > CONFIG_ESP32_I2S0_SAMPLE_RATE=8000 > CONFIG_ESP32_I2S0_WSPIN=27 > CONFIG_ESP32_I2S=y > CONFIG_I2S_DMADESC_NUM=4 > > I tried modifying the number of audio buffers and also making them bigger, > but that did not solve the problem. > Any ideas on what could cause this? >
Could it be something related to SDCard storage? Maybe it needs some optimization! Please try using a RAMDISK of 1MB+ and save the file to it. If it works we will know the SDCard could be the limitation of this configuration. BR, Alan