Live audio beat tracking with BTrack


this is kind of overdue.
BTrack by Adam Stark is one of the few available open-source real-time audio beat trackers that is working quite is a C++ library that was unfortunately quite a hassle to compile to a 64bit version under windows (due to certain dependencies and some non-standard things like variable lengh arrays that the visual studio C++ compiler does not agree with).

nevertheless, i managed to get a version running and wrapped into a C++/CLI class that can now be used within a VVVV.Audio module.

and it works!
actually quite nicely with content that has a clear rhythm but don’t expect miracles with more difficult stuff.
i’ll clean up some more and then i’ll put it here for you to test and use.


Fingers crossed

now beat it!

VL.Audio.Btrack_181121.7z (981.7 KB)

what is to say about this:

  • install VVVV.Audio from the contributions
  • open nodes/vl/BTrack (help).v4p
  • configure your audio driver samplerate to run at 44100 Hz
  • configure the audio driver to have a buffersize of 1024 samples
  • for now the VL node is based on the VL_Audio template. this means that you need to connect an audio sink afterwards. @tonfilm - is there a way to make the VL node auto-evaluate to prevent this?

i guess quite some things in this node can still be improved. but play around with this for now. i’d be glad to receive some feedback.



if you get red nodes and some cryptic exception when loading the plugin - this is probably related to some missing dll if you don’t have the windows 10 SDK installed.

i still need to look into that to find out what is missing to fix this…

small update of which i hope it fixes the missing dependency error (had to recompile the thing as release).
also, factor pin spreads correctly now (thanks to @sebescudie and @boplbopl for the hint).

please post if you find other issues.

VL.Audio.Btrack_181126.7z (974.6 KB)

this took a while.
i finally managed to trace down a heisenbug (with totally unrelated error messages and with a behaviour almost impossible to debug). however, I was able to compile the BTrack C++ libraries with a CLI wrapper to make it easily usable in .net an therefore in Gamma and appears to be stable.

you can find the BTrack beat tracker now in VL.Audio.GPL nuget with a helppatch. please test and report your findings.