esp-idf 5.2.2 i2s driver volume
Posted: Wed Jul 17, 2024 5:56 am
I very recently migrated a fairly mature codebase from esp-idf 4.6.6 to 5.2.2 and am working on removing use of the legacy drivers. I am first focusing on the i2s driver. I copied the i2s configuration from our idf 4.6.6 branch and validated that the settings match in my new usage of driver/i2s_std.h.
Oddly, when I play the same wav files that the system has always played, they are 10-15dB louder (and as a result, distorted/clipping) from the speaker using the new i2s_std driver compared to the legacy i2s.h legacy driver. The rest of the application code has not changed. Hardware has not changed-- audio is played through a MAX98357A. The only thing that has changed in code is the function that configures the i2s driver and the function that uses i2s_channel_write() instead of i2s_write(). Any ideas?
Oddly, when I play the same wav files that the system has always played, they are 10-15dB louder (and as a result, distorted/clipping) from the speaker using the new i2s_std driver compared to the legacy i2s.h legacy driver. The rest of the application code has not changed. Hardware has not changed-- audio is played through a MAX98357A. The only thing that has changed in code is the function that configures the i2s driver and the function that uses i2s_channel_write() instead of i2s_write(). Any ideas?