https://github.com/bmcfee/pyrubberband
python wrapper for rubberband
https://github.com/bmcfee/pyrubberband
audio nyucds python
Last synced: 6 days ago
JSON representation
python wrapper for rubberband
- Host: GitHub
- URL: https://github.com/bmcfee/pyrubberband
- Owner: bmcfee
- License: isc
- Created: 2015-03-02T16:33:48.000Z (about 10 years ago)
- Default Branch: main
- Last Pushed: 2024-09-30T17:52:15.000Z (7 months ago)
- Last Synced: 2025-04-01T04:52:47.768Z (14 days ago)
- Topics: audio, nyucds, python
- Language: Python
- Size: 83 KB
- Stars: 182
- Watchers: 4
- Forks: 23
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Authors: AUTHORS.md
Awesome Lists containing this project
- awesome-python-scientific-audio - PyRubberband - Wrapper for [rubberband](http://breakfastquay.com/rubberband/) to do pitch-shifting and time-stretching. (Audio Related Packages)
- project-awesome - bmcfee/pyrubberband - python wrapper for rubberband (Python)
README
# pyrubberband
[](https://pypi.python.org/pypi/pyrubberband)
[](https://github.com/bmcfee/pyrubberband/actions/workflows/ci.yml)
[](https://coveralls.io/github/bmcfee/pyrubberband?branch=testing)
[]()
[](http://pyrubberband.readthedocs.org/en/latest/?badge=latest)A python wrapper for [rubberband](http://breakfastquay.com/rubberband/).
For now, this just provides lightweight wrappers for pitch-shifting and time-stretching.
All processing is done via the command-line through files on disk. In the future, this could be improved
by directly wrapping the C library instead.Install Rubberband on OS X
--------------------------```
brew install https://gist.githubusercontent.com/faroit/b67c1708cdc1f9c4ddc9/raw/942bbedded22f05abab0d09b52383e7be4aee237/rubberband.rb
```Example usage
-------------```python
>>> import soundfile as sf
>>> import pyrubberband as pyrb
>>> # Read mono wav file
>>> y, sr = sf.read("test.wav")
>>> # Play back at double speed
>>> y_stretch = pyrb.time_stretch(y, sr, 2.0)
>>> # Pass rbargs supported in Rubberband CLI. See(rubberband -h or https://breakfastquay.com/rubberband/usage.txt)
>>> y_stretch = pyrb.time_stretch(y, sr, 2.0, rbargs={'-c':'5', '--no_transients':''})
```