1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
|
// some more tests
(
{
var x, y, rate, a, b;
b = LocalBuf(1);
rate = MouseX.kr(100, SampleRate.ir);
a = 0.1;
x = Dbufrd(b); // read from buffer
x = x + a;
x = if(x > 1, Dwhite(-1, 1, inf), x);
y = Dbufwr(x, b); // write to buffer
Duty.ar(1 / rate, 0, y) * 0.1.dup;
}.scope;
)
(
{
var x, y, rate, a, mod, b;
b = LocalBuf(1);
rate = SampleRate.ir;
a = 0.1;
mod = Drand([Dseries(-1, 0.01, 200), Dseries(1, -0.1, 20)], inf);
x = Dbufrd(b); // read from buffer
x = x + a;
x = if(x.abs < 0.1, x * mod, x);
x = x.wrap2(1.0);
y = Dbufwr(x, b); // write to buffer
Duty.ar(1 / rate, 0, y) * 0.1.dup;
}.scope;
)
(
{
var x, y, rate, a, mod, b;
b = LocalBuf(1);
rate = SampleRate.ir;
a = 0.1 * 0.8;
mod = Drand([Dseries(-1, 0.01, MouseX.kr(0, 200)), Dseries(1, -0.1, MouseY.kr(0, 200))], inf);
x = Dbufrd(b); // read from buffer
x = x + a;
x = if(x.abs < 0.1, x * mod, x);
x = x.wrap2(1.0);
y = Dbufwr(x, b); // write to buffer
Duty.ar(1 / rate, 0, y) * 0.1.dup;
}.scope;
)
// brown noise
(
{
var x, y, rate, a, mod, b;
b = LocalBuf(1);
rate = SampleRate.ir;
a = Dwhite(-1, 1, inf) * 0.2;
x = Dbufrd(b); // read from buffer
x = x + a;
x = x.fold2(1.0);
y = Dbufwr(x, b); // write to buffer
Duty.ar(1 / rate, 0, y) * 0.1.dup;
}.scope;
)
// harsher brown noise
(
{
var x, y, rate, a, mod, b;
b = LocalBuf(1);
rate = SampleRate.ir;
a = Dwhite(-1, 1, inf) * Drand([0.2, 0.2, 1, 10], inf);
x = Dbufrd(b); // read from buffer
x = x + a;
x = x.fold2(1.0);
y = Dbufwr(x, b); // write to buffer
Duty.ar(1 / rate, 0, y) * 0.1.dup;
}.scope;
)
// other noise
(
{
var b = LocalBuf(1);
var read = { Dbufrd(b) };
var write = { |x| Dbufwr(x, b) };
var x, y, rate, a, mod;
rate = SampleRate.ir;
a = Dwhite(-1, 1, inf);
x = read; // read from buffer
x = x ** a + 1;
x = x.fold2(1.0);
y = write.(x); // write to buffer
Duty.ar(1 / rate, 0, y) * 0.1.dup;
}.scope;
)
|