synthesizer-0.0.3: Audio signal processing coded in HaskellSource codeContentsIndex
Synthesizer.Dimensional.RateAmplitude.Filter
Portabilityrequires multi-parameter type classes
Stabilityprovisional
Maintainersynthesizer@henning-thielemann.de
Contents
Non-recursive
Amplification
Filter operators from calculus
Smooth
Delay
Recursive
Without resonance
With resonance
Allpass
Reverb
Filter operators from calculus
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
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)Source
Smooth
meanStaticSource
:: (C q, C q yv, C u, C v)
=> T (Recip u) qcut-off freqeuncy
-> T s u q (R s v q yv -> R s v q yv)
meanSource
:: (C yv, C q, C q yv, C u, C v, C q, C yv)
=> T (Recip u) qminimum 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
phaseModulationSource
:: (C yv, C q, C u, C v, C q, C yv)
=> T q yv
-> T u qminDelay, minimal delay, may be negative
-> T u qmaxDelay, 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
phaserSource
:: (C yv, C q, C q yv, C u, C v, C q, C yv)
=> T q yv
-> T u qmaxDelay, must be positive
-> T s u q (R s u q q -> R s v q yv -> R s v q yv)
phaserStereoSource
:: (C yv, C q, C q yv, C u, C v, C q, C yv)
=> T q yv
-> T u qmaxDelay, 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
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)Source
butterworthHighpassSource
:: (C q, C q yv, C u, C v)
=> IntOrder of the filter, must be even, the higher the order, the sharper is the separation of frequencies.
-> qThe 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
universalSource
:: (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
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)Source
Allpass
allpassCascadeSource
:: (C q, C q yv, C u, C v)
=> Intorder, number of filters in the cascade
-> qthe 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