synthesizer-0.0.3: Audio signal processing coded in HaskellSource codeContentsIndex
Synthesizer.Dimensional.Rate.Filter
Portabilityrequires multi-parameter type classes
Stabilityprovisional
Maintainersynthesizer@henning-thielemann.de
Contents
Non-recursive
Amplification
Smooth
Delay
Recursive
Without resonance
With resonance
Allpass
Reverb
Helper functions
Description
Synopsis
negate :: (C sig, C yv, C u) => T s u t (T s sig yv -> T s sig yv)
envelope :: (C sig, C flat y0, C y0, C u) => T s u t (T s flat y0 -> T s sig y0 -> T s sig y0)
envelopeVector :: (C sig, C flat y0, C y0 yv, C u) => T s u t (T s flat y0 -> T s sig yv -> T s sig yv)
convolveVector :: (C sig, C q yv, C q, C u, C q) => T s u q (R s (Recip u) q q -> T s sig yv -> T s sig yv)
mean :: (C sig, C yv, C q, C q yv, C u, C q, C yv) => T (Recip u) q -> T s u q (R s (Recip u) q q -> T s sig yv -> T s sig yv)
meanStatic :: (C sig, C yv, C q, C q yv, C u) => T (Recip u) q -> T s u q (T s sig yv -> T s sig yv)
delay :: (C sig, C yv, C t, C u) => T u t -> T s u t (T s sig yv -> T s sig yv)
phaseModulation :: (C sig, C yv, C q, C u, C q, C yv) => T q yv -> T u q -> T u q -> T s u q (R s u q q -> T s sig yv -> T s sig yv)
phaser :: (C sig, C yv, C q, C q yv, C u, C q, C yv) => T q yv -> T u q -> T s u q (R s u q q -> T s sig yv -> T s sig yv)
phaserStereo :: (C sig, C yv, C q, C q yv, C u, C q, C yv) => T q yv -> T u q -> T s u q (R s u q q -> T s sig yv -> T s sig (T yv))
frequencyModulation :: (C sig, C flat q, C yv, C q, C u) => T q yv -> T s u q (T s flat q -> T s sig yv -> T s sig yv)
frequencyModulationDecoupled :: (C yv, C q, C u) => T q yv -> T s u q (R s q -> T u q (T T) yv -> R s yv)
firstOrderHighpass :: (C sig, C q, C q yv, C u) => T s u q (R s (Recip u) q q -> T s sig yv -> T s sig yv)
butterworthHighpass :: (C sig, C q, C q yv, C u) => Int -> q -> T s u q (R s (Recip u) q q -> T s sig yv -> T s sig yv)
universal :: (C sig, C flat q, C q, C q yv, C u) => T s u q (T s flat q -> R s (Recip u) q q -> T s sig yv -> T s sig (Result yv))
bandpassFromUniversal :: (C sig, C u) => T s u q (T s sig (Result yv) -> T s sig yv)
moogLowpass :: (C sig, C flat q, C q, C q yv, C u) => Int -> T s u q (T s flat q -> R s (Recip u) q q -> T s sig yv -> T s sig yv)
allpassCascade :: (C sig, C q, C q yv, C u) => Int -> q -> T s u q (R s (Recip u) q q -> T s sig yv -> T s sig yv)
comb :: (C sig, C t, C y yv, C u, C yv) => T u t -> y -> T s u t (T s sig yv -> T s sig yv)
interpolateMultiRelativeZeroPad :: (C q, C yv) => T q yv -> T q -> T yv -> T yv
Non-recursive
Amplification
negate :: (C sig, C yv, C u) => T s u t (T s sig yv -> T s sig yv)Source
envelope :: (C sig, C flat y0, C y0, C u) => T s u t (T s flat y0 -> T s sig y0 -> T s sig y0)Source
envelopeVector :: (C sig, C flat y0, C y0 yv, C u) => T s u t (T s flat y0 -> T s sig yv -> T s sig yv)Source
convolveVector :: (C sig, C q yv, C q, C u, C q) => T s u q (R s (Recip u) q q -> T s sig yv -> T s sig yv)Source
Smooth
meanSource
:: (C sig, C yv, C q, C q yv, C u, C q, C yv)
=> T (Recip u) qminimum cut-off freqeuncy
-> T s u q (R s (Recip u) q q -> T s sig yv -> T s sig yv)
meanStaticSource
:: (C sig, C yv, C q, C q yv, C u)
=> T (Recip u) qcut-off freqeuncy
-> T s u q (T s sig yv -> T s sig yv)
Delay
delay :: (C sig, C yv, C t, C u) => T u t -> T s u t (T s sig yv -> T s sig yv)Source
phaseModulationSource
:: (C sig, C yv, C q, C u, C q, C yv)
=> T q yv
-> T u qminimal deviation from current time, usually negative
-> T u qmaximal deviation, it must be minDev <= maxDev and the modulation must always be in the range [minDev,maxDev].
-> T s u q (R s u q q -> T s sig yv -> T s sig yv)
phaserSource
:: (C sig, C yv, C q, C q yv, C u, C q, C yv)
=> T q yv
-> T u qmaxDev, must be positive
-> T s u q (R s u q q -> T s sig yv -> T s sig yv)
phaserStereoSource
:: (C sig, C yv, C q, C q yv, C u, C q, C yv)
=> T q yv
-> T u qmaxDev, must be positive
-> T s u q (R s u q q -> T s sig yv -> T s sig (T yv))
frequencyModulation :: (C sig, C flat q, C yv, C q, C u) => T q yv -> T s u q (T s flat q -> T s sig yv -> T s sig yv)Source
frequencyModulationDecoupled :: (C yv, C q, C u) => T q yv -> T s u q (R s q -> T u q (T T) yv -> R s yv)Source
Recursive
Without resonance
firstOrderHighpass :: (C sig, C q, C q yv, C u) => T s u q (R s (Recip u) q q -> T s sig yv -> T s sig yv)Source
butterworthHighpassSource
:: (C sig, C q, C q yv, C u)
=> 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 -> T s sig yv -> T s sig yv)
With resonance
universalSource
:: (C sig, C flat q, C q, C q yv, C u)
=> T s u q (T s flat q -> R s (Recip u) q q -> T s sig yv -> T s sig (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 sig, C flat q, C q, C q yv, C u) => Int -> T s u q (T s flat q -> R s (Recip u) q q -> T s sig yv -> T s sig yv)Source
Allpass
allpassCascadeSource
:: (C sig, C q, C q yv, C u)
=> 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 -> T s sig yv -> T s sig yv)
Reverb
comb :: (C sig, C t, C y yv, C u, C yv) => T u t -> y -> T s u t (T s sig yv -> T s sig yv)Source
Helper functions
interpolateMultiRelativeZeroPad :: (C q, C yv) => T q yv -> T q -> T yv -> T yvSource
Produced by Haddock version 2.3.0