synthesizer-0.2.0.1: Audio signal processing coded in HaskellSource codeContentsIndex
Synthesizer.Dimensional.Map
Description
Maps that handle pairs of amplitudes and sampled values. They are a special form of arrows.
Synopsis
newtype T amp0 amp1 yv0 yv1 = Cons (amp0 -> (amp1, yv0 -> yv1))
independent :: (amp0 -> amp1) -> (yv0 -> yv1) -> T amp0 amp1 yv0 yv1
double :: T amp (amp, amp) y (y, y)
fst :: T (amp0, amp1) amp0 (y0, y1) y0
snd :: T (amp0, amp1) amp1 (y0, y1) y1
swap :: T (amp0, amp1) (amp1, amp0) (y0, y1) (y1, y0)
balanceRight :: T ((amp0, amp1), amp2) (amp0, (amp1, amp2)) ((y0, y1), y2) (y0, (y1, y2))
balanceLeft :: T (amp0, (amp1, amp2)) ((amp0, amp1), amp2) (y0, (y1, y2)) ((y0, y1), y2)
packTriple :: T (amp0, (amp1, amp2)) (amp0, amp1, amp2) (y0, (y1, y2)) (y0, y1, y2)
unpackTriple :: T (amp0, amp1, amp2) (amp0, (amp1, amp2)) (y0, y1, y2) (y0, (y1, y2))
Documentation
newtype T amp0 amp1 yv0 yv1 Source
This type shall ensure, that you do not accidentally bring amplitudes and the corresponding low-level signal values out of sync. We also use it for generation of internal control parameters in Synthesizer.Dimensional.Causal.ControlledProcess. In principle this could also be Causal.T, but maps are not bound to a sampling rate, and thus do not need the s type parameter.
Constructors
Cons (amp0 -> (amp1, yv0 -> yv1))
show/hide Instances
independent :: (amp0 -> amp1) -> (yv0 -> yv1) -> T amp0 amp1 yv0 yv1Source
double :: T amp (amp, amp) y (y, y)Source
fst :: T (amp0, amp1) amp0 (y0, y1) y0Source
snd :: T (amp0, amp1) amp1 (y0, y1) y1Source
swap :: T (amp0, amp1) (amp1, amp0) (y0, y1) (y1, y0)Source
balanceRight :: T ((amp0, amp1), amp2) (amp0, (amp1, amp2)) ((y0, y1), y2) (y0, (y1, y2))Source
balanceLeft :: T (amp0, (amp1, amp2)) ((amp0, amp1), amp2) (y0, (y1, y2)) ((y0, y1), y2)Source
packTriple :: T (amp0, (amp1, amp2)) (amp0, amp1, amp2) (y0, (y1, y2)) (y0, y1, y2)Source
unpackTriple :: T (amp0, amp1, amp2) (amp0, (amp1, amp2)) (y0, y1, y2) (y0, (y1, y2))Source
Produced by Haddock version 2.4.2