synthesizer-core-0.7.0.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.Butterworth

Contents

Description

Butterworth lowpass and highpass

Synopsis

Documentation

sineList :: C a => a -> [a]

sineListFast :: C a => a -> [a]

sineListSlow :: C a => a -> [a]

makeSines :: C a => Int -> [a]

partialRatio :: C a => Int -> a -> a

partialLowpassParameter :: C a => a -> a -> a -> Parameter a

use second order filter parameters for control

type Parameter a = Parameter a

parameter :: (C a, Storable a) => Passband -> Int -> Pole a -> Parameter a

partialParameter :: C a => Passband -> a -> a -> a -> Parameter a

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

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

directly use frequency as control parameter

runPole :: (C a, C a v) => Passband -> Int -> T a -> T a -> T v -> T v

When called as runPole kind order ratio freqs, the filter amplifies frequency 0 with factor 1 and frequency freq with factor ratio.

It uses the frequency and ratio information directly and thus cannot benefit from efficient parameter interpolation (asynchronous run of a ControlledProcess).

causalPole :: (C a, C a v) => Passband -> Int -> T (Pole a, v) v

lowpassCausalPole :: (C a, C a v) => Int -> T (Pole a, v) v

highpassCausalPole :: (C a, C a v) => Int -> T (Pole a, v) v

lowpassPole :: (C a, C a v) => Int -> T a -> T a -> T v -> T v

highpassPole :: (C a, C a v) => Int -> T a -> T a -> T v -> T v