Rubber Band Library
Rubber Band is designed to satisfy the need for a sanely
licensed time-stretching library that sounds good enough for general
musical use and also meets the many other requirements that make
it useful in practical applications.
- Sample-exact time-stretching;
- Meeting real-time processing constraints;
- Multi-thread, multi-core support;
- Known, accurately reported latency;
- The ability to change ratios smoothly on the fly;
- Support for any number of channels at any sample rate;
- The ability to cope with extreme ratios.
Not all of these are possible at once: for
example, it isn't possible to be sample-exact when running in strict
real-time mode, although Rubber Band gets fairly close. We like to
meet the laws of physics half-way.
Rubber Band performs better in most of these respects than many
competing proprietary time-stretching libraries.
Want to know more?
- High quality results suitable for musical use
Rubber Band is suitable for most musical uses with its default
settings, from percussive loops to individual instrument
recordings and complete mixes, and it has an approachable range of
options for fine tuning.
- Real-time capable
Rubber Band supports a true real-time, lock-free streaming mode,
in which it allows the time and pitch scaling ratios to be freely
adjusted during use.
Band also supports an offline mode, for situations in which all
the audio data is available beforehand.
- Sample-accurate duration adjustment
In offline mode, Rubber Band ensures that the output has exactly
the right number of samples for the given stretch ratio.
- Multi-processor / multi-core support
Rubber Band's offline mode can take advantage of more than one
processor core if available, when processing audio data with two
or more channels – while retaining phase consistency across
- No job too big, or too small
Rubber Band is tuned so as to work well with the default settings
for any stretch ratio, from tiny fine adjustments to very extreme