Tracktion Engine 1.2 Update News: RubberBand

Hi everyone, a quick update to let you know we’ve added RubberBand time stretching support to Tracktion Engine! You can find the changes on the develop branch for now: GitHub - Tracktion/tracktion_engine at develop

First:

PLEASE NOTE: RubberBand is not owned by Tracktion and is licensed separately.
Please make sure you have a suitable licence if building with RubberBand support.
You can find more information here: Rubber Band Audio Time Stretcher Library


To enable RubberBand, set the config option TRACKTION_ENABLE_TIMESTRETCH_RUBBERBAND=1 either in CMake or your Projucer project’s module options.

You can build RubberBand separately and link to it or you can include it in your search path and build it directly in to your app by enabling TRACKTION_BUILD_RUBBERBAND (you’ll need a recent version of RubberBand for this to work).

Once done, you’ll be able to use the TimeStretcher::rubberbandMelodic and TimeStretcher::rubberbandPercussive modes for time-stretching clips or for real-time use in the PitchShiftPlugin (N.B. this does introduce ~200ms latency).

To showcase this, we’ve also updated the PitchAndTimeDemo example app to select time stretch modes and added a PitchShiftPlugin instance.

Enjoy!

12 Likes