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 decent.it 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.

7 Likes

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.

cheers!

3 Likes

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.

enjoy!

4 Likes