synthesizer-dimensional-0.7: Audio signal processing with static physical dimensions

Portability requires multi-parameter type classes provisional synthesizer@henning-thielemann.de None

Synthesizer.Dimensional.RateAmplitude.Control

Contents

Description

Control curves which can be used as envelopes, for controlling filter parameters and so on.

Synopsis

# Primitives

Arguments

 :: (C y, C u, C v) => T v y value -> T s u t (R s v y y)

Arguments

 :: T v y amplitude -> yv value -> T s u t (R s v y yv)

The amplitude must be positive! This is not checked.

Arguments

 :: (C q, C q, C u, C v) => T (DimensionGradient u v) q slope of the curve -> T v q initial value -> T s u q (R s v q q)

Caution: This control curve can contain samples with an absolute value greater than 1.

Linear curves starting with zero are impossible. Maybe you prefer using `line`.

Arguments

 :: (C q, C u, C v) => T u q duration of the ramp -> (T v q, T v q) initial and final value -> T s u q (R s v q q)

Generates a finite ramp.

Arguments

 :: (C q, C q, C u, C v) => T u q time where the function reaches 1/e of the initial value -> T v q initial value -> T s u q (R s v q q)

Arguments

 :: (C q, C q, C u, C v) => T u q half life, time where the function reaches 1/2 of the initial value -> T v q initial value -> T s u q (R s v q q)

Arguments

 :: (C q, C q, C u, C v) => T u q duration of the ramp -> (T v q, T v q) initial and final value -> T s u q (R s v q q)

Generate an exponential curve through two nodes.

cubicHermite :: (C q, C u, C v) => (T u q, (T v q, T (DimensionGradient u v) q)) -> (T u q, (T v q, T (DimensionGradient u v) q)) -> T s u q (R s v q q)Source