|
|
|
|
@ -66,31 +66,4 @@ s.waitForBoot({
|
|
|
|
|
\out, ~revbus
|
|
|
|
|
).play(t)
|
|
|
|
|
});
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(
|
|
|
|
|
SynthDef(\rhubarb, {
|
|
|
|
|
var bn, pn, osc, sig, env, freq = \freq.ir(440);
|
|
|
|
|
bn = BrownNoise.ar(0.02); // Subtle noise for warmth
|
|
|
|
|
bn = BPF.ar(bn, freq * {Rand(-0.1, 0.1).midiratio}.dup(4), \rq.ir(0.01), 8);
|
|
|
|
|
|
|
|
|
|
osc = LFSaw.ar([freq, freq * 1.01, freq * 0.99], {Rand(0.48, 0.52)}.dup(3)); // Multiple detuned oscillators
|
|
|
|
|
|
|
|
|
|
// Removed aggressive band-limiting for more high-end content
|
|
|
|
|
osc = osc * LFDNoise3.kr(0.1!4).exprange(1.1, 1.5);
|
|
|
|
|
osc = Fold.ar(osc, -1, 1);
|
|
|
|
|
osc = LPF.ar(osc, 2000, 0.4); // Analog-style low-pass filter with resonance
|
|
|
|
|
|
|
|
|
|
env = Env.asr(\atk.kr(0.1), \sus.kr(1), \rel.kr(2), \crv.ir(-2)).ar(2, \gate.kr(1));
|
|
|
|
|
|
|
|
|
|
sig = bn + osc + PinkNoise.ar(0.015!4 * LFDNoise3.kr(1).exprange(0.35, 1));
|
|
|
|
|
sig = sig * LFDNoise3.kr(0.1!4).exprange(1.1, 1.2);
|
|
|
|
|
sig = Splay.ar(sig);
|
|
|
|
|
sig = sig.tanh * 0.15; // Subtle distortion for warmth
|
|
|
|
|
sig = sig * env;
|
|
|
|
|
|
|
|
|
|
Out.ar(\out.ir(0), sig);
|
|
|
|
|
}).add;
|
|
|
|
|
)
|