|
Synthesizer.Dimensional.RateAmplitude.Filter | Portability | requires multi-parameter type classes | Stability | provisional | Maintainer | synthesizer@henning-thielemann.de |
|
|
|
|
|
Description |
|
|
Synopsis |
|
amplify :: (C y, C u, C v) => y -> T s u t (R s v y yv -> R s v y yv) | | amplifyDimension :: (C y, C u, C v0, C v1) => T v0 y -> T s u t (R s v1 y yv -> R s (Mul v0 v1) y yv) | | negate :: (C yv, C u, C v) => T s u t (R s v y yv -> R s v y yv) | | envelope :: (C flat y0, C y0, C u, C v) => T s u t (T s flat y0 -> R s v y y0 -> R s v y y0) | | envelopeVector :: (C flat y0, C y0 yv, C y, C u, C v) => T s u t (T s flat y0 -> R s v y yv -> R s v y yv) | | envelopeVectorDimension :: (C y0 yv, C y, C u, C v0, C v1) => T s u t (R s v0 y y0 -> R s v1 y yv -> R s (Mul v0 v1) y yv) | | differentiate :: (C yv, C q, C u, C v) => T s u q (R s v q yv -> R s (DimensionGradient u v) q yv) | | meanStatic :: (C q, C q yv, C u, C v) => T (Recip u) q -> T s u q (R s v q yv -> R s v q yv) | | mean :: (C yv, C q, C q yv, C u, C v, C q, C yv) => T (Recip u) q -> T s u q (R s (Recip u) q q -> R s v q yv -> R s v q yv) | | delay :: (C yv, C y, C t, C u, C v) => T u t -> T s u t (R s v y yv -> R s v y yv) | | phaseModulation :: (C yv, C q, C u, C v, C q, C yv) => T q yv -> T u q -> T u q -> T s u q (R s u q q -> R s v q yv -> R s v q yv) | | frequencyModulation :: (C flat q, C yv, C q, C u, C v) => T q yv -> T s u q (T s flat q -> R s v q yv -> R s v q yv) | | frequencyModulationDecoupled :: (C flat q, C yv, C q, C u, C v) => T q yv -> T s u q (T s flat q -> T u q (T v q (T T)) yv -> R s v q yv) | | phaser :: (C yv, C q, C q yv, C u, C v, C q, C yv) => T q yv -> T u q -> T s u q (R s u q q -> R s v q yv -> R s v q yv) | | phaserStereo :: (C yv, C q, C q yv, C u, C v, C q, C yv) => T q yv -> T u q -> T s u q (R s u q q -> R s v q yv -> R s v q (T yv)) | | firstOrderHighpass :: (C q, C q yv, C u, C v) => T s u q (R s (Recip u) q q) (Parameter q) (R s v q yv -> R s v q yv) | | butterworthHighpass :: (C q, C q yv, C u, C v) => Int -> q -> T s u q (R s (Recip u) q q) q (R s v q yv -> R s v q yv) | | universal :: (C flat q, C q, C q yv, C u, C v) => T s u q (T s flat q, R s (Recip u) q q) (Parameter q) (R s v q yv -> R s v q (Result yv)) | | bandpassFromUniversal :: (C sig, C u) => T s u q (T s sig (Result yv) -> T s sig yv) | | moogLowpass :: (C flat q, C q, C q yv, C u, C v) => Int -> T s u q (T s flat q, R s (Recip u) q q) (Parameter q) (R s v q yv -> R s v q yv) | | allpassCascade :: (C q, C q yv, C u, C v) => Int -> q -> T s u q (R s (Recip u) q q) (Parameter q) (R s v q yv -> R s v q yv) | | comb :: (C t, C y yv, C u, C v, C yv) => T u t -> y -> T s u t (R s v y yv -> R s v y yv) | | combProc :: (C t, C y, C y, C y yv, C yv, C u, C v) => T u t -> T s u t (R s v y yv -> R s v y yv) -> T s u t (R s v y yv -> R s v y yv) | | integrate :: (C yv, C q, C u, C v) => T s u q (R s v q yv -> R s (Mul u v) q yv) |
|
|
|
Non-recursive
|
|
Amplification
|
|
amplify :: (C y, C u, C v) => y -> T s u t (R s v y yv -> R s v y yv) | Source |
|
|
amplifyDimension :: (C y, C u, C v0, C v1) => T v0 y -> T s u t (R s v1 y yv -> R s (Mul v0 v1) y yv) | Source |
|
|
negate :: (C yv, C u, C v) => T s u t (R s v y yv -> R s v y yv) | Source |
|
|
envelope :: (C flat y0, C y0, C u, C v) => T s u t (T s flat y0 -> R s v y y0 -> R s v y y0) | Source |
|
|
envelopeVector :: (C flat y0, C y0 yv, C y, C u, C v) => T s u t (T s flat y0 -> R s v y yv -> R s v y yv) | Source |
|
|
envelopeVectorDimension :: (C y0 yv, C y, C u, C v0, C v1) => T s u t (R s v0 y y0 -> R s v1 y yv -> R s (Mul v0 v1) y yv) | Source |
|
|
Filter operators from calculus
|
|
|
|
Smooth
|
|
|
:: (C q, C q yv, C u, C v) | | => T (Recip u) q | cut-off freqeuncy
| -> T s u q (R s v q yv -> R s v q yv) | |
|
|
|
:: (C yv, C q, C q yv, C u, C v, C q, C yv) | | => T (Recip u) q | minimum cut-off freqeuncy
| -> T s u q (R s (Recip u) q q -> R s v q yv -> R s v q yv) | |
|
|
Delay
|
|
delay :: (C yv, C y, C t, C u, C v) => T u t -> T s u t (R s v y yv -> R s v y yv) | Source |
|
|
|
:: (C yv, C q, C u, C v, C q, C yv) | | => T q yv | | -> T u q | minDelay, minimal delay, may be negative
| -> T u q | maxDelay, maximal delay, it must be minDelay <= maxDelay
and the modulation must always be
in the range [minDelay,maxDelay].
| -> T s u q (R s u q q -> R s v q yv -> R s v q yv) | |
|
|
frequencyModulation :: (C flat q, C yv, C q, C u, C v) => T q yv -> T s u q (T s flat q -> R s v q yv -> R s v q yv) | Source |
|
|
frequencyModulationDecoupled :: (C flat q, C yv, C q, C u, C v) => T q yv -> T s u q (T s flat q -> T u q (T v q (T T)) yv -> R s v q yv) | Source |
|
|
|
:: (C yv, C q, C q yv, C u, C v, C q, C yv) | | => T q yv | | -> T u q | maxDelay, must be positive
| -> T s u q (R s u q q -> R s v q yv -> R s v q yv) | |
|
|
|
:: (C yv, C q, C q yv, C u, C v, C q, C yv) | | => T q yv | | -> T u q | maxDelay, must be positive
| -> T s u q (R s u q q -> R s v q yv -> R s v q (T yv)) | |
|
|
Recursive
|
|
Without resonance
|
|
|
|
|
:: (C q, C q yv, C u, C v) | | => Int | Order of the filter, must be even,
the higher the order, the sharper is the separation of frequencies.
| -> q | The attenuation at the cut-off frequency.
Should be between 0 and 1.
| -> T s u q (R s (Recip u) q q) q (R s v q yv -> R s v q yv) | |
|
|
With resonance
|
|
|
:: (C flat q, C q, C q yv, C u, C v) | | => T s u q (T s flat q, R s (Recip u) q q) (Parameter q) (R s v q yv -> R s v q (Result yv)) | highpass, bandpass, lowpass filter
|
|
|
bandpassFromUniversal :: (C sig, C u) => T s u q (T s sig (Result yv) -> T s sig yv) | Source |
|
|
|
|
Allpass
|
|
|
:: (C q, C q yv, C u, C v) | | => Int | order, number of filters in the cascade
| -> q | the phase shift to be achieved for the given frequency
| -> T s u q (R s (Recip u) q q) (Parameter q) (R s v q yv -> R s v q yv) | |
|
|
Reverb
|
|
comb :: (C t, C y yv, C u, C v, C yv) => T u t -> y -> T s u t (R s v y yv -> R s v y yv) | Source |
|
|
combProc :: (C t, C y, C y, C y yv, C yv, C u, C v) => T u t -> T s u t (R s v y yv -> R s v y yv) -> T s u t (R s v y yv -> R s v y yv) | Source |
|
|
Filter operators from calculus
|
|
integrate :: (C yv, C q, C u, C v) => T s u q (R s v q yv -> R s (Mul u v) q yv) | Source |
|
|
Produced by Haddock version 2.3.0 |