Beattracker / BPM detection?

To my horror I just found that Beattracker has been dropped from vvvv due to licensing issues with libfftw3-3.dll. That node is a key part of a number of very elaborate patches I have developed, that I need to use again and develop further. As I understand it, the old files can’t be just copied into the current release from elsewhere because vvvv has to be compiled against them; is that correct?

What I need is the BPM value of live music. Does anyone know of an alternate method to get this in vvvv? I’d really like to keep it all in the patch, and not have to resort to an external program to do it.


Try BeatDetector (Value) and its help patch. (RMS is your friend for this one)

BPM = Beats Per Minute = Tempo; BeatDetector does not provide this output. In fact, it’s a poor beat detector, as what it does really is peak detection with no regard to tempo to filter out non-beat peaks.

I need to synchronize visual elements to the tempo of the music being played, and Beattracker did this very well (with a little damping on the BPM output).

There was mention (in the now-archived thread) that a new version of Beattracker was to be forthcoming - is this true, or should I break out Visual Studio and fix it? I’d rather use my time working on visuals, but this is critical for me.

Hrmph. Guess I can’t fix it (use a different FFT) - Beattracker is a DirectX filter, and that requires integration on the vvvv side that only the devvvvs can do. Woe is me!

hi mediadog, maybe you can use :

what is your actual project ? ;-)

Thanks, but that also looks like a beat detector, not a tracker (no BPM or beat period output) - but I don’t really know German so I can’t tell for sure. I was also unable to get it to recognize any sound input on my machine (no movement of the level meters).

What I need is something that doesn’t just tell me when a beat happened, but where we are in between beats, and what the tempo is. Imagine making something repetitive (like a ball bouncing) happen in time to the music. Knowing when a beat happens is of no use, as you need to know when the NEXT beat is likely to happen so you can plan the motion.

From the look of it, AudioAnalysis (DirectX) and SplitAudioAnalysis (Spreads) used to do something like this, but they no longer do in 25.1. They didn’t provide a BPM, but they did give a pretty good beat count and beat phase - the help file had a circle drawing in time to the beat back in 40b23, but that’s disappeared from the help file in 45b25.1, I expect for the same reason Beattracker (DirectX) has disappeared.

So I have been able to go back to 40beta23 and copied in fftw3-3.dll and gotten Beattracker that way, but there are a lot of improvements since then that I would like to use as well!

Why not just run 40beta23 in a separate thread and send the data to beta 25.1 via udp,midi, or shared memory? Your patch would probably run faster that way anyway.

thing would be to patch a time recording with frame difference between two beats, queue it in a spread, and take with bound the average value of the spread ?

Could Metronom (Animation) be af any help here?

It listens to bangs on an input pin, and tries to ‘recreate’ this tempo on the output side.

Maybe the attached patch can be a starting point?

beat detection_test.v4p (5.4 kB)

After a long talk with Nick Collins of supercollider who recently finished his PhD about beatdetection i started implementing a simple version of IOI, combined with a Histogram that takes octaves into account.

It is not perfect yet, but at least it can now predict the next bang.

On a side note, Nick told me that the beatdetector really is an Onset-Detector. A real Beatdetector is capable of predicting the next bang, something that requires the recognition of rhythm. Just as you remarked.

Anyway, have a look, at my patch and feel free to digest it. Any remark or addition is welcome ofc. (24.9 kB)

1 Like

You could also give this a try: if you have some knowledge i would check
vux’s bass nodes are nice actually

as you mention about tempo and non-beat peaks it’s problem with all them
think we have to kinda solve it… i’do queue and mean for that then use another lfo for beat only…

hey velcro quite cool patch you put in, have to study it after some work!
first impression nicely works ;]

hey Velcrome! that works beautiful!

Just having a bit of a play with this, but Histogram seems to be red in IOI.v4p

Sorted… no text …