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

Safe HaskellNone
LanguageHaskell2010

Synthesizer.Storable.Cut

Synopsis

Documentation

arrange Source #

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.

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

arrangeEquidist Source #

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.

arrangeAdaptive Source #

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.

arrangeList Source #

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.