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

Portabilityrequires multi-parameter type classes
Stabilityprovisional
Maintainersynthesizer@henning-thielemann.de
Safe HaskellNone

Synthesizer.Plain.Filter.Recursive.SecondOrderCascade

Description

All recursive filters with real coefficients can be decomposed into first order and second order filters with real coefficients. This follows from the Fundamental theorem of algebra.

This implements a cascade of second order filters using StorableVectors for state and filter parameters.

Documentation

newtype Parameter a Source

Constructors

Parameter (Vector (Parameter a)) 

Instances

(C a v, Storable v) => C a (Parameter v) 

type State a = Vector (State a)Source

checkSizes :: String -> Vector a -> Vector b -> c -> cSource

withSizeCheck :: String -> (Vector a -> Vector b -> c) -> Vector a -> Vector b -> cSource

step :: (C a, C a v, Storable a, Storable v) => Parameter a -> v -> State (State v) vSource

modifierInit :: (C a, C a v, Storable a, Storable v) => Initialized (State v) (State v) (Parameter a) v vSource

modifier :: (C a, C a v, Storable a, Storable v) => Int -> Simple (State v) (Parameter a) v vSource

causal :: (C a, C a v, Storable a, Storable v) => Int -> T (Parameter a, v) vSource