| 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 |
Synthesizer.Dimensional.RateAmplitude.Control
Contents
Description
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.
Arguments
| :: (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.
Arguments
| :: (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.