module ADSR: ADSR (Attack/Decay/Sustain/Release) envelopes.
An ADSR enveloppe.
val make :
int -> float * float * float * float -> t
Create an envelope with specified Attack/Decay/Sustain/Release times
in seconds (excepting sustain which is an amplification coefficient
1.). Negative sustain means that that notes should
be released just after decay.
Current state in the ADSR envelope.
val init :
unit -> state
Initial state for processing.
val release :
state -> state
val dead :
state -> bool
val process :
Audio.Mono.buffer -> int -> int -> state