Skip to main content

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 is no modern and well maintained python package for this algorithm available on the package index. 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.

uv run pytest

Build & Publish Package

  1. Increment Version if appropriate

    The package uses semantic versioning, so bump the version depending on the extent of changes.

    uv version --bump patch or

    uv version --bump minor or

    uv version --bump major

  2. Build both the source distribution and the wheels:

    uv build

  3. Publish to the python package index:

    uv publish

    Enter your pypi credentials when prompted.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

paulstretch-0.1.2.tar.gz (215.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

paulstretch-0.1.2-py3-none-any.whl (3.5 kB view details)

Uploaded Python 3

File details

Details for the file paulstretch-0.1.2.tar.gz.

File metadata

  • Download URL: paulstretch-0.1.2.tar.gz
  • Upload date:
  • Size: 215.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.21

File hashes

Hashes for paulstretch-0.1.2.tar.gz
Algorithm Hash digest
SHA256 609e0f0eaacfdb3bca02cec9939e3deb635cd8f207642e8410e5be8640b7945e
MD5 ee126d8e00862ceb20890802de8a43c1
BLAKE2b-256 f9cf8939f138efe07eb70815a4f24ef622fe02a8c66403ffd2f9375c8197d33d

See more details on using hashes here.

File details

Details for the file paulstretch-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for paulstretch-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 f8c6ca3e3932398095e1bb4a22422a3a77f83b1d2fb675400ced7d619665d6aa
MD5 7386fd133fecda770cbd319a0d59e22a
BLAKE2b-256 67322f94522feb30fa87ee5337784c9c79cdd5351d617e67c6bb4d39d88ff91b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page