|
Synthesizer.Dimensional.ControlledProcess | Portability | Haskell 98 | Stability | provisional | Maintainer | synthesizer@henning-thielemann.de |
|
|
|
Description |
Basic definitions for signal processors
which are controlled by another signal.
If a control curve is expensive to compute,
or, what happens more frequently,
the conversion from natural control parameters
to internal control parameters is expensive,
then it can be more efficient to compute the control curve at a lower rate
and interpolate the internal control parameters of a particular process.
CSound and SuperCollider have a sample rate
that is common to all control curves,
the ratio between audio and control rate must be integral,
and they use constant interpolation exclusively.
With some more sophisticated interpolation
one may choose a larger gap between control and audio rate.
|
|
Synopsis |
|
data T s ec ic a = Cons {} | | runSynchronous :: T s u t (T s ec ic a) -> T s u t (ec -> a) | | runSynchronous1 :: T s u t (T s (T s sig0 ec0) ic a) -> T s u t (T s sig0 ec0 -> a) | | runSynchronous2 :: T s u t (T s (T s sig0 ec0, T s sig1 ec1) ic a) -> T s u t (T s sig0 ec0 -> T s sig1 ec1 -> a) | | runSynchronous3 :: T s u t (T s (T s sig0 ec0, T s sig1 ec1, T s sig2 ec2) ic a) -> T s u t (T s sig0 ec0 -> T s sig1 ec1 -> T s sig2 ec2 -> a) | | runAsynchronous :: (C u, C ic, C t) => T t ic -> T s u t (T s ec ic a) -> T r u t -> ec -> T s u t a | | runAsynchronous1 :: (C u, C ic, C t) => T t ic -> T s u t (T s (T r sig0 ec0) ic a) -> T u t sig0 ec0 -> T s u t a | | runAsynchronous2 :: (C u, C ic, C t) => T t ic -> T s u t (T s (T r sig0 ec0, T r sig1 ec1) ic a) -> T u t sig0 ec0 -> T u t sig1 ec1 -> T s u t a | | runAsynchronous3 :: (C u, C ic, C t) => T t ic -> T s u t (T s (T r sig0 ec0, T r sig1 ec1, T r sig2 ec2) ic a) -> T u t sig0 ec0 -> T u t sig1 ec1 -> T u t sig2 ec2 -> T s u t a |
|
|
Documentation |
|
|
ec is the type for the curve of external control parameters,
ic for internal control parameters.
| Constructors | Cons | | converter :: ec -> T ic | | processor :: T ic -> a | |
|
|
|
|
runSynchronous :: T s u t (T s ec ic a) -> T s u t (ec -> a) | Source |
|
|
runSynchronous1 :: T s u t (T s (T s sig0 ec0) ic a) -> T s u t (T s sig0 ec0 -> a) | Source |
|
|
runSynchronous2 :: T s u t (T s (T s sig0 ec0, T s sig1 ec1) ic a) -> T s u t (T s sig0 ec0 -> T s sig1 ec1 -> a) | Source |
|
|
runSynchronous3 :: T s u t (T s (T s sig0 ec0, T s sig1 ec1, T s sig2 ec2) ic a) -> T s u t (T s sig0 ec0 -> T s sig1 ec1 -> T s sig2 ec2 -> a) | Source |
|
|
runAsynchronous :: (C u, C ic, C t) => T t ic -> T s u t (T s ec ic a) -> T r u t -> ec -> T s u t a | Source |
|
|
runAsynchronous1 :: (C u, C ic, C t) => T t ic -> T s u t (T s (T r sig0 ec0) ic a) -> T u t sig0 ec0 -> T s u t a | Source |
|
|
runAsynchronous2 :: (C u, C ic, C t) => T t ic -> T s u t (T s (T r sig0 ec0, T r sig1 ec1) ic a) -> T u t sig0 ec0 -> T u t sig1 ec1 -> T s u t a | Source |
|
|
runAsynchronous3 :: (C u, C ic, C t) => T t ic -> T s u t (T s (T r sig0 ec0, T r sig1 ec1, T r sig2 ec2) ic a) -> T u t sig0 ec0 -> T u t sig1 ec1 -> T u t sig2 ec2 -> T s u t a | Source |
|
|
Produced by Haddock version 2.4.2 |