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





mix :: (C v, Arrow arrow) => arrow (v, v) vSource

Mix two signals. Unfortunately we have to use zipWith semantic here, that is the result is as long as the shorter of both inputs.

raise :: (C v, Arrow arrow) => v -> arrow v vSource

Add a number to all of the signal values. This is useful for adjusting the center of a modulation.


distort :: Arrow arrow => (c -> a -> a) -> arrow (c, a) aSource

In Synthesizer.Basic.Distortion you find a collection of appropriate distortion functions.

Preprocessing of control curves

mapLinear :: (C a, Arrow arrow) => a -> a -> arrow a aSource

mapExponential :: (C a, Arrow arrow) => a -> a -> arrow a aSource