SparkFun Forums 

Where electronics enthusiasts find answers.

Questions &/or issues related to products in the Audio category should be posted in this forum.
I have an Arduino application (must be open source HW and SW) in mind that requires reading ADC values and performing significant compute, while audio is also being played. Because of the compute need I think I need a Zero card so need an async music library for this - anyone know of a solution? Or have any other suggestions? Thanks
If it were me (and forgive me for self-promoting my own widget) I'd use a Qwiic MP3 Trigger:

You just say 'play track 2' and go on with your reading of ADC values and such and the Trigger autonomously plays the track.

It's OSHW, I licensed the examples and even the original firmware under ... MIT? I forget, but it's all open. There's even a bunch of examples to get you started within the MP3 Trigger library.
Hmm - good question, I don't know. I believe it's on the order of milliseconds between command being sent via I2C and MP3 being started, but unfortunately the WT2003S doesn't call this out in their datasheet: ... _V1.03.pdf

The Qwiic trigger cannot change the playback speed, and off the top of my head I don't know of an embedded MP3 player that supports slower track playing. I'd pre-record the various tracks at the various speeds into regular speed MP3s and just play the track that is needed.
Both the WAV Trigger and Tsunami have a trigger-to-sound output time of between 5 and 12 milliseconds. Tsunami is probably a bit better than this because it scans the input triggers continuously.

In addition to being polyphonic, both products also allow you to change the playback speed of any sound (independently) in real time.

Neither product will play MP3 files, but you can convert any MP3 file to a wav file in about 30 seconds: