Copyright | (c) Henning Thielemann 2008 |
---|---|

License | GPL |

Maintainer | synthesizer@henning-thielemann.de |

Stability | provisional |

Portability | requires multi-parameter type classes |

Safe Haskell | None |

Language | Haskell2010 |

Butterworth lowpass and highpass

- type Parameter a = Parameter a
- causal :: (C a, C a v, Storable a, Storable v) => Int -> T (Parameter a, v) v
- causalPole :: (C a, C a v) => Passband -> Int -> T (Pole a, v) v
- highpassCausalPole :: (C a, C a v) => Int -> T (Pole a, v) v
- highpassPole :: (C a, C a v) => Int -> T a -> T a -> T v -> T v
- lowpassCausalPole :: (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
- modifier :: (C a, C a v, Storable a, Storable v) => Int -> Simple (State v) (Parameter a) v v
- parameter :: (C a, Storable a) => Passband -> Int -> Pole a -> Parameter a
- partialParameter :: C a => Passband -> a -> a -> a -> Parameter a
- runPole :: (C a, C a v) => Passband -> Int -> T a -> T a -> T v -> T v
- checkedHalf :: String -> Int -> Int
- partialRatio :: C a => Int -> a -> a
- makeSines :: C a => Int -> [a]

# Documentation

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

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

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).

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