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

Copyright(c) Henning Thielemann 2008-2009
LicenseGPL
Maintainersynthesizer@henning-thielemann.de
Stabilityprovisional
Portabilityrequires multi-parameter type classes
Safe HaskellNone
LanguageHaskell2010

Synthesizer.Dimensional.Amplitude.Cut

Contents

Description

 

Synopsis

dissection

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

unzip3 :: (Transform sig (yv0, yv1, yv2), Transform sig yv0, Transform sig yv1, Transform sig 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 yv Source #

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

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 yv Source #

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 yv Source #

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 sig Source #

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 yv Source #

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 yv Source #

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

zip :: (Ord y, C y, C u, C y yv0, C y yv1, Read sig yv0, Transform sig yv1, Transform sig (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, Transform sig (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, Transform sig (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, Transform sig (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, Transform sig (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, Transform sig (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, Transform sig (T y)) => T (Phantom s) amp (sig y) -> T (Phantom s) amp (sig y) -> T (Phantom s) amp (sig (T y)) Source #

miscellaneous

selectBool Source #

Arguments

:: (Ord y, C y, C u, C y yv, Read sig yv, Transform sig Bool, Transform sig 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 #