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

Copyright (c) Henning Thielemann 2008 GPL synthesizer@henning-thielemann.de provisional requires multi-parameter type classes None Haskell2010

Synthesizer.State.Control

Description

Synopsis

Documentation

constant :: a -> T a Source #

Arguments

 :: C y => Int length -> (y, y) initial and final value -> T 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 a => a steepness -> a initial value -> T a linear progression

linearMultiscale :: C y => y -> y -> T y Source #

As stable as the addition of time values.

linearMultiscaleNeutral :: C y => y -> T y Source #

Linear curve starting at zero.

Arguments

 :: C a => a time where the function reaches 1/e of the initial value -> a initial value -> T a exponential decay

Arguments

 :: C a => a time where the function reaches 1/e of the initial value -> a initial value -> T a exponential decay

Arguments

 :: C y => y time where the function reaches 1/e of the initial value -> T y exponential decay

Arguments

 :: C a => a half life -> a initial value -> T a exponential decay

Arguments

 :: C a => a half life -> a initial value -> T a exponential decay

Arguments

 :: C y => y half life -> T y exponential decay

Arguments

 :: C y => y time where the function reaches 1/e of the initial value -> y initial value -> y value after given time -> T y exponential decay

Arguments

 :: C y => y time where the function reaches 1/e of the initial value -> y initial value -> y value after given time -> T y exponential decay

Arguments

 :: (C a, C a v) => a time where the function reaches 1/e of the initial value -> v initial value -> T 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 a, C a v) => a half life -> v initial value -> T v exponential decay

Arguments

 :: C a => a time t0 where 1 is approached -> a time t1 where -1 is approached -> T a a cosine wave where one half wave is between t0 and t1

cubicHermite :: C a => (a, (a, a)) -> (a, (a, a)) -> T a Source #

curveMultiscale :: (y -> y -> y) -> y -> y -> T y Source #

curveMultiscaleNeutral :: (y -> y -> y) -> y -> y -> T y Source #