Version 2.0.0 of Rubber Band Library is now available.
Rubber Band Library is an audio time-stretching and pitch-shifting library and utility designed for musical applications. It allows you to change the tempo and pitch of an audio recording independently of one another.
This release is designed to be easier than ever to integrate into a project. It introduces a single-compilation-unit build mode that can be added to a C++ project build without any additional dependencies.
In support of this, Rubber Band Library now has a built-in resampler (as an alternative to the external options that were already supported) which, in tandem with the built-in FFT introduced in version 1.9.2, allows the library to be built with no external library dependencies other than the C++ standard library.
This release also introduces improved timing calculation logic when running in real-time mode, for more stable timing when the pitch shift is changing dynamically. The new resampler is also designed to minimise audible artifacts when changing pitch, giving better results all round when used with frequent dynamic adjustments.
The Rubber Band Library API is unchanged and the library is still binary compatible with versions 1.7, 1.8.x, and 1.9.x.
We incremented the major version number to 2, not because of any API change, but because our timing precision work has changed the audio output for some applications of real-time mode. While the library is code-compatible with earlier releases, it is not "output-compatible", and may change automation-driven mixes even when used with identical options. If you are already using an earlier release in real-time mode, please test v2.0.0 carefully before updating.
Existing commercial licences remain valid for v2.0.0.