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 |
- newtype Parameter a = Parameter [a]
- shiftParam :: (Scalar a, Fractional a, C a) => Int -> a -> a -> Parameter a
- makePhase :: (C a, C a) => Parameter a -> a -> a
- scalarProdScrewExp :: C a => a -> Int -> a -> Int -> Int -> a
- screwProd :: C a => Int -> a -> Int -> Int -> a -> a
- integrateScrewExp :: C a => a -> Int -> (a, a)
- integrateNum :: (C a, C a v) => Int -> (a, a) -> (a -> v) -> v
Documentation
shiftParam :: (Scalar a, Fractional a, C a) => Int -> a -> a -> Parameter a Source #
Compute coefficients for an allpass that shifts low frequencies by approximately the shift you want. To achieve this we solve a linear least squares problem, where low frequencies are more weighted than high ones. The output is a list of coefficients for an arbitrary order allpass.
integrateScrewExp :: C a => a -> Int -> (a, a) Source #