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

Synthesizer.Interpolation.Custom

Description

Special interpolations defined in terms of our custom Interpolation class.

Synopsis

# Documentation

data T t y Source

interpolation as needed for resampling

constant :: T t ySource

Consider the signal to be piecewise constant, where the leading value is used for filling the interval [0,1).

linear :: C t y => T t ySource

Consider the signal to be piecewise linear.

cubic :: (C t, C t y) => T t ySource

Consider the signal to be piecewise cubic, with smooth connections at the nodes. It uses a cubic curve which has node values x0 at 0 and x1 at 1 and derivatives (x1-xm1)2 and (x2-x0)2, respectively. You can see how it works if you evaluate the expression for t=0 and t=1 as well as the derivative at these points.

piecewise :: C t y => Int -> [t -> t] -> T t ySource

List of functions must be non-empty.

piecewiseLinear :: C t y => T t ySource

piecewiseCubic :: (C t, C t y) => T t ySource

Arguments

 :: C t y => (Int, Int) `(left extent, right extent)`, e.g. `(1,1)` for linear hat -> (t -> t) -> T t y

with this wrapper you can use the collection of interpolating functions from Donadio's DSP library