Beat Detection

@Smokris I must say the beat detector in Vuo is by far the best I’ve encountered! But is it possible to shed a bit of light on it? Does it look at peaks all over, or is it singeling out part of the audio spectrum? I’ve also noticed that if I reset it, it will lock on the beat as soon as it has enough data, but if I change the tempo (maybe at an extreme like 100 ↔ 140) it doesn’t seem to want to change to the new tempo without resetting. At least within a reasonable time frame for a song. Is there any way to get around this?

1 Like

It looks at peaks all over. Basically, it splits the spectrum into a bunch of ranges, and looks for amplitude spikes in each range. It filters out the spikes that are unlikely to be rhythmic, and it uses the time difference between those that remain to adjust the reported BPM. More detail at https://github.com/cjcliffe/beatdetektor/blob/master/cpp/BeatDetektor.h#L36.

Once the algorithm has settled on a BPM, it naturally stays near that BPM (since the algorithm is designed to classify spikes that aren’t near beats as being non-rhythmic). So it should be good for tracking the minor fluctuations when people play music without a metronome, but it wouldn’t work well for intentional accelerando/rallentando.

If you change the Tempo Range port’s value, it deletes and recreates the BeatDetektor instance, which should be equivalent to using the Reset port.

Hello Jamie, can you please add one more BPM range to the Node? i need 150 to 250 bpm. because i am working for a standalone lightshows for psychedelic ultrafast music and speedcore festivals up to 250 bpm… til 190 bpm it works fine with 120-180bpm setting… and then faster it brings just errors. i am also ok to pay for it a small fee <3

Faster BPMs added in Vuo 1.2.8.

2 Likes