synthesizer-core-0.4.0.4: Audio signal processing coded in Haskell: Low level part

Synthesizer.Storable.Cut

Synopsis

Documentation

arrangeSource

Arguments

:: (Storable v, C v) 
=> ChunkSize 
-> T Int (T v)

A list of pairs: (relative start time, signal part), The start time is relative to the start time of the previous event.

-> T v

The mixed signal.

arrangeAdaptiveSource

Arguments

:: (Storable v, C v) 
=> ChunkSize 
-> T Int (T v)

A list of pairs: (relative start time, signal part), The start time is relative to the start time of the previous event.

-> T v

The mixed signal.

Chunk sizes are adapted to the time differences. Explicit ChunkSize parameter is only required for zero padding. Since no ST monad is needed, this can be generalized to Generic.Signal.Transform class.

arrangeListSource

Arguments

:: (Storable v, C v) 
=> ChunkSize 
-> T Int (T v)

A list of pairs: (relative start time, signal part), The start time is relative to the start time of the previous event.

-> T v

The mixed signal.

This function also uses the time differences as chunk sizes, but may occasionally use smaller chunk sizes due to the chunk structure of an input signal until the next signal starts.

addShiftedMany :: (Storable a, C a) => ChunkSize -> [Int] -> [T a] -> T aSource

addShifted :: (Storable a, C a) => ChunkSize -> Int -> T a -> T a -> T aSource

arrangeEquidistSource

Arguments

:: (Storable v, C v) 
=> ChunkSize 
-> T Int (T v)

A list of pairs: (relative start time, signal part), The start time is relative to the start time of the previous event.

-> T v

The mixed signal.

The result is a Lazy StorableVector with chunks of the given size.

addToBuffer :: (Storable a, C a) => Vector s a -> Int -> T a -> ST s (Int, T a)Source

addChunkToBuffer :: (Storable a, C a) => Vector s a -> Int -> Vector a -> ST s ()Source

chunk must fit into the buffer

addChunkToBufferFoldr :: (Storable a, C a) => Vector s a -> Int -> Vector a -> ST s ()Source

chunk must fit into the buffer

addToBufferFoldr :: (Storable a, C a) => Vector s a -> Int -> T a -> ST s (Int, T a)Source

addToBufferSwitchL :: (Storable a, C a) => Vector s a -> Int -> T a -> ST s (Int, T a)Source