A linear-interpolating sound generator based on the difference equation:
x(n+1) = a - b * sqrt(|x(n)|)
sclang code translation:
( var a = 1.0, b = 1.9, xi = 0, size = 64; plot(size.collect { xi = a - (b * sqrt(abs(xi))) }); )
freq |
Iteration frequency in Hertz |
a |
Equation variable |
b |
Equation variable |
xi |
Initial value of x |
// vary frequency { CuspL.ar(MouseX.kr(20, SampleRate.ir), 1.0, 1.99) * 0.3 }.play(s); // mouse-controlled params { CuspL.ar(SampleRate.ir/4, MouseX.kr(0.9,1.1,1), MouseY.kr(1.8,2,1)) * 0.3 }.play(s); // as a frequency control { SinOsc.ar(CuspL.ar(40, MouseX.kr(0.9,1.1,1), MouseY.kr(1.8,2,1))*800+900)*0.4 }.play(s);