Skip to content

Instantly share code, notes, and snippets.

@helmholtz
Last active December 28, 2015 04:17
Show Gist options
  • Save helmholtz/6680d83b0fb45915a00a to your computer and use it in GitHub Desktop.
Save helmholtz/6680d83b0fb45915a00a to your computer and use it in GitHub Desktop.
scotw-007: Music for a Cold Morning
s.boot; //.DISCUSSION
(
//AS OF 02:45 PM PST SUNDAY...
SynthDef(\click, {|freq=2000, amp=0.1, pan=0, rq=0.5, decay=0.1, out=0|
var noise = WhiteNoise.ar(amp);
var env = EnvGen.kr(Env.perc(0.001, decay), doneAction: 2);
var filter = BPF.ar(noise, freq, rq);
var sig = env*filter;
Out.ar(out, Pan2.ar(sig, pan));
}).add;
//WIDESPREAD NEAR TO SUBFREEZING TEMPERATURES WERE REPORTED ACROSS THE REGION
SynthDef(\brightTone, {|freq=440, amp=0.1, filter=2000, pan=0, out=0, release=4,release2=0.5|
var sig1 = Saw.ar(freq*[0.999,1.001],amp);
var env1 = EnvGen.kr(Env.perc(0.04,release), doneAction:2);
var sig2 = Saw.ar(freq*3,amp/2) + Saw.ar(freq*9,amp/4);
var env2 = EnvGen.kr(Env.perc(0.02,release2));
Out.ar(out, Pan2.ar(RLPF.ar((sig1*env1)+(sig2*env2), filter,0.5), pan))
}).add;
//WITH A FEW RECORD LOWS BROKEN...
SynthDef(\reverseTone, {|freq=440, amp=0.1, filter=2000, pan=0, out=0, release=4,release2=0.5|
var sig1 = Pulse.ar(freq*[0.999,1.001],0.5,amp);
var env1 = EnvGen.kr(Env.perc(release,0.04), doneAction:2);
var sig2 = Saw.ar(freq*3,amp/2) + Saw.ar(freq*9,amp/4);
var env2 = EnvGen.kr(Env.perc(0.02,release2));
Out.ar(out, Pan2.ar(RLPF.ar((sig1*env1)+(sig2*env2), filter,0.5), pan))
}).add;
//AND FOR MANY LOCATIONS...
SynthDef(\blip, {|freq=440,amp=0.1, pan=0,out=0|
var sig = SinOsc.ar(freq,0,amp);
var env = EnvGen.kr(Env.perc(0.001,0.1),doneAction:2);
Out.ar(out, Pan2.ar(sig*env,pan));
}).add;
//SOME OF THE COLDEST TEMPERATURES OF NOT ONLY THIS YEAR...
//BUT BACK TO THE COLD SNAP OF DECEMBER 2013
SynthDef(\channelGlitch, {|amp=1,in=16,out=0|
var sig = In.ar(in,2);
Out.ar(out, (sig*amp) + sig.squared);
}).add;
)
(
//THE COLDEST TEMPERATURES DROPPED PRIMARILY INTO THE LOWER 20S...
Pbind(
\freq, Pwhite(2000, 8000),
\dur, Pwrand([0.5,1,2,8],[3,2,1,1].normalizeSum, inf)*0.25,
\amp, Pwhite(0.005, 0.2)*4,
\pan, Pwhite(-0.7, 0.7),
\rq, Pwhite(0.5, 1.5),
\decay, Pwhite(0.005,0.02),
\instrument, \click,
\timingOffset, Pwhite(0,0.1)
).play;
//THESE COLD TEMPERATURES CAME ABOUT AFTER SEVERAL DAYS
//OF AN ANOMALOUSLY COLD AND DRY AIR MASS SETTLING INTO
//THE AREA IN THE WAKE OF LAST THURSDAYS STORM
Pbind(
\freq, Prand([1, 1.125, 1.5, 2, 2.25, 2.5, 3, 3.5], inf)*349,
\dur, Prand([Rest(4), 4, 8], inf),
\release, Prand([12,16,20],inf)*2,
\amp, Pexprand(0.005,0.05),
\pan, Pwhite(-0.8,0.8),
\filter, Pexprand(400,3000),
\out, 16,
\instrument, Prand([\brightTone,\reverseTone],inf)
).collect({|ev|
~freq=ev[\freq];
ev[\freq]=ev[\freq]*rrand(0.995,1.005);
ev}).play;
//THE COLDEST TEMPERATURES WERE NOT ISOLATED TO ANY ONE PARTICULAR REGION
Pbind(
\freq, Pfunc({~freq}) * Prand([1,2,3,4,5,6],inf),
\dur, Pwrand([4,0.125,0.0625],[1,8,4].normalizeSum,inf),
\amp, Pwhite(0.01,0.05),
\pan, Pwhite(-0.8,0.8),
\instrument, \blip
).play;
//AS A FEW VERY COLD TEMPERATURES HAVE BEEN OBSERVED IN MOST COUNTIES
Pmono(\channelGlitch,
\amp, Pseq([0,1],inf),
\dur, Pseq([Pwhite(0.01,0.05,1),Prand([0.1,4,12,16],1)],inf)
).play;
)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment