Here is my initial schematic. Basically this takes the left and right audio signals and filters them to exract the Bass, Mid, and Treble then run through OP Amp to get the signal up to something that is a little easier for the Analog Inputs to see
A line-level signal (like the audio outputs from your CD or DVD player) is around 1V, and that should be fine as long as there's no volume control in the signal path.
Remember, there is an optional 1.1V reference for the Arduino's A/D converter. A headphone output (at full volume) is in the same ballpark. Sometimes the peak line-level will go above 1V (it depends on the equipment and the loudness of the signal). But, you'll loose a little signal with your passive audio filters. With the 1.1V reference, a signal as low as 0.1V (an A/D reading around 100) should be enough for your lighting effects.
With my audio-activated lighting projects, I "auto range" by reading the input level, and if it hits 1023 with the 1.1V reference, I switch to the 5V reference. And if the peak doesn't go above around 200 for about 20 seconds, I switch to back to the more-sensitive 1.1V reference.
In additon to the 1.1V/5V hardware reference, I generate a software reference from a 20 second running average. And, I keep track of the highest peak over the last 20 seconds. That way, the lighting effect can automatically adjust to volume changes. In your case, you might want a software reference for each frequency band. The actual trigger threshold depends on the particular lighting effect. Sometimes I take the half-way point between the 20-second average and the 20-second peak.
In your case, if you simply turn-on the LED with the signal is above average and turn it off with it's below average, each LED will be on half the time and you'll get lots of "blinking-action" (if that's what you want
).
With the hardware auto-ranging and the software auto-calibration, I have a some lighting effects in my van that run from the volume-controlled input to the power amp and it seems to work fine at any volume.