Rubber Band Library

« Home

Why choose Rubber Band Library?

Practicality

Rubber Band Library is a professionally engineered, reliable and efficient native library that solves many real-world problems around time-stretching and pitch-shifting. It is designed to work reliably in many difficult situations. It is well-documented and easy to build and integrate.

Sound quality

Rubber Band provides two processing engines, a faster engine and a finer-quality one (introduced in version 3.0). The faster engine already avoids most of the grainy and gritty artifacts that many other time-stretching and pitch-shifting libraries suffer from, providing punchy percussion and smooth stretches with large ratios. The finer engine builds on this, to provide near-hi-fi quality adaptation even of acoustic ensembles and complete mixes.

No time-stretcher is entirely transparent and Rubber Band has limits, but it is designed to be appropriate for musical use in many contexts, and offers a number of adjustable controls for less common situations.

In addition to the audio examples here, you can put Rubber Band to the test yourself by downloading our own app which uses the library.

How does it compare with other libraries? The publishers of Superpowered SDK, an alternative library, wrote in one of their own comparison pages that "The audio quality [of Rubber Band] is great... it handles audio transients well and does a great job in preserving audio quality". They then claimed it was too CPU-intensive for use on mobile devices, but:

Performance

Rubber Band is quite CPU-intensive, but it is still fast enough to run in real-time on any mobile device from iPhone 4S onwards and takes only a tiny fraction of the processing power of current devices. Rubber Band has quite predictable performance characteristics and can be used for very substantial stretches and pitch shifts — up to three octaves is entirely practical.

Rubber Band's real-time mode is a true lock-free streaming mode, in which time and pitch scaling can both be freely adjusted during use. Rubber Band also has an offline mode with sample-exact stretching and multi-processor support.

Rubber Band performs better than many competing proprietary libraries in several of these characteristics.

Licensing and Support

Rubber Band has super-sensible commercial licensing, transparent and affordable even for smaller developers. Rubber Band is of course also published under the GNU General Public License for use in GPL applications.

If you have any problems integrating Rubber Band, we can offer commercial support — please contact us to ask.