Skip to content

Instantly share code, notes, and snippets.

@lvm
Last active May 18, 2017 01:33
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save lvm/57d387ffa8ac4e7c30ba1c1654ccaf52 to your computer and use it in GitHub Desktop.
Save lvm/57d387ffa8ac4e7c30ba1c1654ccaf52 to your computer and use it in GitHub Desktop.
TempoClock.default.tempo = 2;
(
~bus.free;
~nowhere.free;
~bus = Bus.audio(s, numChannels:2);
~nowhere = Bus.audio(s, numChannels:2);
~dirt.orbits[0].outBus = ~bus;
~dirt.orbits[1].outBus = ~nowhere;
Ndef(\x, {
var control = InBus.ar(~dirt.orbits[1].dryBus, 2).sum;
var dirt = InBus.ar(~bus, 2);
Compander.ar(dirt, control, thresh:0.01, slopeBelow:1, slopeAbove: 0.1, clampTime:0.02, relaxTime:0.25)
}).play;
)
(
SynthDef(\tah, {
|out=0, attack, sustain, release, rq=0.25, pan=0.5, control=1, freq|
var sig, env;
env = EnvGen.ar(Env.perc(attackTime: attack, releaseTime: release), timeScale: sustain, doneAction: 2);
sig = RHPF.ar(PinkNoise.ar(SinOsc.kr(control.clip(0.01, 10))) * env, freq.clip(666,13337), rq);
//sig = sig * env;
OffsetOut.ar(out, DirtPan.ar(sig, ~dirt.numChannels, pan, env));
}, metadata: (credit: "http://github.com/lvm/balc")).add;
)
(
Pdef(\b,
Pbind(
\type, \dirt,
\s, \tah,
\dur, Pxrand([1/4, 1/2, 1/2, 1/2, 1/4, 1, 1],inf)*Pxrand([1, 0.5],inf),
\attack, 0.1,
\sustain, 2+Pkey(\dur),
\release, Pkey(\dur)+1,
\contro, Pwhite(0.1, 10, inf),
\wah, 2,
\tremolo, 10,
\orbit, 1,
).collect({|k| ~kev = k })
).play(quant:4);
Pdef(\a,
Pbind(
\type, \dirt,
\s, \supercomparator,
\gain, 0.9,
\octave, 4, //Pxrand([4,3],inf), //Pwhite(3,4,inf),
\n, Pseq([[0,3,6,10]], inf), //+Pxrand([1,3,6,8,10],inf), // bdim7b5]
//Pxrand([ 0, 2, 4, 7, 9 ], inf), //Pxrand(Scale.choose(5, 12), inf),
\dur, 4, //Pxrand([1/2,3/4,1/4,1,1/2],inf) + Pfunc{ ~kev[\dur] },
\attack, 1,
\cutoff, Pseq((4..10)++(9..3),inf) * 100,
\sustain, Pkey(\dur)+Pfunc{ ~kev[\dur] },
\release, Pkey(\dur),
\shape, Pwhite(0.01, 0.9,inf),
\resonance, Pkey(\cutoff)/4000, //0.25, //Pseq((2..3)/10, inf),
//\vowel, \a,
/*\delay, 1,
\delayfeedback, 0.5,
\delaytime, Pxrand([0.75, 0.25, 0.5, 0.125],inf),*/
//\coarse, 3,
\room, 0.9,
\size, 0.9,
\orbit, 0,
)
).play(quant: 4);
)
((4..10)++(9..3)*100)/4000
(
Pdef(\y,
Pbind(
\type, \dirt,
\s, \dirac,
\gain, Pxrand(Bjorklund(3,8),inf), //Pfunc{ ~kev[\gain] }+0.2,
\dur, Pfunc{ ~kev[\dur] },
\sustain, 0.5,
\release, 0.15,
\delay, 1,
\delayfeedback, 1,
\delaytime, Pxrand([0.75, 0.25, 0.5, 0.125],inf),
\room, 0.9,
\size, 0.9,
\orbit, 8,
)
).play(quant: 4); //Quant(4, timingOffset: 1/4));
)
Pdef(\y).stop
Pdef.all.do{ |p| p.stop; };
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment