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 |
Control curves which can be used as envelopes, for controlling filter parameters and so on.
- constant :: (C y, C u, C v) => T v y -> T s u t (R s v y y)
- constantVector :: T v y -> yv -> T s u t (R s v y yv)
- linear :: (C q, C q, C u, C v) => T (DimensionGradient u v) q -> T v q -> T s u q (R s v q q)
- line :: (C q, C u, C v) => T u q -> (T v q, T v q) -> T s u q (R s v q q)
- exponential :: (C q, C q, C u, C v) => T u q -> T v q -> T s u q (R s v q q)
- exponential2 :: (C q, C q, C u, C v) => T u q -> T v q -> T s u q (R s v q q)
- exponentialFromTo :: (C q, C q, C u, C v) => T u q -> (T v q, T v q) -> T s u q (R s v q q)
- cubicHermite :: (C q, C u, C v) => (T u q, (T v q, T (DimensionGradient u v) q)) -> (T u q, (T v q, T (DimensionGradient u v) q)) -> T s u q (R s v q q)
Primitives
The amplitude must be positive! This is not checked.
:: (C q, C q, C u, C v) | |
=> T (DimensionGradient u v) q | slope of the curve |
-> T v q | initial value |
-> T s u q (R s v q q) |
Caution: This control curve can contain samples with an absolute value greater than 1.
Linear curves starting with zero are impossible.
Maybe you prefer using line
.
:: (C q, C u, C v) | |
=> T u q | duration of the ramp |
-> (T v q, T v q) | initial and final value |
-> T s u q (R s v q q) |
Generates a finite ramp.