I am trying to play (real) music using my Arduino Uno.
I use a DIY SD card module : https://nathan.chantrell.net/20111128/diy-micro-sd-shield-for-arduino/ . I store the audio file in a raw format (samples only, no header) in the SD card.
For the output, I use an I2C 12 bits DAC module MCP4725 and an LM386 based amplifier.
But I can not manage to output sounds above 2 or 3 kHz, which is much to slow for audio.
I have read on the web that it comes from the I2C protocol. Seemingly, a solution is to use a DAC with the SPI protocol.
My questions :
- Which DAC using SPI? I have found the 16 bits MAX541. Is this a good choice?
- I have also read in on the web esp8266 - DAC to play audio samples - Arduino Stack Exchange :
“you should investigate I2S on the ESP8266. This is designed specifically for audio, although it's much harder to set up owing to the increased number of special clocks you need to provide ("master" clock, "bit" clock and "l/r" clock).”
Is it worth trying to investigate this I2S protocol?
Thank you in advance for your help.