synthesizer-0.2.0.1: Audio signal processing coded in HaskellSource codeContentsIndex
Synthesizer.Storable.Signal
Description

Chunky signal stream build on StorableVector.

Hints for fusion: - Higher order functions should always be inlined in the end in order to turn them into machine loops instead of calling a function in an inner loop.

Synopsis
type T = Vector
hPut
ChunkSize (ChunkSize)
chunkSize
defaultChunkSize :: ChunkSize
scanL :: (Storable a, Storable b) => (a -> b -> a) -> a -> T b -> T a
map
iterate
zipWith
append
concat
span
splitAt
viewL
viewR
switchL
unfoldr
reverse
crochetL
writeFile
splitAtPad :: (C x, Storable x) => ChunkSize -> Int -> T x -> (T x, T x)
null
fromChunks
delay :: Storable y => ChunkSize -> y -> Int -> T y -> T y
delayLoop :: Storable y => (T y -> T y) -> T y -> T y
delayLoopOverlap :: (C y, Storable y) => Int -> (T y -> T y) -> T y -> T y
mix :: (C x, Storable x) => T x -> T x -> T x
mixSize :: (C x, Storable x) => ChunkSize -> T x -> T x -> T x
empty
replicate
repeat
drop
take
takeCrochet :: Storable a => Int -> T a -> T a
fromList :: Storable a => ChunkSize -> [a] -> T a
appendFromFusionList :: Storable a => ChunkSize -> T a -> T a -> T a
appendFusionList :: Storable a => ChunkSize -> T a -> T a -> T a
zipWithRest :: (Storable c, Storable x) => (x -> x -> c) -> T x -> T x -> (Vector c, (Bool, T x))
zipWithAppend :: Storable x => (x -> x -> x) -> T x -> T x -> T x
switchR
fromFusionList :: Storable a => ChunkSize -> T a -> T a
genericLength :: C i => T x -> i
Documentation
type T = VectorSource
hPut
ChunkSize (ChunkSize)
chunkSize
defaultChunkSize :: ChunkSizeSource
scanL :: (Storable a, Storable b) => (a -> b -> a) -> a -> T b -> T aSource
map
iterate
zipWith
append
concat
span
splitAt
viewL
viewR
switchL
unfoldr
reverse
crochetL
writeFile
splitAtPad :: (C x, Storable x) => ChunkSize -> Int -> T x -> (T x, T x)Source
null
fromChunks
delay :: Storable y => ChunkSize -> y -> Int -> T y -> T ySource
delayLoopSource
:: Storable y
=> T y -> T yprocessor that shall be run in a feedback loop
-> T yprefix of the output, its length determines the delay
-> T y
delayLoopOverlapSource
:: (C y, Storable y)
=> Int
-> T y -> T yProcessor that shall be run in a feedback loop. It's absolutely necessary that this function preserves the chunk structure and that it does not look a chunk ahead. That's guaranteed for processes that do not look ahead at all, like map, crochetL and all of type Causal.Process.
-> T yinput
-> T youtput has the same length as the input
mix :: (C x, Storable x) => T x -> T x -> T xSource
mixSize :: (C x, Storable x) => ChunkSize -> T x -> T x -> T xSource
empty
replicate
repeat
drop
take
takeCrochet :: Storable a => Int -> T a -> T aSource
fromList :: Storable a => ChunkSize -> [a] -> T aSource
appendFromFusionList :: Storable a => ChunkSize -> T a -> T a -> T aSource
appendFusionList :: Storable a => ChunkSize -> T a -> T a -> T aSource
Like appendFromFusionList but returns a T for more flexible following processing.
zipWithRest :: (Storable c, Storable x) => (x -> x -> c) -> T x -> T x -> (Vector c, (Bool, T x))Source
zipWithAppend :: Storable x => (x -> x -> x) -> T x -> T x -> T xSource
switchR
fromFusionList :: Storable a => ChunkSize -> T a -> T aSource
genericLength :: C i => T x -> iSource
Produced by Haddock version 2.4.2