-- | 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