Introducing the Rubber Band Library
The Rubber Band Library is an innovative tool designed for audio enthusiasts and professional sound engineers alike. Created by Chris Cannam and published by Particular Programs Ltd under the brand Breakfast Quay, this software offers groundbreaking capabilities in time-stretching and pitch-shifting audio recordings.
What is Rubber Band?
At its core, Rubber Band is a library and command-line utility that allows users to manipulate the tempo and pitch of audio files independently. This means you can change the speed of an audio track without affecting its pitch or modify the pitch without altering its rhythm. This feature is particularly useful in music production, sound design, and broadcasting sectors.
Key Features
- Time-Stretching and Pitch-Shifting: Rubber Band can handle changes in tempo and pitch with high accuracy, providing flexibility for creative audio manipulation.
- Command-Line Utility: The software is equipped with a command-line tool, making it an excellent choice for users who prefer scripting and automation in their workflows.
- Plugins for Audio Effects: It supports LADSPA and LV2 formats for pitch-shifter audio effects, which are critical for those working with digital audio workstations.
- Vamp Analysis Plugin: This tool offers analysis capabilities that allow users to inspect stretch ratios and other processing decisions dynamically.
Licencing Information
The Rubber Band Library is open-source and distributed under the GNU General Public License (GPL). Users can freely modify and redistribute it following the GPL terms. However, a commercial license is required for those who wish to distribute incorporated code under different terms, especially on platforms such as Apple's App Store.
Technical Aspects and Compilation
Rubber Band is a versatile tool that can be adapted to various build configurations depending on needs. It may require additional libraries like FFTW3, Intel IPP, or SLEEF during compilation for optimal performance. Full compilation instructions are available in the detailed COMPILING.md document.
Using the Command-Line Tool
Rubber Band includes a simple yet powerful command-line tool to execute its audio processing functions:
$ rubberband -t <timeratio> -p <semitones> <infile.wav> <outfile.wav>
For instance, to extend the duration of test.wav
by 50% and raise its pitch by a whole tone, one would use:
$ rubberband -t 1.5 -p 2.0 test.wav output.wav
Users can employ different processing engines via options -2
or -3
, selecting between speed and audio quality according to their needs.
The Public API
Rubber Band integrates two main C++ classes, RubberBandStretcher
and RubberBandLiveShifter
, for seamless integration into applications. Furthermore, a .NET interface is provided to extend compatibility and usability in various development environments.
Conclusion
Rubber Band Library is a powerful tool for anyone serious about audio manipulation. Its flexibility in time and pitch adjustments, coupled with a robust API and licensing that supports both open-source and commercial use cases, make it indispensable in the field of audio production. Its comprehensive documentation ensures users have all the guidance needed to leverage this software to its fullest potential.