synthesizer-dimensional-0.5: Audio signal processing with static physical dimensions

Portabilityrequires multi-parameter type classes
Stabilityprovisional
Maintainersynthesizer@henning-thielemann.de

Synthesizer.Dimensional.Amplitude.Cut

Contents

Description

 

Synopsis

dissection

unzip :: (Transform sig (yv0, yv1) yv0, Transform sig (yv0, yv1) yv1) => T rate amp (sig (yv0, yv1)) -> (T rate amp (sig yv0), T rate amp (sig yv1))Source

unzip3 :: (Transform sig (yv0, yv1, yv2) yv0, Transform sig (yv0, yv1, yv2) yv1, Transform sig (yv0, yv1, yv2) yv2) => T rate amp (sig (yv0, yv1, yv2)) -> (T rate amp (sig yv0), T rate amp (sig yv1), T rate amp (sig yv2))Source

leftFromStereo :: C u => R s u y (T yv) -> R s u y yvSource

rightFromStereo :: C u => R s u y (T yv) -> R s u y yvSource

span :: (Transform sig yv, C v, C y, C y yv) => T v y -> (yv -> Bool) -> T rate (Dimensional v y) (sig yv) -> (T rate (Dimensional v y) (sig yv), T rate (Dimensional v y) (sig yv))Source

dropWhile :: (Transform sig yv, C v, C y, C y yv) => T v y -> (yv -> Bool) -> T rate (Dimensional v y) (sig yv) -> T rate (Dimensional v y) (sig yv)Source

takeWhile :: (Transform sig yv, C v, C y, C y yv) => T v y -> (yv -> Bool) -> T rate (Dimensional v y) (sig yv) -> T rate (Dimensional v y) (sig yv)Source

spanPrimitive :: (Transform sig y, Primitive amp) => (y -> Bool) -> T rate amp (sig y) -> (T rate amp (sig y), T rate amp (sig y))Source

dropWhilePrimitive :: (Transform sig y, Primitive amp) => (y -> Bool) -> T rate amp (sig y) -> T rate amp (sig y)Source

takeWhilePrimitive :: (Transform sig y, Primitive amp) => (y -> Bool) -> T rate amp (sig y) -> T rate amp (sig y)Source

glueing

concat :: (Ord y, C y, C u, C y yv, Transform sig yv) => [Signal s u y sig yv] -> Signal s u y sig yvSource

Similar to foldr1 append but more efficient and accurate, because it reduces the number of amplifications. Does not work for infinite lists, because no maximum amplitude can be computed.

concatVolume :: (C y, C u, C y yv, Transform sig yv) => T u y -> [Signal s u y sig yv] -> Signal s u y sig yvSource

Give the output volume explicitly. Does also work for infinite lists.

concatPrimitive :: (Transform sig, Primitive amp) => [T (Phantom s) amp sig] -> T (Phantom s) amp sigSource

append :: (Ord y, C y, C u, C y yv, Transform sig yv) => Signal s u y sig yv -> Signal s u y sig yv -> Signal s u y sig yvSource

appendVolume :: (C y, C u, C y yv, Transform sig yv) => T u y -> Signal s u y sig yv -> Signal s u y sig yv -> Signal s u y sig yvSource

appendPrimitive :: (Transform sig, Primitive amp) => T (Phantom s) amp sig -> T (Phantom s) amp sig -> T (Phantom s) amp sigSource

zip :: (Ord y, C y, C u, C y yv0, C y yv1, Read sig yv0, Transform sig yv1 (yv0, yv1)) => Signal s u y sig yv0 -> Signal s u y sig yv1 -> Signal s u y sig (yv0, yv1)Source

zipVolume :: (C y, C u, C y yv0, C y yv1, Read sig yv0, Transform sig yv1 (yv0, yv1)) => T u y -> Signal s u y sig yv0 -> Signal s u y sig yv1 -> Signal s u y sig (yv0, yv1)Source

zip3 :: (Ord y, C y, C u, C y yv0, C y yv1, C y yv2, Read sig yv0, Read sig yv1, Transform sig yv2 (yv0, yv1, yv2)) => Signal s u y sig yv0 -> Signal s u y sig yv1 -> Signal s u y sig yv2 -> Signal s u y sig (yv0, yv1, yv2)Source

zip3Volume :: (C y, C u, C y yv0, C y yv1, C y yv2, Read sig yv0, Read sig yv1, Transform sig yv2 (yv0, yv1, yv2)) => T u y -> Signal s u y sig yv0 -> Signal s u y sig yv1 -> Signal s u y sig yv2 -> Signal s u y sig (yv0, yv1, yv2)Source

mergeStereo :: (Ord y, C y, C u, C y yv, Transform sig yv (T yv)) => Signal s u y sig yv -> Signal s u y sig yv -> Signal s u y sig (T yv)Source

mergeStereoVolume :: (C y, C u, C y yv, Transform sig yv (T yv)) => T u y -> Signal s u y sig yv -> Signal s u y sig yv -> Signal s u y sig (T yv)Source

mergeStereoPrimitive :: (Primitive amp, Transform sig y (T y)) => T (Phantom s) amp (sig y) -> T (Phantom s) amp (sig y) -> T (Phantom s) amp (sig (T y))Source

miscellaneous

selectBoolSource

Arguments

:: (Ord y, C y, C u, C y yv, Read sig yv, Transform sig Bool yv) 
=> Signal s u y sig yv

False

-> Signal s u y sig yv

True

-> T (Phantom s) Abstract (sig Bool) 
-> Signal s u y sig yv 

reverse :: Transform sig yv => T rate amp (sig yv) -> T rate amp (sig yv)Source