This audio visualizer was created for S10-05833 - Gadgets, Sensors, and Activity Recognition in HCI taught by Scott Hudson at Carnegie Mellon University. I used an Arduino Nano, 7 RGB LEDs, and Processing to capture audio input from my Mac's microphone.
I started off using an electret microphone (iua.upf.es/~jlozano/interfaces/microphone.html) and quickly realized that it couldn't pick up very much sound, so decided to use my computer's microphone instead.
The audio input is visualized in Processing using ESS, an audio library for Processing that can do FFT (Fast Fourier Transform). I manually picked 7 frequencies based on sampling from several songs, and amplitudes from these frequencies are sent to the Arduino's 7 LEDs. The whole program is in Processing with a Firmata sketch uploaded to the Arduino so that Processing can directly communicate with Arduino.
ESS code samples: tree-axis.com/Ess/
Visualizing Sound with Processing: anthonymattox.com/visualizing-sound-with-processing
Songs: Lost Ocean - You Are, Mika - Kick-Ass, Linkin Park - Leave Out All The Rest