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

Portability requires multi-parameter type classes provisional synthesizer@henning-thielemann.de

Synthesizer.Plain.Filter.Recursive.SecondOrder

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.

Synopsis

# Documentation

data Parameter a Source

Parameters for a general recursive filter of 2nd order.

Constructors

 Parameter Fieldsc0 :: !a c1 :: !a c2 :: !a d1 :: !a d2 :: !a

Instances

 Functor Parameter Applicative Parameter Foldable Parameter Traversable Parameter C a v => C a (Parameter v) Show a => Show (Parameter a) Storable a => Storable (Parameter a)

data State a Source

Constructors

 State Fieldsu1 :: !a u2 :: !a y1 :: !a y2 :: !a

Instances

 Functor State Applicative State Foldable State Traversable State Show a => Show (State a) Storable a => Storable (State a)

adjustPassband :: C a => Passband -> (a -> Parameter a) -> a -> Parameter aSource

Given a function which computes the filter parameters of a lowpass filter for a given frequency, turn that into a function which generates highpass parameters, if requested filter type is Highpass.

amplify :: C a => a -> Parameter a -> Parameter aSource

Change filter parameter such that result is amplified by a given factor.

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

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

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

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

runInit :: (C a, C a v) => State v -> T (Parameter a) -> T v -> T vSource

run :: (C a, C a v) => T (Parameter a) -> T v -> T vSource