I have added a follow-on to this Instructable:
The follow-on shows you how to design, etch and build a PCB shield to connect the MP3 to the Arduino. Replaces the analog switches with a 74HC244. SIngle layer board with large surface mount component design. Only 5 thru holes. Take a look.
Ebay abounds with sales for REALLY inexpensive MP3 "Clip" players. These players support MicroSD cards up to 8G, have a built in headphone amp, have built in volume control and Next and Previous control for stepping thru MP3 files. The Clip Players have their own battery and a mini USB port for battery charging and file exchange with the MicroSD card. (You have to supply your own MicroSD card.) And considering the low price, the sound quality is quite good.
I had originally bought mine for $5, now up to $6.75! Better buy a few now...
If you need to add a little music or voice to your next Arduino project, this simple hack will get you there. So here is how this works. We remove the guts to one of these inexpensive little MP3 players, solder on a couple of wires to the MP3 circuit board and attach then two an Arduino protoshield (if you are using a full size Arduino, I will show wiring to an Arduino Mini also.) The circuit also requires two analog switches to completely control all the front panel buttons. The Arduino code to control the MP3 player is really simple and an example is provided. You load your sound files on to a MicroSd card and name them in a way so that they can be sequenced in the way you want. When you are done, your Arduino will be able to step to and play specific sound files, adjust volume up or down, pause, etc.
I plan on following up with an EagleCad shield design. But for right now, its wires and solder and a little programming, so Arduinites can get going.
And of course, after I wrote this, I found this one also:
Hopefully whatever I have left out, you can find in the above.