Rubber Band
Attractive features
Rubber Band is designed to satisfy the need for an open
source time-stretching library that sounds good enough for general
musical use, and that also meets the many other requirements that make
it useful in practical applications.
These include: sample-exact stretching;
real-time safety; known latency; the ability to change ratios
dynamically; support for any number of channels at any sample rate;
and the ability to cope with extreme ratios.
(Not all of those are possible at once: for example, it isn't quite
sample-exact in real-time mode, although it is fairly close –
which is the most that can be said of any real-time time-stretching
library.)
- 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.
Rubber
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
channels.
- 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
stretches.