Adafruit VS1053 Codec + MicroSD Breakout - MP3/WAV/MIDI/OGG Play + Record - v4
This breakout board is the ultimate companion for the VLSI VS1053B DSP codec chip. The VS1053 can decode a wide variety of audio formats such as MP3, AAC, Ogg Vorbis, WMA, MIDI, FLAC, WAV (PCM and ADPCM). It can also be used to record audio in both PCM (WAV) and compressed Ogg Vorbis. You can do all sorts of stuff with the audio as well such as adjusting bass, treble, and volume digitally. There are also 8 GPIO pins that can be used for stuff like lighting up small LEDs or reading buttons.
All this functionality is implemented in a light-weight SPI interface so nearly any microcontroller can play audio from an SD card. There's also a special MIDI mode that you can boot the chip into that will read 'classic' 31250Kbaud MIDI data on a UART pin and act like a synth/drum machine - there are dozens of built-in drum and sample effects! But the chip is a pain to solder, and needs a lot of extras. That's why Adafruit spun up this breakout, perfect for use with an Arduino but also good for other microcontrollers that just don't have the computational power to decode MP3s.
The breakout is slim enough to fit on a breadboard with 1 row of holes left over for wiring. There's 3.3v and 1.8v regulators onboard with ferrite beads and analog filtering for quality analog output. There's a microphone input port that you can wire up a line-in or mic to and record compressed audio. All 8 GPIO are broken out and they all have built in 100K pulldowns, simply connect your button from the GPIO pin to 3.3V for an active-high connection. You'll likely want to play music from a microSD card so we added a holder on-board. And since we know so many of our customers use 5V microcontrollers like the Arduino, Adafruit have made the interface pins all 5V compliant with level shifters so you can use the chip with 3V or 5V logic!
Each order comes with a fully assembled and tested breakout board, some 0.1" male header you can solder to the breakout so it plugs into a breadboard and a bonus stereo headphone jack that will be handy when you want to plug headphones in!
If you just need loudspeakers, the Adafruit 3.7W stereo amp board plus two 3W 4ohm speakers will give you lots of boom and you don't need any extra blocking caps because the amplifier has differential inputs.
Check out the detailed tutorial & excellent Arduino library from Adafruit that demonstrates everything cool about this library: playing music off an SD card, using the GPIO pins as input/outputs, playing music using an interrupt (so it's in the background), using the VS1053 as a MIDI synthesizer (no SD required), and recording Ogg vorbis audio from a microphone/line-in to SD.