You might want to look at the MSGEQ7
chip. It takes your audio signal, splits it into 7 bands, and gives you 7 (time mulitplexed) DC signals. You don't have to use all 7 bands, or you could combine some of the bands in software.
Once you get it working...
One "trick" I use with lighting effects is to make them auto-calibrate
to the signal level (over period of 1/2 minute or so). That way, the effect responds well to quiet or loud songs, or when the volume is adjusted, and you never have to manually adjust the sensitivity of the lighting effect. For example, you can make a simple effect where a light/LED comes on when the signal is louder than average, and off when it's less than average. You get a lot of blinking/flashing action with the sound/music, no matter what.
With a color organ I'd auto-calibrate the frequency bands separately, so that a song that's light on the bass generates almost as much "action" in the bass channel as a bass-heavy song, etc.
I built a light organ (AKA color organ) in the 1970s (from a kit that didn't use a microcontroller). IMO, the effect can get boring. A couple of suggestions to make the effect more interesting... Switch the channels around randomly so that different lights/colors respond to the different bands at different times. Or if you are using LEDs, consider using RGB LEDs to change the colors around.
If you make a spectrum analyzer, you can randomly reverse it to put the bass on the right, or make it randomly run upside-down.
Since I got bored with the color-organ effect, I ended-up redesigning mine into a 4-channel random color/pattern effect that just pops-up a different pattern with the volume-beat. I still have that effect, and with colored floodlights it makes a good "main" or "background" lighting effect that runs full-time at my occasional DJ gigs. (It's designed so that it's never "dark".... There's always at least one light on. )
Or, if you want some other lighing effect ideas...
The last lighting effect that I built (with the Arduino) has two channels (left & right) with 24 LEDs each and 7 different fucnctions/modes, such as a (giant 8-foot tall) VU meter effect that works as a normal bar-graph meter or as a moving-dot meter, and it can be reversed so that it works upside down, and/or inverted (so that the LEDs go off when they would normally go on). There are other random chasing/sequencing/flickering/blinking modes with random patterns variations for each mode. For example, there is a chase mode where it "moves" a number of steps in one direction and a different number of steps in the other direction with the speed controlled by volume. And an option where the chase-direction changes with the beat, etc. With all of the variations, it can run a long time before you see a function/option/pattern repeated.
I don't have any effects that respond to frequency.... I've thought about a giant spectrum analyzer, but it woud require LOTS of wiring/soldering and it would be bulky. And... I want to build stuff you don't see everyday. Or, I've thought about making a matrix that could work as a spectrum analyzer or all kinds of other effects/patterns... But I think a 10x10 matrix wouldn't be enough, so again.... Too much wiring/soldering in a large matrix.
Now, I'm working on a super-simple effect that will basically toggle between two floodlights with the volume/beat. Of course, I won't keep the software quite that simple, but it will remain a two-channel effect. I consider this a "special effect" that could get boring quickly and the idea is that it will NOT run "all night".