Rubber Band
An audio time-stretching and pitch-shifting library and utility program.
Rubber Band is a library and utility program that permits you to
change the tempo and pitch of an audio recording independently of one
another.
Rubber Band is copyright 2007 Chris Cannam,
cannam@all-day-breakfast.com. It is Free Software under the GNU
General Public License. Proprietary licensing for commercial
applications is also available.
Download
Rubber Band v1.0.1 source – source code package, with Linux build scripts
Documentation
Code documentation
Source browser
Command line utility help text
Audio examples
As with all software of this kind, actual results will depend
heavily on the audio being processed. You can also significantly
adjust the results using Rubber Band's small number of editable
parameters. Try it yourself rather than trusting the examples.
Attractive features
- High quality results suitable for musical use
Rubber Band is a phase-vocoder-based frequency domain time
stretcher with partial phase locking to peak frequencies and phase
resynchronisation at transients. It 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,
and allows the time and pitch scaling ratios to be freely adjusted
during use. (It 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. (In
real-time mode Rubber Band aims to keep as closely as possible to
the exact ratio, although this depends on the audio material
itself.)
- Multiprocessor/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.
- Handy utilities included
Rubber Band comes with a useful command-line time-stretch and
pitch shift utility, two LADSPA pitch shifter plugins, and a Vamp
audio analysis plugin which may be used to inspect the stretch
profile decisions Rubber Band is taking.