Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Scientific Audio
  3. PyRubberband

PyRubberband

ISCPython0.4.0

Python wrapper for Rubber Band audio time-stretching and pitch-shifting library.

GitHubGitHub
218 stars28 forks0 contributors

What is PyRubberband?

pyrubberband is a Python wrapper for the Rubber Band audio time-stretching and pitch-shifting library. It provides lightweight interfaces to manipulate audio playback speed and pitch directly from Python code, enabling developers to integrate professional audio processing into their applications without dealing with low-level C libraries.

Target Audience

Python developers working with audio processing, music applications, or multimedia projects who need reliable time-stretching and pitch-shifting capabilities without implementing complex audio algorithms from scratch.

Value Proposition

Developers choose pyrubberband because it provides battle-tested audio manipulation through the established Rubber Band library with a simple Python interface, avoiding the complexity of direct C bindings while maintaining professional-quality results.

Overview

python wrapper for rubberband

Use Cases

Best For

  • Changing audio playback speed without affecting pitch in Python applications
  • Shifting musical pitch while maintaining original tempo
  • Integrating professional audio time-stretching into Python music software
  • Batch processing audio files with speed or pitch modifications
  • Creating audio effects for multimedia projects in Python
  • Developing DJ or music production tools with Python backends

Not Ideal For

  • Applications requiring real-time or low-latency audio processing, such as live music software or interactive audio tools
  • Projects that need to manipulate audio entirely in memory without file I/O, for performance or privacy reasons
  • Developers seeking direct integration with the Rubber Band C library for custom features or optimization
  • Environments where managing external CLI dependencies is cumbersome, especially on non-standard platforms

Pros & Cons

Pros

Professional Audio Quality

Wraps the established Rubber Band library, providing battle-tested algorithms for high-fidelity time-stretching and pitch-shifting without reimplementing complex audio processing.

Simple Python Interface

Offers lightweight functions like time_stretch and pitch_shift, making it easy to integrate audio manipulation into Python scripts with minimal code, as shown in the example usage.

Flexible Parameter Control

Supports advanced Rubber Band options via the rbargs dictionary, allowing developers to fine-tune processing settings similar to the command-line interface.

File-based Reliability

Processes audio through files on disk, ensuring stable operation for batch jobs and large datasets, though it adds overhead for in-memory workflows.

Cons

File I/O Overhead

Relies on reading and writing files to disk for processing, which introduces latency and inefficiency compared to direct in-memory manipulation, limiting use in performance-sensitive applications.

External Dependency Complexity

Requires the Rubber Band command-line tool to be installed separately, which can be tricky on some platforms—evidenced by the custom brew recipe needed for OS X, adding setup hurdles.

Limited Low-level Access

As a wrapper for the CLI rather than the C library, it lacks direct control over Rubber Band's internals and may not support cutting-edge features or optimizations without library updates.

Frequently Asked Questions

Quick Stats

Stars218
Forks28
Contributors0
Open Issues2
Last commit1 year ago
CreatedSince 2015

Tags

#pitch-shifting#python#python-wrapper#audio-processing#audio-manipulation#audio

Built With

P
Python

Included in

Scientific Audio1.7k
Auto-fetched 2 hours ago

Related Projects

matcheringmatchering

🎚️ Open Source Audio Matching and Mastering

Stars2,577
Forks281
Last commit5 days ago
AudioTKAudioTK

An audio digital processing toolbox based on a workflow/pipeline principle

Stars253
Forks38
Last commit5 years ago
GammatoneGammatone

Gammatone-based spectrograms, using gammatone filterbanks or Fourier transform weightings.

Stars229
Forks70
Last commit3 years ago
MDCTMDCT

A fast MDCT implementation using SciPy and FFTs

Stars55
Forks13
Last commit4 years ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub