Stream.Envelope
val adsr :
?event:[< `Release | `Reset ] Event.t ->
?on_die:(unit -> unit) ->
unit ->
?a:float ->
?d:float ->
?s:float ->
?r:float ->
?sustain:bool ->
?release:[< `Exponential | `Linear Linear ] ->
unit ->
float t
ADSR (Attack / Decay / Sustain / Release) envelope.
val exponential : ?init:float -> unit -> float -> float t
Exponential decay with given parameter.
val exponential_hl : ?init:float -> unit -> float -> float t
Same as above but taking half-life as parameter.
val ramp :
?kind:[< `Exponential | `Linear Linear ] ->
unit ->
?from:float ->
?target:float ->
float ->
float t
Affine from a value to a value in a given time.