Actually, it's not magic. It uses an Arduino and an ID-12 RFID scanner, and a python script running on your computer.
The device is really fun to use, and it makes a great afternoon project. The parts it uses are owned by most DIY people, and if you don't have them, they're pretty cheap and easy to find. The number of tracks it can play is severely limited to the number of RFID tags you have, so don't plan on throwing away your i-pod.
Wait a minute, I think I've seen this before...
Yes, unfortunately, you have. After starting on this instructable I discovered that somebody had already done something very similar, which can be found here. There are still many differences in his approach, such has that his is not USB, it is standalone, and his is much bigger and is more difficult and time-consuming to make. His is also based off of an i-pod.
Also, this project was inspired by this instructable. I probably wouldn't have thought of this without it. It's basically the same thing, but that one was with websites, not songs.
Here's a video I made of me playing a song with it (with my cat yelling in the background):
How it works:
An RFID scanner scans your card.
An Arduino processes the reading.
Based on the reading, the Arduino sends a letter to the serial port.
A python script reads the letter, and plays a song based on what letter it receives.
Step 1: Supplies
1 RFID Reader
1 RFID Reader Breakout
Many RFID Tags
Some MP3 Files (Don't pirate them, please.)
1 Box of sorts (I used a cereal box)