Module containing the EnvelopeSegment class. Every envelope.Envelope object, under the hood, is made up of a list of EnvelopeSegments. EnvelopeSegments support arithmetic operations like addition, subtraction, multiplication, and division. They also support horizontal scaling and shifting.

Note also that this is defining a function whose domain is a portion of the real number line, but whose range can actually be nearly anything, including, e.g., numpy arrays. All of the functionality, even integration, works for mappings onto other kinds of ranges.


EnvelopeSegment(start_time, end_time, …)

A segment of an envelope, with the ability to perform interpolation and integration.