vivid-0.3.0.0: Vivid/UGens/Generators/Chaotic.hs
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE NoIncoherentInstances #-}
{-# LANGUAGE NoMonomorphismRestriction #-}
{-# LANGUAGE NoUndecidableInstances #-}
module Vivid.UGens.Generators.Chaotic (
cuspL
, cuspN
--- , fbSineC
--- , fbSineL
--- , fbSineN
--- , gbmanL
--- , gbmanN
--- , henonC
--- , henonL
--- , henonN
--- , latoocarfianC
--- , latoocarfianL
--- , latoocarfianN
, linCongC
, linCongL
, linCongN
--- , logistic
--- , lorenzL
--- , quadC
--- , quadL
--- , quadN
--- , sinOscFB
--- , standardL
--- , standardN
) where
import Vivid.SC.SynthDef.Types (CalculationRate(..))
import Vivid.UGens.Args
import Vivid.SynthDef
import Vivid.SynthDef.FromUA
-- | "A linear-interpolating sound generator based on the difference equation:
--
-- x[n+1] = a - b * sqrt(abs(x[n]))"
--
-- Only has an AR instance
cuspL :: (Args '[] '["freq", "a", "b", "xi"] a) => a -> SDBody a Signal
cuspL = makeUGen
"CuspL" AR
(Vs::Vs '["freq", "a", "b", "xi"])
(freq_ (22050::Float), a_ (1::Float), b_ (1.9::Float), xi_ (0::Float))
-- | "A non-interpolating sound generator based on the difference equation:
--
-- x[n+1] = a - b * sqrt(abs(x[n]))"
--
-- Only has an AR instance.
cuspN :: (Args '[] '["freq", "a", "b", "xi"] a) => a -> SDBody a Signal
cuspN = makeUGen
"CuspN" AR
(Vs::Vs '["freq", "a", "b", "xi"])
(freq_ (22050::Float), a_ (1::Float), b_ (1.9::Float), xi_ (0::Float))
--- fbSineC ::
--- fbSineC =
--- fbSineL ::
--- fbSineL =
--- fbSineN ::
--- fbSineN =
--- gbmanL ::
--- gbmanL =
--- gbmanN ::
--- gbmanN =
--- henonC ::
--- henonC =
--- henonL ::
--- henonL =
--- henonN ::
--- henonN =
--- latoocarfianC ::
--- latoocarfianC =
--- latoocarfianL ::
--- latoocarfianL =
--- latoocarfianN ::
--- latoocarfianN =
-- | "A cubic-interpolating sound generator based on the difference equation:
--
-- x[n+1] = (a * x[n] + c) % m
--
-- The output signal is automatically scaled to a range of [-1, 1]."
--
-- Only has a "AR" method
linCongC :: (Args '[] '["freq", "a", "c", "m", "xi"] a) => a -> SDBody a Signal
linCongC = makeUGen
"LinCongC" AR
(Vs::Vs '["freq", "a", "c", "m", "xi"])
(freq_ (22050::Float), a_ (1.1::Float), c_ (0.13::Float), m_ (1::Float), xi_ (0::Float))
-- | "A linear-interpolating sound generator based on the difference equation:
--
-- x[n+1] = (a * x[n] + c) % m
--
-- The output signal is automatically scaled to a range of [-1, 1]."
--
-- Only has a "AR" method
linCongL :: (Args '[] '["freq", "a", "c", "m", "xi"] a) => a -> SDBody a Signal
linCongL = makeUGen
"LinCongL" AR
(Vs::Vs '["freq", "a", "c", "m", "xi"])
(freq_ (22050::Float), a_ (1.1::Float), c_ (0.13::Float), m_ (1::Float), xi_ (0::Float))
-- | "A non-interpolating sound generator based on the difference equation:
--
-- x[n+1] = (a * x[n] + c) % m
--
-- The output signal is automatically scaled to a range of [-1, 1]."
--
-- Only has a "AR" method
linCongN :: (Args '[] '["freq", "a", "c", "m", "xi"] a) => a -> SDBody a Signal
linCongN = makeUGen
"LinCongN" AR
(Vs::Vs '["freq", "a", "c", "m", "xi"])
(freq_ (22050::Float), a_ (1.1::Float), c_ (0.13::Float), m_ (1::Float), xi_ (0::Float))
--- logistic ::
--- logistic =
--- lorenzL ::
--- lorenzL =
--- quadC ::
--- quadC =
--- quadL ::
--- quadL =
--- quadN ::
--- quadN =
--- sinOscFB ::
--- sinOscFB =
--- standardL ::
--- standardL =
--- standardN ::
--- standardN =