Copyright | (c) Henning Thielemann 2008 |
---|---|
License | GPL |
Maintainer | synthesizer@henning-thielemann.de |
Stability | provisional |
Portability | requires multi-parameter type classes |
Safe Haskell | None |
Language | Haskell2010 |
- amplify :: (C y, C u) => y -> T rate (Dimensional u y) body -> T rate (Dimensional u y) body
- amplifyDimension :: (C y, C u, C v) => T v y -> T rate (Dimensional u y) body -> T rate (Dimensional (Mul v u) y) body
- amplifyScalarDimension :: (C y, C v) => T v y -> T rate (Dimensional Scalar y) body -> T rate (Dimensional v y) body
- negate :: (Transform sig yv, C yv) => T rate amp (sig yv) -> T rate amp (sig yv)
- envelope :: (C y flat, C y) => T (Phantom s) flat (T y) -> T (Phantom s) amp (T y) -> T (Phantom s) amp (T y)
- envelopeScalarDimension :: (C v, C y) => R s Scalar y y -> R s v y y -> R s v y y
- envelopeVector :: (C y0 flat, C y0 yv) => T (Phantom s) flat (T y0) -> T (Phantom s) amp (T yv) -> T (Phantom s) amp (T yv)
- envelopeVectorDimension :: (C y0 yv, C y, C u, C v) => R s v y y0 -> R s u y yv -> R s (Mul v u) y yv
Non-recursive
Amplification
amplify :: (C y, C u) => y -> T rate (Dimensional u y) body -> T rate (Dimensional u y) body Source #
The amplification factor must be positive.
amplifyDimension :: (C y, C u, C v) => T v y -> T rate (Dimensional u y) body -> T rate (Dimensional (Mul v u) y) body Source #
amplifyScalarDimension :: (C y, C v) => T v y -> T rate (Dimensional Scalar y) body -> T rate (Dimensional v y) body Source #
envelopeScalarDimension Source #
This is like envelope
but it does not require
prior conversion to a flat signal,
what might violate the sample range (-1,1).
Instead the global amplitudes are multiplied.