class library: SynthDef - lazy implementation of removeUGen
[supercollider.git] / HelpSource / Classes / LatoocarfianC.schelp
bloba37de84c03f22f67d3262353c7879622c27d92ba
1 class:: LatoocarfianC
2 summary:: Latoocarfian chaotic generator
3 categories:: UGens>Generators>Chaotic
4 related:: Classes/LatoocarfianN, Classes/LatoocarfianL
6 description::
7 A cubic-interpolating sound generator based on a function given in Clifford Pickover's book Chaos In Wonderland, pg 26. The function is:
9 code::
10         x[n+1] = sin(b * y[n]) + c * sin(b * x[n])
11         y[n+1] = sin(a * y[n]) + d * sin(a * x[n])
13 warning:: revise formulae conversion to c like code ::
15 According to Pickover, parameters code::a:: and code::b:: should be in the range from -3 to +3, and parameters code::c:: and code::d:: should be in the range from 0.5 to 1.5. The function can, depending on the parameters given, give continuous chaotic output, converge to a single value (silence) or oscillate in a cycle (tone).
17 note::This UGen is experimental and not optimized currently, so is rather hoggish of CPU.::
19 classmethods::
20 method:: ar
21 argument:: freq
22 Iteration frequency in Hertz
23 argument:: a
24 Equation variable
25 argument:: b
26 Equation variable
27 argument:: c
28 Equation variable
29 argument:: d
30 Equation variable
31 argument:: xi
32 Initial value of x
33 argument:: yi
34 Initial value of y
36 examples::
37 code::
38 // default initial params
39 { LatoocarfianC.ar(MouseX.kr(20, SampleRate.ir)) * 0.2 }.play(s);
42 code::
43 // randomly modulate all params
45 { LatoocarfianC.ar(
46         SampleRate.ir/4,
47         LFNoise2.kr(2,1.5,1.5),
48         LFNoise2.kr(2,1.5,1.5),
49         LFNoise2.kr(2,0.5,1.5),
50         LFNoise2.kr(2,0.5,1.5)
51 ) * 0.2 }.play(s);