LED Light project

I have some addressable LED lights on the way. I was thinking about making a project where the lights would blink based on the frequency detected. For instance, red might be low (200hz??), green might be mids (1khz??) and blue could be highs (10khz??). And then the intensity of the lights could be based on the amplitude. So, is this a good approach? Should I find one sensor that can tell me the intensity at these frequencies? Or multiple sensors, each tuned to a specific frequency? Or should the arduino listen to the sound (like with a simple microphone) and do the analysis to figure out the values?

You can do FFT (Fast Fourier Transform FFT) in software to separate the frequencies or a graphic equalizer chip MSGEQ7. edit: For audio frequencies.

I'd say it depends on whether you're more comfortable with hardware or software, although there's software in either approach. Don't recall how fast (slow) FFT is on an Arduino but if you want the lights to track the music very closely, will want < 40msec. from sound to light action, meaning all your processing needs to occur within that time. Can't find info on msgeq7 delay but in online videos the delay is just barely noticeable.

A web search using "arduino msgeq7 tutorial" yields a lot of info and code. Think the msgeq7 might be more fun than FFT and is only $5... FFT is free.