Arduino MP3 Shield
Audio for Arduino is difficult (it was never designed for it), but made much easier by the VS1053 MP3 shield, an extension board featuring VLSI’s VS1053 multi-codec audio chip.
Read the specs and this is one versatile chip – it plays Ogg Vorbis, MP3, AAC, WMA and WAV audio straight off the bat, and with a software patch, it’ll even play lossless FLAC audio as well.
The VS1053 shield board is even better – it combines MicroSD card storage (up to 32GB) and also takes advantage of the VS1053’s audio recording capabilities (16-bit WAV/PCM or Ogg Vorbis via patch) through a built-in microphone or your own via the 3.5mm mic input.
Delving into the specs further shows the chip can drive a standard 32-ohm headphone load.
Total harmonic distortion (THD) is a reasonable 0.05% at that load and signal-to-noise ratio (SNR) at full-scale is 94dB – not earth-shattering, but still very respectable.