synthesizer-core-0.8.2.1: Audio signal processing coded in Haskell: Low level part

Synthesizer.Generic.Control

Synopsis

# Documentation

constant :: Write sig y => LazySize -> y -> sig y Source #

Arguments

 :: (C y, Write sig y) => LazySize -> y steepness -> y initial value -> sig y linear progression

linearMultiscale :: (C y, Write sig y) => LazySize -> y -> y -> sig y Source #

Minimize rounding errors by reducing number of operations per element to a logarithmuc number.

linearMultiscaleNeutral :: (C y, Write sig y) => LazySize -> y -> sig y Source #

Linear curve starting at zero.

Arguments

 :: (C y, Write sig y) => LazySize -> Int length -> (y, y) initial and final value -> sig y linear progression

Linear curve of a fixed length. The final value is not actually reached, instead we stop one step before. This way we can concatenate several lines without duplicate adjacent values.

Arguments

 :: (C y, Write sig y) => LazySize -> y time where the function reaches 1/e of the initial value -> y initial value -> sig y exponential decay

Arguments

 :: (C y, Write sig y) => LazySize -> y time where the function reaches 1/e of the initial value -> y initial value -> sig y exponential decay

Arguments

 :: (C y, Write sig y) => LazySize -> y time where the function reaches 1/e of the initial value -> sig y exponential decay

Arguments

 :: (C y, Write sig y) => LazySize -> y half life -> y initial value -> sig y exponential decay

Arguments

 :: (C y, Write sig y) => LazySize -> y half life -> y initial value -> sig y exponential decay

Arguments

 :: (C y, Write sig y) => LazySize -> y half life -> sig y exponential decay

Arguments

 :: (C y, C y v, Write sig v) => LazySize -> y time where the function reaches 1/e of the initial value -> v initial value -> sig v exponential decay

This is an extension of exponential to vectors which is straight-forward but requires more explicit signatures. But since it is needed rarely I setup a separate function.

Arguments

 :: (C y, C y v, Write sig v) => LazySize -> y half life -> v initial value -> sig v exponential decay

Arguments

 :: (C y, Write sig y) => LazySize -> y time t0 where 1 is approached -> y time t1 where -1 is approached -> sig y a cosine wave where one half wave is between t0 and t1

Arguments

 :: (C y, Write sig y) => LazySize -> y time t0 where 1 is approached -> y time t1 where -1 is approached -> sig y a cosine wave where one half wave is between t0 and t1

Arguments

 :: (C y, Write sig (T y), Transform sig (T y), Transform sig y) => LazySize -> y time t0 where 1 is approached -> y time t1 where -1 is approached -> sig y a cosine wave where one half wave is between t0 and t1

cosineWithSlope :: C y => (y -> y -> signal) -> y -> y -> signal Source #

cubicHermite :: (C y, Write sig y) => LazySize -> (y, (y, y)) -> (y, (y, y)) -> sig y Source #