since 3 band equilizer seem to be a realy ez build.
Probably not as easy as an MSGEQ7* and maybe not as easy as doing it in software with an FFT or FHT library. But, if its' easy for you, go for it!
If you go with the MAGEQ7, you'll have 7 frequency-bands. You can either choose 3 bands and ignore the others, or combine them in software.
and maybe someone knows a good 3 band equilizer schematic that would work well with an not amplified headphone signal?]
I don't have a schematic handy but a headphone signal is no problem! Virtually all active equalizers are designed to work at [u]audio line level[/u]. A headphone signal is approximately the same level (voltage) as line-level except it's capable of driving a lower impedance load, and a headphone output always has a volume control. For example, the headphone output on a laptop or phone can connect to powered speakers (line input) or your stereo (line-input), etc.
If you copy an equalizer design make sure to leave-out the summing circuit (the part that re-combines the adjusted-filter outputs) and of course you can use fixed resistors instead of pots.
The Arduino can't read the negative half of the AC audio waveform. It can actually be damaged by negative voltages or the signal can be "damaged" (distorted) so the input must be biased. There is a schematic for a bias circuit at the bottom of my [u]World's Simplest Lighting Effect post[/u]. Of course, that goes at the Arduino-input(s) after any filtering.
The bias can be subtracted-out in software, or with FFT/FHT you can simply ignore the zero-Hz (DC) bin.
The MSGEQ7 puts-out a varying DC voltage so you don't need the bias circuit.
Another circuit that can be handy (and will eliminate the need for a bias circuit) if you use analog filters is a [u]Peak Detector[/u] (AKA "envelope follower"). It puts-out a varying DC voltage proportional to the peaks which means you can read/sample the "loudness" at around 10 times per second (or whatever) instead of reading the audio waveform thousands of times per second. That frees-up the processor to do "other things" and it just makes your software simpler overall.
I've built several lighting effects and I always use a peak detector.** (I'm not doing any frequency-related stuff.)
Of course a peak detector won't work with FFT/FHT/software filtering because the peak detector removes all frequency information. The MSGEQ7 has a peak detector already built-in.
Another trick that I always use is to make an automatic variable software threshold/sensitivity setting so that my effects automatically adjust to variations in loudness. (That's included in my "simplest effect" example.) One of my effects is a "VU Meter" effect, and it has automatic sensitivity adjustment. That makes it worthless as a real meter but it makes a good meter effect with lots of "meter action" no matter the actual signal level.
And, since I'm using a peak detector (a non-biased input) I also automatically switch between the 5V and 1.1V ADC reference depending on the signal level.
================================================================
Been there, done that (also in the sixties).
Mine looked like a traffic light, with PAR38 floodlights.
From memory red for bass, green for mid, blue for high.
Wow! I did almost the same thing! I built a color organ from a kit when I was in junior high (in the 60s). I re-configured it several times and it's last configuration was 3 colored floods in a rectangle box.
By the time I was in college I got bored with it and I converted it to a digital effect where a new-random patter would pop-up with every beat/peak. I liked that effect better and it was designed so that at-least one lamp was always on.
At some point I started over from scratch and made a 4-channel random effect with AC plugs so I could plug-in 8 colored floods (4 colors).
Next, I built a 4-channel chase light effect. IIRC, the direction changed with the beats/peaks and the speed was determined by the loudness. It randomly switched between a standard chase and Johnson Counter (inverted loop) effects. By that time, I'd figured-out how to make an automatic sensitivity adjustment.
Those were done with basic analog & digital electronics - No microcontroller.
...When I thought and the electronics design was getting complicated so I looked-into using a microcontroller and I chose the Arduino. Now, my VU meter randomly inverts, reverses, and mirrors. and there are 6 other sequencing/blinking effects with all kinds of random variations to keep things fun & interesting!
- A lot of people seem to have trouble with the MSGEQ7 and some people seem to need some added-amplification.. I've never tried it but it is super-easy so I'd try it first if I wanted to do that kind of thing. BTW - the MSGEQ 7 is misnamed as a "Graphic Equalizer" chip. It's a Spectrum Analyzer Effect chip.
** My "Worlds Simplest Effect" doesn't use a peak detector, but that's just meant to be a simple example, using simple hardware. I have a similar real-world effect and it does use a peak detector.