hsc3-0.14: Sound/SC3/UGen/Noise/Monad.hs
-- | Monad constructors for noise 'UGen's.
module Sound.SC3.UGen.Noise.Monad where
import Sound.SC3.UGen.Noise.ID as N
import Sound.SC3.UGen.Rate
import Sound.SC3.UGen.Type
import Sound.SC3.UGen.UId
-- | Brown noise.
brownNoise :: (UId m) => Rate -> m UGen
brownNoise = liftUId N.brownNoise
-- | Clip noise.
clipNoise :: (UId m) => Rate -> m UGen
clipNoise = liftUId N.clipNoise
-- | Randomly pass or block triggers.
coinGate :: (UId m) => UGen -> UGen -> m UGen
coinGate = liftUId2 N.coinGate
-- | Random impulses in (-1, 1).
dust2 :: (UId m) => Rate -> UGen -> m UGen
dust2 = liftUId2 N.dust2
-- | Random impulse in (0,1).
dust :: (UId m) => Rate -> UGen -> m UGen
dust = liftUId2 N.dust
-- | Random value in exponential distribution.
expRand :: (UId m) => UGen -> UGen -> m UGen
expRand = liftUId2 N.expRand
-- | Gray noise.
grayNoise :: (UId m) => Rate -> m UGen
grayNoise = liftUId N.grayNoise
-- | Random integer in uniform distribution.
iRand :: (UId m) => UGen -> UGen -> m UGen
iRand = liftUId2 N.iRand
-- | Clip noise.
lfClipNoise :: (UId m) => Rate -> UGen -> m UGen
lfClipNoise = liftUId2 N.lfClipNoise
-- | Dynamic clip noise.
lfdClipNoise :: (UId m) => Rate -> UGen -> m UGen
lfdClipNoise = liftUId2 N.lfdClipNoise
-- | Dynamic step noise.
lfdNoise0 :: (UId m) => Rate -> UGen -> m UGen
lfdNoise0 = liftUId2 N.lfdNoise0
-- | Dynamic ramp noise.
lfdNoise1 :: (UId m) => Rate -> UGen -> m UGen
lfdNoise1 = liftUId2 N.lfdNoise1
-- | Dynamic quadratic noise
lfdNoise2 :: (UId m) => Rate -> UGen -> m UGen
lfdNoise2 = liftUId2 N.lfdNoise2
-- | Dynamic cubic noise
lfdNoise3 :: (UId m) => Rate -> UGen -> m UGen
lfdNoise3 = liftUId2 N.lfdNoise3
-- | Step noise.
lfNoise0 :: (UId m) => Rate -> UGen -> m UGen
lfNoise0 = liftUId2 N.lfNoise0
-- | Ramp noise.
lfNoise1 :: (UId m) => Rate -> UGen -> m UGen
lfNoise1 = liftUId2 N.lfNoise1
-- | Quadratic noise.
lfNoise2 :: (UId m) => Rate -> UGen -> m UGen
lfNoise2 = liftUId2 N.lfNoise2
-- | Random value in skewed linear distribution.
linRand :: (UId m) => UGen -> UGen -> UGen -> m UGen
linRand = liftUId3 N.linRand
-- | Random value in sum of n linear distribution.
nRand :: (UId m) => UGen -> UGen -> UGen -> m UGen
nRand = liftUId3 N.nRand
-- | Pink noise.
pinkNoise :: (UId m) => Rate -> m UGen
pinkNoise = liftUId N.pinkNoise
-- | Random value in uniform distribution.
rand :: (UId m) => UGen -> UGen -> m UGen
rand = liftUId2 N.rand
-- | Random value in exponential distribution on trigger.
tExpRand :: (UId m) => UGen -> UGen -> UGen -> m UGen
tExpRand = liftUId3 N.tExpRand
-- | Random integer in uniform distribution on trigger.
tIRand :: (UId m) => UGen -> UGen -> UGen -> m UGen
tIRand = liftUId3 N.tIRand
-- | Random value in uniform distribution on trigger.
tRand :: (UId m) => UGen -> UGen -> UGen -> m UGen
tRand = liftUId3 N.tRand
-- | Triggered windex.
tWindex :: (UId m) => UGen -> UGen -> UGen -> m UGen
tWindex = liftUId3 N.tWindex
-- | White noise.
whiteNoise :: (UId m) => Rate -> m UGen
whiteNoise = liftUId N.whiteNoise