|
Synthesizer.Generic.Filter.NonRecursive | Portability | requires multi-parameter type classes | Stability | provisional | Maintainer | synthesizer@henning-thielemann.de |
|
|
|
|
|
Description |
|
|
Synopsis |
|
negate :: (C a, Transform sig a) => sig a -> sig a | | amplify :: (C a, Transform sig a) => a -> sig a -> sig a | | amplifyVector :: (C a v, Transform sig v) => a -> sig v -> sig v | | envelope :: (C a, Transform sig a) => sig a -> sig a -> sig a | | envelopeVector :: (C a v, Read sig a, Transform sig v) => sig a -> sig v -> sig v | | fadeInOut :: (C a, Write sig a) => Int -> Int -> Int -> sig a -> sig a | | delay :: (C y, Write sig y) => Int -> sig y -> sig y | | delayPad :: Write sig y => y -> Int -> sig y -> sig y | | delayPos :: (C y, Write sig y) => Int -> sig y -> sig y | | delayNeg :: Transform sig y => Int -> sig y -> sig y | | delayLazySize :: (C y, Write sig y) => LazySize -> Int -> sig y -> sig y | | delayPadLazySize :: Write sig y => LazySize -> y -> Int -> sig y -> sig y | | delayPosLazySize :: (C y, Write sig y) => LazySize -> Int -> sig y -> sig y | | generic :: (C a v, Transform sig a, Write sig v) => sig a -> sig v -> sig v | | binomial :: (C a, C a, C a v, Transform sig v) => a -> a -> sig v -> sig v | | ratioFreqToVariance :: C a => a -> a -> a | | binomial1 :: (C v, Transform sig v) => sig v -> sig v | | sums :: (C v, Transform sig v) => Int -> sig v -> sig v | | differentiate :: (C v, Transform sig v) => sig v -> sig v | | differentiateCenter :: (C v, Transform sig v) => sig v -> sig v | | differentiate2 :: (C v, Transform sig v) => sig v -> sig v |
|
|
|
Envelope application
|
|
|
|
|
|
|
|
|
:: (C a, Transform sig a) | | => sig a | the envelope
| -> sig a | the signal to be enveloped
| -> sig a | |
|
|
|
:: (C a v, Read sig a, Transform sig v) | | => sig a | the envelope
| -> sig v | the signal to be enveloped
| -> sig v | |
|
|
|
|
Smoothing
|
|
|
|
|
|
|
|
|
|
|
|
|
The pad value y must be defined,
otherwise the chunk size of the padding can be observed.
|
|
|
|
|
Unmodulated non-recursive filter
|
|
|
|
ratioFreqToVariance :: C a => a -> a -> a | Source |
|
Compute the variance of the Gaussian
such that its Fourier transform has value ratio at frequency freq.
|
|
|
|
|
Moving (uniformly weighted) average in the most trivial form.
This is very slow and needs about n * length x operations.
|
|
Filter operators from calculus
|
|
|
Forward difference quotient.
Shortens the signal by one.
Inverts Synthesizer.Generic.Filter.Recursive.Integration.run in the sense that
differentiate (zero : integrate x) == x.
The signal is shifted by a half time unit.
|
|
|
Central difference quotient.
Shortens the signal by two elements,
and shifts the signal by one element.
(Which can be fixed by prepending an appropriate value.)
For linear functions this will yield
essentially the same result as differentiate.
You obtain the result of differentiateCenter
if you smooth the one of differentiate
by averaging pairs of adjacent values.
ToDo: Vector variant
|
|
|
Second derivative.
It is differentiate2 == differentiate . differentiate
but differentiate2 should be faster.
|
|
Produced by Haddock version 2.4.2 |