vivid-0.2.0.0: Vivid/UGens/Generators/Stochastic.hs
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE NoIncoherentInstances #-}
{-# LANGUAGE NoMonomorphismRestriction #-}
{-# LANGUAGE NoUndecidableInstances #-}
module Vivid.UGens.Generators.Stochastic (
brownNoise
, clipNoise
--- , coinGate
--- , crackle
, dust
, dust2
--- , gendy1
--- , gendy2
--- , gendy3
, grayNoise
, lfClipNoise
, lfdClipNoise
, lfdNoise0
, lfdNoise1
, lfdNoise3
, lfNoise0
, lfNoise1
, lfNoise2
, pinkNoise
--- , randID
--- , randSeed
-- In Vivid.UGens.Filters.Pitch:
-- , vibrato
, whiteNoise
) where
import Vivid.SynthDef
import Vivid.SynthDef.FromUA
import Vivid.UGens.Args
-- | \"Generates noise whose spectrum falls off in power by 6 dB per octave.\"
brownNoise :: SDBody' a Signal
brownNoise = addUGen $ UGen (UGName_S "BrownNoise") AR [] 1
-- | \"Generates noise whose values are either -1 or 1. This produces the maximum energy for the least peak to peak amplitude.\"
clipNoise :: SDBody' a Signal
clipNoise = addUGen $ UGen (UGName_S "ClipNoise") AR [] 1
--- coinGate ::
--- coinGate =
--- crackle ::
--- crackle =
-- | \"Generates random impulses from -1 to +1.\"
dust :: (Args '["density"] '[] a) => a -> SDBody a Signal
dust = makeUGen
"Dust" AR
(Vs::Vs '["density"])
NoDefaults
-- | \"Generates random impulses from -1 to +1.\"
dust2 :: (Args '["density"] '[] a) => a -> SDBody a Signal
dust2 = makeUGen
"Dust2" AR
(Vs::Vs '["density"])
NoDefaults
--- gendy1 ::
--- gendy1 =
--- gendy2 ::
--- gendy2 =
--- gendy3 ::
--- gendy3 =
-- | \"Generates noise which results from flipping random bits in a word. This type of noise has a high RMS level relative to its peak to peak level. The spectrum is emphasized towards lower frequencies.\"
grayNoise :: SDBody' a Signal
grayNoise = addUGen $ UGen (UGName_S "GrayNoise") AR [] 1
-- | E.g.
--
-- > play $ 0.1 ~* lfClipNoise (freq_ $ xLine (start_ 1e3, end_ 1e4, secs_ 10))
lfClipNoise :: (Args '[] '["freq"] a) => a -> SDBody a Signal
lfClipNoise = makeUGen
"LFClipNoise" AR
(Vs::Vs '["freq"])
(freq_ (500::Float))
-- | \"Like LFClipNoise, it generates the values -1 or +1 at a rate given by the freq argument, with two differences:
-- \" - no time quantization
-- \" - fast recovery from low freq values
-- \" If you don't need very high or very low freqs, or use fixed freqs, LFDClipNoise is more efficient."
lfdClipNoise :: (Args '[] '["freq"] a) => a -> SDBody a Signal
lfdClipNoise = makeUGen
"LFDClipNoise" AR
(Vs::Vs '["freq"])
(freq_ (500::Float))
lfdNoise0 :: (Args '[] '["freq"] a) => a -> SDBody a Signal
lfdNoise0 = makeUGen
"LFDNoise0" AR
(Vs::Vs '["freq"])
(freq_ (500::Float))
lfdNoise1 :: (Args '[] '["freq"] a) => a -> SDBody a Signal
lfdNoise1 = makeUGen
"LFDNoise1" AR
(Vs::Vs '["freq"])
(freq_ (500::Float))
lfdNoise3 :: (Args '[] '["freq"] a) => a -> SDBody a Signal
lfdNoise3 = makeUGen
"LFDNoise3" AR
(Vs::Vs '["freq"])
(freq_ (500::Float))
-- | Freq is \"approximate rate at which to generate random values\"
lfNoise0 :: (Args '[] '["freq"] a) => a -> SDBody a Signal
lfNoise0 = makeUGen
"LFNoise0" AR
(Vs::Vs '["freq"])
(freq_ (500::Float))
-- | Freq is \"approximate rate at which to generate random values\"
lfNoise1 :: (Args '[] '["freq"] a) => a -> SDBody a Signal
lfNoise1 = makeUGen
"LFNoise1" AR
(Vs::Vs '["freq"])
(freq_ (500::Float))
-- | Freq is \"approximate rate at which to generate random values\"
lfNoise2 :: (Args '[] '["freq"] a) => a -> SDBody a Signal
lfNoise2 = makeUGen
"LFNoise2" AR
(Vs::Vs '["freq"])
(freq_ (500::Float))
-- | \"Generates noise whose spectrum falls off in power by 3 dB per octave. This gives equal power over the span of each octave. This version gives 8 octaves of pink noise.\"
pinkNoise :: SDBody' a Signal
pinkNoise = addUGen $ UGen (UGName_S "PinkNoise") AR [] 1
--- randID ::
--- randID =
--- randSeed ::
--- randSeed =
-- | \"Generates noise whose spectrum has equal power at all frequencies.\"
whiteNoise :: SDBody' a Signal
whiteNoise = addUGen $ UGen (UGName_S "WhiteNoise") AR [] 1