|
| Synthesizer.Dimensional.RateAmplitude.Signal | | Portability | requires multi-parameter type classes | | Stability | provisional | | Maintainer | synthesizer@henning-thielemann.de |
|
|
|
| Description |
| For a description see Synthesizer.Dimensional.Process.
|
|
| Synopsis |
|
| type D v y = T (T v y) | | | type R s v y yv = T s (S v y) yv | | | toTimeScalar :: (C t, C u) => T u t -> T s u t t | | | toFrequencyScalar :: (C t, C u) => T (Recip u) t -> T s u t t | | | toAmplitudeScalar :: (C w, C y, C v) => w (D v y sig) yv -> T v y -> y | | | toGradientScalar :: (C q, C u, C v) => T v q -> T (DimensionGradient u v) q -> T s u q q | | | type DimensionGradient u v = Mul (Recip u) v | | | amplitude :: (C w, C v) => w (D v y sig) yv -> T v y | | | samples :: (C w, C v) => w (D v y (T sig)) yv -> sig yv | | | fromSignal :: amp -> R s yv -> T s (T amp S) yv | | | fromSamples :: amp -> T yv -> T s (T amp S) yv | | | scalarSamples :: (C w, C y, C amp) => (amp -> y) -> w (T amp S) y -> T y | | | fromScalarSamples :: amp -> T y -> T s (T amp S) y | | | scalarSamplesGeneric :: (C w, C y, C v, Transform sig y) => (T v y -> y) -> w (D v y (T sig)) y -> sig y | | | vectorSamples :: (C w, C y yv, C v) => (T v y -> y) -> w (S v y) yv -> T yv | | | fromVectorSamples :: amp -> T yv -> T s (T amp S) yv | | | replaceAmplitude :: (C w, C v0, C v1) => T v1 y -> w (D v0 y sig) yv -> w (D v1 y sig) yv | | | replaceSamples :: (C w, C v) => sig1 yv1 -> w (D v y sig0) yv0 -> w (D v y (T sig1)) yv1 | | | processSamples :: (C w, C v) => (sig0 yv0 -> sig1 yv1) -> w (D v y (T sig0)) yv0 -> w (D v y (T sig1)) yv1 | | | asTypeOfAmplitude :: y -> w (D v y sig) yv -> y | | | ($-) :: (C y, C y, C u, C v) => T s u t (R s v y y -> a) -> T v y -> T s u t a | | | ($&) :: C y => T s u t (R s y -> a) -> T s u t (R s Scalar y y) -> T s u t a | | | (&*^) :: C flat y => T v y -> T s u t (T s flat y) -> T s u t (R s v y y) | | | (&*>^) :: T v y -> T s u t (R s yv) -> T s u t (R s v y yv) | | | cache :: (C v, C w, Storable yv0) => T s u t (w (D v y S) yv0) -> T s u t (w (D v y S) yv0) | | | bindCached :: (C v, C w, Storable yv0) => T s u t (w (D v y S) yv0) -> (w (D v y S) yv0 -> T s u t b) -> T s u t b | | | share :: (C v, C w, Storable yv0) => T s u t (w (D v y S) yv0) -> (T s u t (w (D v y S) yv0) -> T s u t b) -> T s u t b | | | toStorableInt16Mono :: (C w, C a) => w (S Voltage a) a -> w T Int16 | | | toStorableInt16Stereo :: (C w, C a a, C a) => w (S Voltage a) (T a) -> w T (T Int16) |
|
|
| Documentation |
|
|
|
|
|
| toTimeScalar :: (C t, C u) => T u t -> T s u t t | Source |
|
|
|
|
| toAmplitudeScalar :: (C w, C y, C v) => w (D v y sig) yv -> T v y -> y | Source |
|
|
|
|
|
|
| amplitude :: (C w, C v) => w (D v y sig) yv -> T v y | Source |
|
|
| samples :: (C w, C v) => w (D v y (T sig)) yv -> sig yv | Source |
|
|
| fromSignal :: amp -> R s yv -> T s (T amp S) yv | Source |
|
|
| fromSamples :: amp -> T yv -> T s (T amp S) yv | Source |
|
|
| scalarSamples :: (C w, C y, C amp) => (amp -> y) -> w (T amp S) y -> T y | Source |
|
|
| fromScalarSamples :: amp -> T y -> T s (T amp S) y | Source |
|
|
| scalarSamplesGeneric :: (C w, C y, C v, Transform sig y) => (T v y -> y) -> w (D v y (T sig)) y -> sig y | Source |
|
|
| vectorSamples :: (C w, C y yv, C v) => (T v y -> y) -> w (S v y) yv -> T yv | Source |
|
|
| fromVectorSamples :: amp -> T yv -> T s (T amp S) yv | Source |
|
|
| replaceAmplitude :: (C w, C v0, C v1) => T v1 y -> w (D v0 y sig) yv -> w (D v1 y sig) yv | Source |
|
|
| replaceSamples :: (C w, C v) => sig1 yv1 -> w (D v y sig0) yv0 -> w (D v y (T sig1)) yv1 | Source |
|
|
| processSamples :: (C w, C v) => (sig0 yv0 -> sig1 yv1) -> w (D v y (T sig0)) yv0 -> w (D v y (T sig1)) yv1 | Source |
|
|
| asTypeOfAmplitude :: y -> w (D v y sig) yv -> y | Source |
|
|
| ($-) :: (C y, C y, C u, C v) => T s u t (R s v y y -> a) -> T v y -> T s u t a | Source |
|
| Take a scalar argument where a process expects a signal.
Only possible for non-negative values so far.
|
|
|
| Take a signal with Scalar unit in amplitude
where the process expects a plain T.
This is no longer important
since the processes which expects those inputs
can use the Flat type class.
|
|
| (&*^) :: C flat y => T v y -> T s u t (T s flat y) -> T s u t (R s v y y) | Source |
|
|
| (&*>^) :: T v y -> T s u t (R s yv) -> T s u t (R s v y yv) | Source |
|
|
|
|
| bindCached :: (C v, C w, Storable yv0) => T s u t (w (D v y S) yv0) -> (w (D v y S) yv0 -> T s u t b) -> T s u t b | Source |
|
|
| share :: (C v, C w, Storable yv0) => T s u t (w (D v y S) yv0) -> (T s u t (w (D v y S) yv0) -> T s u t b) -> T s u t b | Source |
|
|
|
|
|
|
| Produced by Haddock version 2.4.2 |