expenvelope
expenvelope is a python library for managing piecewise exponential curves, original intended as a tool for algorithmic music composition. Curves are simple to make, expressive, and useful for controlling dynamics, tempo, and other higher-level parameters.
The central Envelope class bears some relation to SuperCollider's Env object, and is represented behind the scenes as a contiguous set of EnvelopeSegments. There are a number of different class methods available for constructing envelopes, including:
Envelope.from_levels
Envelope.from_levels_and_durations
Envelope.from_points
Envelope.release
Envelope.ar
Envelope.asr
Envelope.adsr
Envelope.from_function
In addition to the central value_at function, utilities have been included to append and insert new points, insert a new interpolated control point without changing the curve, integrate over intervals, find the maximum slope reached, and find the average value, among other things. Envelopes (and EnvelopeSegments) can be added, subtracted, multiplied and divided, with these operations yielding new Envelopes that are close approximations to the resulting function using piecewise exponential curves.
expenvelope is a key dependency of clockblocks, a package for for controlling the flow of musical time, and scamp, a Suite for Computer-Assisted Music in Python.
Metadata
Release files for expenvelope 0.8.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| expenvelope-0.8.2.tar.gz | 46.0 kB | Without provenance | Details for expenvelope-0.8.2.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| expenvelope-0.8.2-py3-none-any.whl | Python 3 | none | any | Details for expenvelope-0.8.2-py3-none-any.whl |
Total release size: 92.6 kB
Release files / expenvelope-0.8.2.tar.gz
| Download URL | expenvelope-0.8.2.tar.gz |
|---|---|
| Size | 46.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e1240fac49355628c2f0eccfe67c552dd318d3cafb620d9e827383479dff5b4a
|
|
BLAKE2b-256 checksum How to use checksums |
ec58f7adee071d8756dca9b603e5df0af9d4aac44ea9c0a94cde8f101ba7cdcf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / expenvelope-0.8.2-py3-none-any.whl
| Download URL | expenvelope-0.8.2-py3-none-any.whl |
|---|---|
| Size | 46.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ae83ffe4c294ce1fe598d06fd004ad07eecde96e7349f3e085bce5ac5a297b70
|
|
BLAKE2b-256 checksum How to use checksums |
8857045414d17eef923dca79b4b9a3e8605fd8b34a75fbd68681cc389793fca9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Security for expenvelope 0.8.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.