Skip to content

Instantly share code, notes, and snippets.

@snailmusic
Created September 30, 2022 02:28
Show Gist options
  • Save snailmusic/e0663887e825ef2fc5db774f31b82178 to your computer and use it in GitHub Desktop.
Save snailmusic/e0663887e825ef2fc5db774f31b82178 to your computer and use it in GitHub Desktop.
(
SynthDef.new(\raindrop, {
arg freq=800, vol=0.1, decay=0.1, pan=0, out=0, minspeed=0.2, maxspeed=3;
var sig, sig2, env, env2, pulseSpeed;
pulseSpeed = LFNoise0.kr(5).range(minspeed, maxspeed);
env = EnvGen.kr(Env.perc(releaseTime:decay), Trig.kr(
Impulse.kr(
pulseSpeed
)
));
env2 = EnvGen.kr(Env.perc(releaseTime:decay/2), Trig.kr(
Impulse.kr(
pulseSpeed
)
));
sig2 = WhiteNoise.ar() * env2;
sig2 = HPF.ar(sig2, 2000);
sig2 = sig2 * 0.2;
sig = WhiteNoise.ar();
sig = BPF.ar(sig, freq);
// sig = LPF.ar(sig, 1000);
sig = sig * env;
sig = sig * 0.7;
sig = sig + sig2;
sig = sig * vol;
sig = Pan2.ar(sig, pan);
Out.ar(out, sig);
}).add();
SynthDef.new(\rainswell, {
arg out=0, speed=0.2, vol=0.3, fmin=100, fmax=1000;
var sig;
sig = WhiteNoise.ar();
sig = BPF.ar(sig, LFNoise1.kr(speed).exprange(fmin, fmax));
sig = sig * vol * LFNoise1.kr(speed).range(0.5, 0.9);
sig = Pan2.ar(sig, LFNoise1.kr(speed).range(-0.2, 0.2));
Out.ar(out, sig);
}).add();
)
// TODO: Thunder
~swells = Synth.new(\rainswell);
~swells.set(\vol, 0.1);
(
60.do{Synth.new(\raindrop, [
\freq, exprand(300, 1000),
\pan, rrand(-0.3, 0.3),
\vol, rrand(0.01, 0.14),
\minspeed, rrand(0.1, 0.3),
\maxspeed, rrand(2.1, 4)
])}
)
Synth.new(\raindrop);
(
p = Pbind(
\instrument, \raindrop,
\dur, Pwhite(0.01, 0.1, inf),
\freq, Pwhite(300, 1000, inf),
\pan, Pwhite(-0.3, 0.3, inf),
\vol, Pwhite(0.01, 0.14)
).play();
)
@snailmusic
Copy link
Author

run the synthdef 1-38
then 45-53
then 42

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment