synthesizer-0.2.0.1: Audio signal processing coded in HaskellSource codeContentsIndex
Synthesizer.FusionList.Control
Portabilityrequires multi-parameter type classes
Stabilityprovisional
Maintainersynthesizer@henning-thielemann.de
Contents
Control curve generation
piecewise curves
auxiliary functions
Description
Synopsis
constant :: a -> T a
linear :: C a => a -> a -> T a
linearMultiscale :: C y => y -> y -> T y
linearMultiscaleNeutral :: C y => y -> T y
exponentialMultiscale :: C a => a -> a -> T a
exponential :: C a => a -> a -> T a
exponentialMultiscaleNeutral :: C y => y -> T y
exponential2Multiscale :: C a => a -> a -> T a
exponential2 :: C a => a -> a -> T a
exponential2MultiscaleNeutral :: C y => y -> T y
exponentialFromToMultiscale :: C y => y -> y -> y -> T y
exponentialFromTo :: C y => y -> y -> y -> T y
vectorExponential :: (C a, C a v) => a -> v -> T v
vectorExponential2 :: (C a, C a v) => a -> v -> T v
cosine :: C a => a -> a -> T a
cubicHermite :: C a => (a, (a, a)) -> (a, (a, a)) -> T a
splitDurations :: C t => [t] -> [(Int, t)]
piecewise :: C a => T a a (a -> T a) -> T a
type Piece a = Piece a a (a -> T a)
stepPiece :: Piece a
linearPiece :: C a => Piece a
exponentialPiece :: C a => a -> Piece a
cosinePiece :: C a => Piece a
cubicPiece :: C a => a -> a -> Piece a
raise :: C a => a -> T a -> T a
curveMultiscale :: (y -> y -> y) -> y -> y -> T y
curveMultiscaleNeutral :: (y -> y -> y) -> y -> y -> T y
Control curve generation
constant :: a -> T aSource
linearSource
:: C a
=> asteepness
-> ainitial value
-> T alinear progression
linearMultiscale :: C y => y -> y -> T ySource
As stable as the addition of time values.
linearMultiscaleNeutral :: C y => y -> T ySource
Linear curve starting at zero.
exponentialMultiscaleSource
:: C a
=> atime where the function reaches 1/e of the initial value
-> ainitial value
-> T aexponential decay
exponentialSource
:: C a
=> atime where the function reaches 1/e of the initial value
-> ainitial value
-> T aexponential decay
exponentialMultiscaleNeutralSource
:: C y
=> ytime where the function reaches 1/e of the initial value
-> T yexponential decay
exponential2MultiscaleSource
:: C a
=> ahalf life
-> ainitial value
-> T aexponential decay
exponential2Source
:: C a
=> ahalf life
-> ainitial value
-> T aexponential decay
exponential2MultiscaleNeutralSource
:: C y
=> yhalf life
-> T yexponential decay
exponentialFromToMultiscaleSource
:: C y
=> ytime where the function reaches 1/e of the initial value
-> yinitial value
-> yvalue after given time
-> T yexponential decay
exponentialFromToSource
:: C y
=> ytime where the function reaches 1/e of the initial value
-> yinitial value
-> yvalue after given time
-> T yexponential decay
vectorExponentialSource
:: (C a, C a v)
=> atime where the function reaches 1/e of the initial value
-> vinitial value
-> T vexponential 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.
vectorExponential2Source
:: (C a, C a v)
=> ahalf life
-> vinitial value
-> T vexponential decay
cosineSource
:: C a
=> atime t0 where 1 is approached
-> atime t1 where -1 is approached
-> T aa cosine wave where one half wave is between t0 and t1
cubicHermite :: C a => (a, (a, a)) -> (a, (a, a)) -> T aSource
piecewise curves
splitDurations :: C t => [t] -> [(Int, t)]Source
piecewise :: C a => T a a (a -> T a) -> T aSource
type Piece a = Piece a a (a -> T a)Source
stepPiece :: Piece aSource
linearPiece :: C a => Piece aSource
exponentialPiece :: C a => a -> Piece aSource
cosinePiece :: C a => Piece aSource
cubicPiece :: C a => a -> a -> Piece aSource
raise :: C a => a -> T a -> T aSource
auxiliary functions
curveMultiscale :: (y -> y -> y) -> y -> y -> T ySource
curveMultiscaleNeutral :: (y -> y -> y) -> y -> y -> T ySource
Produced by Haddock version 2.4.2