1 // julian rohrhuber (c 2007)
4 SynthDef("deepsea", { arg out, pan=0, amp=0.1, variation=0.9;
5 var dt, n, freq, mul, t, u;
7 dt = 25.0 + Rand(-1.7, 1.7);
8 dt = dt + LFNoise2.kr(2, variation) * 0.001;
9 freq = 901 + Rand(0, 65);
10 t = Impulse.ar(dt.reciprocal, 0, 100);
11 mul = PulseCount.ar(t) < n;
12 u = BPF.ar(mul * t, freq, 0.1);
13 u = BPF.ar(u, freq, 0.2);
14 DetectSilence.ar(u, doneAction:2);
15 Out.ar(out, Pan2.ar(u, pan, amp));
20 SynthDef("deepsea", { arg out, pan=0, amp=0.1, variation=0.9;
21 var dt, n, freq, mul, t, u, count;
23 dt = 25.0 + Rand(-1.7, 1.7);
24 dt = dt + LFNoise2.kr(2, variation) * 0.001;
25 freq = 901 + Rand(0, 65);
26 t = Impulse.ar(dt.reciprocal, 0, 100);
27 count = PulseCount.ar(t);
29 u = BPF.ar(mul * t, freq, 0.1);
30 u = BPF.ar(u, freq * (count % LFNoise1.kr(1).range(2, 20) + 1), 0.2);
31 DetectSilence.ar(u, doneAction:2);
32 Out.ar(out, Pan2.ar(u, pan, amp * 10));
38 s.sendMsg("/s_new", "deepsea", -1);
41 p = ProxySpace.push(s.boot);
48 \instrument, \deepsea,
49 \dur, Pfunc #{ rrand(9.0, 2.0) },
50 \pan, Pfunc #{ 1.0.rand2 }
55 ~out[1] = \filter -> #{ arg in; BPF.ar(in * 5, 700, 0.1) };
58 ~out[2] = \filter -> #{ arg in;
59 CombL.ar(LPF.ar(in * LFNoise1.kr(0.1).max(0), 800), 0.5, 0.5) + in.reverse
64 ~out[3] = \filter -> #{ arg in; var x; x = in;
65 5.do { x = AllpassN.ar(x, 0.18, {0.06.rand} ! 2 + 0.06, 8) };
66 LPF.ar(x + in, 400) + (LFNoise1.kr(0.2) * in)