Skip to main content

A modern Python implementation of Paul Nasca's extreme time 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.

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

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 test pypi repository:

    uv run twine upload --repository testpypi dist/*

    Enter your pypi API token when prompted for username.

  4. Test install from test pypi repository:

    pip install --index-url https://test.pypi.org/simple/ paulstretch

  5. Publish to pypi prepository:

    uv run twine upload dist/*

    Enter your pypi API token when prompted for username.

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.0.tar.gz (230.6 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.0-py3-none-any.whl (3.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: paulstretch-0.1.0.tar.gz
  • Upload date:
  • Size: 230.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for paulstretch-0.1.0.tar.gz
Algorithm Hash digest
SHA256 f9c56d8b00119f6f3f04c5f9c5b13af74cdae56b833d291ce0c3decedcacef9a
MD5 86dbf16560479f0bcac2d40c81f741a3
BLAKE2b-256 84bda710420893b4327e6f04f7e395adf226ba6cb120a41479d1bdcc57a66d7f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: paulstretch-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 3.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for paulstretch-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 527a506ec7ed8eb1ad49779cbbe2c3ff0d71bb848631dc3f6be1340a5c1761bc
MD5 685d89bb082d674d37800b9e3b14f85b
BLAKE2b-256 3051133210d556f5bd5f4423e5ffba29d69b9b4ac6fd448daecfc084e61f1807

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