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

Safe HaskellNone

Synthesizer.Dimensional.RateAmplitude.Piece

Contents

Synopsis

Piecewise

step :: (C q, C u, C v, Write sig q) => T s u v sig qSource

linear :: (C q, C u, C v, Write sig q) => T s u v sig qSource

exponential :: (C q, C u, C v, Write sig q) => T v q -> T s u v sig qSource

cosine :: (C q, C u, C v, Write sig q) => T s u v sig qSource

halfSine :: (C q, C u, C v, Write sig q) => FlatPosition -> T s u v sig qSource

cubic :: (C q, C u, C v, Write sig q) => T (DimensionGradient u v) q -> T (DimensionGradient u v) q -> T s u v sig qSource

type T s u v sig q = Piece (T u q) (T v q) (T v q -> LazySize -> q -> T s u q (T (Phantom s) (Flat q) (sig q)))Source

type Sequence s u v sig q = T (T u q) (T v q) (T v q -> LazySize -> q -> T s u q (T (Phantom s) (Flat q) (sig q)))Source

run :: (C q, C q, C u, C v, Write sig q) => T u q -> Sequence s u v sig q -> T s u q (T (Phantom s) (Dimensional v q) (sig q))Source

Since this function looks for the maximum node value, and since the signal parameter inference phase must be completed before signal processing, infinite descriptions cannot be used here.

runVolume :: (C q, C q, C u, C v, Write sig q) => T u q -> Sequence s u v sig q -> T v q -> T s u q (T (Phantom s) (Dimensional v q) (sig q))Source

runState :: (C q, C q, C u, C v) => Sequence s u v T q -> T s u q (R s v q q)Source

runStateVolume :: (C q, C q, C u, C v) => Sequence s u v T q -> T v q -> T s u q (R s v q q)Source

(-|#) :: y -> (PieceDist t y sig, T t y sig) -> (PieceRightSingle y, T t y sig)

(#|-) :: (t, Piece t y sig) -> (PieceRightSingle y, T t y sig) -> (PieceDist t y sig, T t y sig)

(=|#) :: (y, y) -> (PieceDist t y sig, T t y sig) -> (PieceRightDouble y, T t y sig)

(#|=) :: (t, Piece t y sig) -> (PieceRightDouble y, T t y sig) -> (PieceDist t y sig, T t y sig)

(|#) :: y -> (PieceDist t y sig, T t y sig) -> T t y sig

(#|) :: (t, Piece t y sig) -> y -> (PieceDist t y sig, T t y sig)