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



Noise and random processes. This uses a fast reimplementation of System.Random.randomR since the standard function seems not to be inlined (at least in GHC-6.8.2).



white :: (C y, Random y) => T ySource

Deterministic white noise, uniformly distributed between -1 and 1. That is, variance is 1/3.

whiteGen :: (C y, Random y, RandomGen g) => g -> T ySource

whiteQuadraticBSplineGen :: (C y, Random y, RandomGen g) => g -> T ySource

Approximates normal distribution with variance 1 by a quadratic B-spline distribution.



:: (C y, Random y) 
=> T y

momentary densities, p means that there is about one peak in the time range of 1/p samples

-> T Bool

Every occurence of True represents a peak.

randomPeeksGen :: (C y, Random y, RandomGen g) => g -> T y -> T BoolSource

randomRs :: (C y, Random y, RandomGen g) => (y, y) -> g -> T ySource

randomR :: (RandomGen g, C y) => (y, y) -> g -> (y, g)Source