4 // single sample feedback
10 var x, y, rate, a, c, m, b;
12 rate = MouseX.kr(100, SampleRate.ir);
16 x = Dbufrd(b); // read from buffer
19 y = Dbufwr(x, b); // write to buffer
20 Duty.ar(1 / rate, 0, y) * 0.1.dup;
28 var x, y, rate, a, c, m, b;
30 rate = MouseX.kr(100, SampleRate.ir);
34 x = Dbufrd(b); // read from buffer
36 y = Dbufwr(x, b); // write to buffer
37 Duty.ar(1 / rate, 0, y) * 0.1.dup;
42 // compare LinCongN and Duty
48 var x, y, rate, a, c, m, u1, u2, b;
50 rate = SampleRate.ir / 32;
54 x = Dbufrd(b); // read from buffer
56 y = Dbufwr(x, b); // write to buffer
57 u1 = LinCongN.ar(rate, a, c, m);
58 u2 = Duty.ar(1 / rate, 0, y);
60 // not exactly the same, but very similar. lincong uses doubles
66 // put in a delay line and some amplitude modulation and couple stereo pairs
69 var x, y, rate, a, c, m, z, b;
71 rate = MouseX.kr(100, SampleRate.ir) * [1, 1.2];
75 x = Dbufrd(b); // read from buffer
77 z = Duty.ar(1 / rate, 0, Dbufwr(x, b));// write to buffer
79 // insert a delay and some amplitude modulation
80 z = LFSaw.ar(MouseY.kr(1, 10000, 1)) * z;
81 z = DelayL.ar(z, 1, 1);
83 z = Duty.ar(1 / rate, 0, Dbufwr(z, b));// write to buffer