Just stumbled upon this article and thought some might find it as useful as i do. Very well described and gives some good ideas about the whole matter.
http://archive.gamedev.net/archive/reference/programming/features/beatdetection/index.html
Thanks for this link. I’ve arrived at a couple of these conclusions without understanding the reasons behind it.
A friend and I will often talk about our competing types of beat detection. I prefer on-the-go threshold trigger style, whereas he prefers overall BPM detection. You get different effects that I find useful in different scenarios. If I have time in the future, it would be fun to develop an FFT that can auto volume adjust as well.
I just started with FFT and beat detection. I tried to implement this aproach but had no luck so far as I seem to run out of ram too quickly with keeping energy level history on my UNO.