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

Safe HaskellNone
LanguageHaskell2010

Synthesizer.CausalIO.Gate

Synopsis

Documentation

data Chunk a

Chunk represents a chunk of a Gate signal.

It means (Chunk chunkDuration sustainDuration).

sustainDuration means: Just (t,a) - key is released at time t with attribute a, e.g. the note-off-velocity, t must be smaller than chunkDuration! Nothing - key is in pressed or released state over the whole chunk

Constructors

Chunk StrictTime (Maybe (StrictTime, a)) 

Instances

chunk :: StrictTime -> Maybe (StrictTime, a) -> Chunk a

smart constructor that checks the time constraints

allToStorableVector :: Arrow arrow => arrow (Chunk a) (Vector ())

allToChunkySize :: Arrow arrow => arrow (Chunk a) LazySize

shorten :: Transform signal => T (T (Chunk a) signal) signal

Pass the second signal while the gate is open.

For completeness we would need a data type analogously to ChunkySize, that measures signal duration in CausalIO processes. shorten could then be written as

shorten = Zip.second ^<< Zip.arrowFirstShort Gate.toChunkySize