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

Portabilityrequires multi-parameter type classes
Stabilityprovisional
Maintainersynthesizer@henning-thielemann.de
Safe HaskellNone

Synthesizer.Dimensional.RateAmplitude.Control

Contents

Description

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

Synopsis

Primitives

constantSource

Arguments

:: (C y, C u, C v) 
=> T v y

value

-> T s u t (R s v y y) 

constantVectorSource

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.

linearSource

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.

lineSource

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.

exponentialSource

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) 

exponential2Source

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) 

exponentialFromToSource

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