A modern Python implementation of Paul Nasca's extreme time stretch algorithm with minimal dependencies.
Project description
Paulstretch
A modern Python implementation of Paul Nasca's extreme sound stretch algorithm. It allows for extremely high stretch factors like 10 or 1000 without introducing the unpleasant grainy artifacts of other time stretch algorithms. It does smear all the transients though.
There was no modern and well maintained python package for this algorithm available on the package index, so I decided to make one. This is a fun DSP algorithm with a permissive license, so everyone should enjoy it!
Installation
If you want to use this package in your own project, install it from the python package index:
pip install paulstretch
If you want to work with the github repository, install the latest version of the uv package manager. A virtual environment will automatically be installed when you run or build the project with uv.
Run Tests
The project uses pytest as its testing framework. Run them like this:
uv run pytest
Build & Publish Package
To build and publish this package on the python package index, this is what you (or rather I) should do:
-
Increment Version if appropriate
The package uses semantic versioning, so bump the version depending on the extent of changes.
uv version --bump patchoruv version --bump minororuv version --bump major -
Build both the source distribution and the wheels
uv build -
Publish the package:
uv publishEnter your pypi credentials when prompted.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file paulstretch-0.1.3.tar.gz.
File metadata
- Download URL: paulstretch-0.1.3.tar.gz
- Upload date:
- Size: 214.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.7.21
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
88f3f18ac3b33184714415e98c2a2611e21384178c67567bfb03a17fa976f990
|
|
| MD5 |
fe57d05a19d06781fe6bb777442d8c52
|
|
| BLAKE2b-256 |
3ffba832707f1a5cb0246617fcd739cc79fa2fc8e4e3103c689ac2450e350029
|
File details
Details for the file paulstretch-0.1.3-py3-none-any.whl.
File metadata
- Download URL: paulstretch-0.1.3-py3-none-any.whl
- Upload date:
- Size: 3.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.7.21
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ca60e90e9f4441cf908a1ed040008eba2d6ac791d31366e74e5290f0fe04115f
|
|
| MD5 |
30747f2a5459eed7f1ad03240bd4387e
|
|
| BLAKE2b-256 |
dcc2786e4c96894ed114254658dd3c67ac4b01e09135bcc028021e9010cd05c3
|