Receiving Music on an Arduino Uno

I agree that you definitely need to do some research so you know what the sound coming in from the computer is doing electrically, but once you get done with that I attached a schematic of a circuit I just built to take audio from line levels (computer) and bring it to the Arduino's analog input. I used it for an school honors project where I tried to do some DSP tasks on the Arduino. I was able to do a reasonably fast FFT and some real time digital filtering, so the Arduino can handle what you need to do.

The circuit in the schematic amplifies the signal by a factor of 10 and shifts it up to center it in the allowable ADC range. The op amp I used could be replaced with another (It was what was in the lab), but you need something that will drive close to the lower power rail(no 741's here). Also note the schematic doesn't show it, but the positive supply for the op amp is the 14V+ supply, and the negative supply is ground. C1 is there to allow the DC offset to take place, and C2 and C3 are there to filter out frequencies less than 100 Hz to avoid noise and greater than 20KHz to avoid aliasing.

Lastly, even if you don't plan to do any frequency analysis check out the example code from the FFT library at Arduino FFT – Get your freq. on! | Open Music Labs. They will give you an excellent idea of how to make the analog reads go faster if that is something you need. As far as assessing loudness, peak detection can be a little sensitive. If processing power were no object I would find the RMS value of a group of samples and call that the volume level. The square-roots will kill you on the Arduino, but a sum of absolute values might work out fine.

input schematic.PNG