I'm interested in doing a project that tracks the beat/rhythm of a song (rap, house, techno, R&B, etc.) in real time. This is kind of like a color organ. Here is what I have come up with so far:
An electret mic picks up the audio being played in the ambient air, passes the signal through a pre-amplification stage with AGC. This is passed to a second order Sallen-Key LPF with a cutoff frequency at 170 Hz. At this stage I am conflicted on what to do. I can:
1) Full wave rectify the LPF signal, pass it to an envelope detector, and then into the ADC of a MCU. The microcontroller detects when the signal exceeds a certain threshold and sends a logic high to a connected LED, indicating a beat has occurred.
OR
2) Pass the LPF signal directly into the microcontroller. The MCU will run FFT or Walsh transform (poor man's FFT) on the signal. Strongest power indicates fundamental frequency (beat) of the song. LED is pulsed at that respective frequency.
My main motivation is to develop a system that accurately tracks the beat/rhythm of the song being played. Suggestions, comments and recommendations are welcome!