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

Safe HaskellNone

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

functionSource

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