synthesizer-0.0.3: Audio signal processing coded in HaskellSource codeContentsIndex
Synthesizer.Plain.Modifier
Description
Support for stateful modifiers like controlled filters.
Synopsis
type T a = [a]
data Simple s ctrl a b = Simple {
init :: s
step :: ctrl -> a -> State s b
}
static :: Simple s ctrl a b -> ctrl -> T a -> T b
modulated :: Simple s ctrl a b -> T ctrl -> T a -> T b
data Initialized s init ctrl a b = Initialized {
initInit :: init -> s
initStep :: ctrl -> a -> State s b
}
initialize :: Initialized s init ctrl a b -> init -> Simple s ctrl a b
staticInit :: Initialized s init ctrl a b -> init -> ctrl -> T a -> T b
modulatedInit :: Initialized s init ctrl a b -> init -> T ctrl -> T a -> T b
stackStatesR :: (a -> State s a) -> a -> State [s] a
stackStatesL :: (a -> State s a) -> a -> State [s] a
Documentation
type T a = [a]Source
data Simple s ctrl a b Source
Constructors
Simple
init :: s
step :: ctrl -> a -> State s b
static :: Simple s ctrl a b -> ctrl -> T a -> T bSource

modif is a process controlled by values of type c with an internal state of type s, it converts an input value of type a into an output value of type b while turning into a new state

ToDo: Shall finite signals be padded with zeros?

modulated :: Simple s ctrl a b -> T ctrl -> T a -> T bSource
Here the control may vary over the time.
data Initialized s init ctrl a b Source
Constructors
Initialized
initInit :: init -> s
initStep :: ctrl -> a -> State s b
initialize :: Initialized s init ctrl a b -> init -> Simple s ctrl a bSource
staticInit :: Initialized s init ctrl a b -> init -> ctrl -> T a -> T bSource
modulatedInit :: Initialized s init ctrl a b -> init -> T ctrl -> T a -> T bSource
Here the control may vary over the time.
stackStatesR :: (a -> State s a) -> a -> State [s] aSource
The number of stacked state monads depends on the size of the list of state values. This is like a dynamically nested StateT.
stackStatesL :: (a -> State s a) -> a -> State [s] aSource
Produced by Haddock version 2.3.0