synthesizer-filter- Audio signal processing coded in Haskell: Filter networks

Safe HaskellNone




type Signal = [] Source #

delay :: C v => Int -> Signal v -> Signal v Source #

shift signal in time

delayOnce :: C v => Signal v -> Signal v Source #

nonRecursiveFilter :: C a v => [a] -> [v] -> [v] Source #

Unmodulated non-recursive filter

nonRecursiveFilterMod :: C a v => [[a]] -> [v] -> [v] Source #

Modulated non-recursive filter.

data T t a v Source #

Description of a basic filter that can be used in larger networks.


Mask [a]

A static filter described by its mask

ModMask (Signal [a])

A modulated filter described by a list of masks

FracDelay (T t v) t

Delay the signal by a fractional amount of samples. This is achieved by interpolation.

ModFracDelay (T t v) (Signal t)

Delay with varying delay times. The delay times sequence must monotonically decrease. (This includes constant parts!)

Delay [v]

Delay the signal by prepending another one

Filter [] T Source # 
Instance details

Defined in Synthesizer.Filter.OneWay


apply :: (C t, C t, C a v, C a [v]) => T t a v -> [v] -> [v] Source #

transferFunction :: (C t, C a t) => T t a v -> t -> T0 t Source #