synthesizer-core-0.8.0.2: Audio signal processing coded in Haskell: Low level part

Copyright(c) Henning Thielemann 2008
LicenseGPL
Maintainersynthesizer@henning-thielemann.de
Stabilityprovisional
Portabilityrequires multi-parameter type classes
Safe HaskellNone
LanguageHaskell2010

Synthesizer.Generic.Filter.Recursive.Comb

Description

Comb filters, useful for emphasis of tones with harmonics and for repeated echos.

Synopsis

Documentation

karplusStrong :: (C t, C t y, Write sig y) => Parameter t -> sig y -> sig y Source #

The most simple version of the Karplus-Strong algorithm which is suitable to simulate a plucked string. It is similar to the runProc function.

run :: (C t y, Write sig y) => Int -> t -> sig y -> sig y Source #

Infinitely many equi-delayed exponentially decaying echos. The echos are clipped to the input length. We think it is easier (and simpler to do efficiently) to pad the input with zeros or whatever instead of cutting the result according to the input length.

runMulti :: (C t y, Write sig y) => [Int] -> t -> sig y -> sig y Source #

Echos of different delays. Chunk size must be smaller than all of the delay times.

runProc :: (C y, Write sig y) => Int -> (sig y -> sig y) -> sig y -> sig y Source #

Echos can be piped through an arbitrary signal processor.