Skip to main content

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.

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)

Source distribution for expenvelope 0.8.2
File Size Uploaded
expenvelope-0.8.2.tar.gz 46.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for expenvelope 0.8.2
File Interpreter ABI Platform
expenvelope-0.8.2-py3-none-any.whl Python 3 none any Details

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

Release history Release notifications | RSS feed

This release

0.8.2 This release

2 release files

0.8.1

2 release files

0.8.0

2 release files

0.7.3

2 release files

0.7.2

1 release file

0.7.0

1 release file

0.6.8

1 release file

0.6.7

1 release file

0.6.6

1 release file

0.6.5

1 release file

0.6

1 release file

0.5

1 release file

0.3

1 release file

0.2.0

1 release file

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page