/RVdtw-

An online-DTW based performance alignment and tracking external for Max/MSP

Primary LanguageMaxGNU General Public License v3.0GPL-3.0

The rvdtw~ Tracker

An online-DTW based performance alignment and tracking external for Max/MSP.

Intro video: Auto accompaniment with rvdtw~

See the included .maxhelp patch for basic usage instructions. For a deeper look, dig into the Overview patch in the Max Extras menu. Full reference info coming soon.

The system architecture is described in this paper:

  • "An Online Tempo Tracker for Automatic Accompaniment based on Audio-to-audio Alignment and Beat Tracking", G. Burloiu. In Sound and Music Computing (SMC), 2016.

For specific details on the tempo models' implementation, see:

  • "Online Score-agnostic Tempo Models for Automatic Accompaniment", G. Burloiu. In Machine Learning and Music (MML16), 2016.

Latest release

Download the latest release compiled for Windows and OSX here.

Just looking for the online-DTW library?

Check out the oDTW subfolder.

Compilation

The included VS(2017) and Xcode projects should do the trick. Email me if you encounter problems: grigore.burloiu@unatc.ro

Dependencies

Compiling under OSX

First you need to install the FFTW & libsamplerate libraries, in the universal (FAT) versions. For FFTW, the easiest way is with Homebrew:

brew install fftw --universal

For libsoundfile, download the source and follow the instructions. At the "make" step, use:

make CXXFLAGS="-arch i386 -arch x86_64" CFLAGS="-arch i386 -arch x86_64" LDFLAGS="-arch i386 -arch x86_64"

If you get an error related to "Carbon.h", one way to get rid of it is to simply comment out the #include in that specific .c file

Once you've got these 2 libraries installed, you can go ahead and compile the Xcode project for both 32b and 64b targets.

License

This code is made available under the GNU General Public License, version 3. Please see the included LICENSE.txt for more details.

Acknowledgments

Many thanks to Adam Stark, whose Chroma and BTrack libraries helped make this program more solid and interesting :)