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