There are various guides around instructables about pure circuit visualizers, but those are generally some kind of amplifier to make the lights pulse and change intensity in response to the power conveyed in the audio signal. I wanted something more along the line of multiple strobes responding to different frequencies of music. The end result is the mutant stepchild of this and this and a little of this, but it is totally worthwhile.
The actual audio signal gets read in from the microphone jack on the computer, so it can either accept its own sound fed back or the sound from an iPod / Rock Band / karaoke / whatever you crazy kids can dream up.
Yay new music! Courtesy of DoKashiteru and the Creative Commons, I bring you an uncensored video of the system in action:
Step 1: Parts / Tools
LEDs - Obviously. I bought really bright 10mm ones in varying colors in bulk from eBay, but you can find them on Digikey or Mouser. Higher millicandela ratings are better, especially if you want these to illuminate anything and not just be a spot of color. Shop around to find a good deal.
Resistors - One for each LED. Mine required 470 ohms, but make sure you check the ratings on your LEDs so that you get as much light as possible without burning them out.
Solderless breadboad - For all the circuitry.
Arduino - The computer/circuit interface. An awesome little board. Buy it online.
Wire - Lots of solid-core wire. I needed a lot, fast, so I ended up cleaning out my local RadioShack of this stuff, but you should be able to find it a lot cheaper. Having two strands held together like this is extremely useful, as you'll see later.
Computer - Where the actual computation takes place. Yes, this may be slightly overkill to flash a few lights, but as we inevitably end up playing our dance music from a laptop anyway it worked out just fine.
Power supply - The LEDs will likely draw more power than the arduino can provide, so we're going to be powering them externally and switching them with transistors. You should have a bunch of these lying around from old electronics, or you can find them at thrift stores. See the planning page for what voltage / amperage you need.
NPN transistors - We're using these as current amplifiers / switches. A little current drawn from the arduino controls a lot of current drawn from the power supply that runs through the LEDs. Find them online or at RadioShack.
Soldering iron - Pretty self-explanatory.
Speakers / audio splitter / male-male audio cable - Speakers for sound, splitter and cable to feed the signal from the headphone output to the speakers and microphone jack.
Arduino - Download the arduino software environment from here.
Processing - Processing talks well with arduino, and has some awesome libraries built in. Download it from here. Make sure you have the latest version of the Minim audio processing library from here. You may also need to get the 'arduino' library to get them to communicate - get it from here and stick it in your Processing/libraries folder.