We’ve updated our Terms of Use to reflect our new entity name and address. You can review the changes here.
We’ve updated our Terms of Use. You can review the changes here.

Instrumental 180220

from Demos etc. by The Wiggly Tendrils

subscriber exclusive

about

s.boot;

//time and tempo

(
~beatsPerMinute=100;
~beatsPerMeasure=4;
~swing=0.1;

~stepDur = (60/1)*(1/~beatsPerMinute)*(1/~beatsPerMeasure);
~swingA = ~stepDur+(~swing*~stepDur);
~swingB = ~stepDur-(~swing*~stepDur);

~groovyKick=(-1)*~stepDur/128;
~groovySnare=(1)*~stepDur/64;
~groovyHat=(1)*~stepDur/600;
~groovyClap=(1)*~stepDur/16;
~scale = Scale.locrian; //using locrian so i don't have zero index the scale degrees. it's really major.
~gain = 0.2;
)

//synthdefs

(
SynthDef(\clap, {
arg outBus=0, amp = 0.5, gain = 1.5;
var env1, env2, sig, noise1, noise2;
env1 = EnvGen.ar(Env.new([0, 1, 0, 1, 0, 1, 0, 1, 0], [0.001, 0.013, 0, 0.01, 0, 0.01, 0, 0.01], [0, -3, 0, -3, 0, -3, 0, -4]));
env2 = EnvGen.ar(Env.new([0, 1, 0], [0.02, 0.4], [0, -4]), doneAction:2);
noise1 = BPF.ar(HPF.ar(GrayNoise.ar(env1), 600), 2000, 3);
noise2 = BPF.ar(HPF.ar(GrayNoise.ar(env2), 1000), 1200, 0.7, 0.7);
sig = noise1 + noise2;
sig = sig * gain;
sig = LPF.ar(sig, 3000);
sig = sig.softclip * amp;
Out.ar(0, [sig,sig]);
}).play;
)

(
SynthDef(\kick,{
arg startFreq=50, endFreq=2, decay=0.5, lowpass=1000, amp=0.5, noiseAmp=0.3, gain=0.5, dur=0.6;
var sig, env, freq;
freq = XLine.kr(startFreq, endFreq, dur, 1, 0);
env = EnvGen.kr(Env.perc(0.0014, dur, 1, -5), 1, doneAction:2);
sig = {(LPF.ar(Ringz.ar(Impulse.ar(0), freq, decay), lowpass) * amp) ! 2};
//sig = sig + LPF.ar((noiseAmp*BrownNoise.ar(1)),lowpass);
sig = sig * gain * 4;
sig = sig.softclip * amp * env;
Out.ar(0, [sig,sig]);
}).play;
)

(
SynthDef(\snare,{
arg amp=0.75, freq=200, gain=1.1;
var env, sig, snare;
env = EnvGen.kr(Env.perc(0.001, 0.2, 2, -9), 1, doneAction:2);
sig = (SinOsc.ar(freq) - WhiteNoise.ar(0.5, 0.5)) * env * amp;
sig = sig * gain;
sig = sig.softclip * amp;
sig = LPF.ar(sig, 8000);
Out.ar(0, [sig,sig]);
}).play;
)

(
SynthDef(\hat,{
arg amp=0.75;
var env, sig, snare;
env = EnvGen.kr(Env.perc(0.001, 0.5, 1, -8), 1, doneAction:2);
sig = HPF.ar((WhiteNoise.ar(0.5, 0.5) * env * amp), 10000);
Out.ar(0, [sig,sig]);
}).play;
)

(
SynthDef.new(\Colleen, {
arg freq=110, atk=0.01, rel=0.5, amp=1, dur=0.2, pan = 0, out = 0;
var sig, env;
freq = freq*(565/250)*PinkNoise.kr(0.01,1);
sig = LPF.ar(CombC.ar(Decay.ar(Impulse.ar(0), 0.2, BrownNoise.ar), 4/(BrownNoise.kr(XLine.kr(10,1,0.2),freq)), 4/(PinkNoise.kr(XLine.kr(10,1,0.2),freq)), 3, 0.4),4000);
env = EnvGen.kr(Env.new([0,1,0],[atk,rel],[1,-1]),doneAction:2);
sig = sig + PinkNoise.ar(0.1);
sig = LPF.ar(sig, XLine.kr(500,5000,rel*0.1));
sig = (sig*env*amp);
sig = Pan2.ar(sig,pan);
Out.ar(out, sig);
}).play;
)

(
SynthDef.new(\Colleen2, {
arg freq=110, atk=0.01, rel=0.2, amp=1, dur=2, pan = 0, out = 0;
var sig, env;
freq = freq*(565/250)*PinkNoise.kr(0.04,1)*1;
sig = LPF.ar(CombC.ar(Decay.ar(Impulse.ar(0), 0.2, BrownNoise.ar), 4/(BrownNoise.kr(XLine.kr(10,1,0.2),freq)), 4/(PinkNoise.kr(XLine.kr(10,1,0.2),freq)), 3, 0.4),4000);
env = EnvGen.kr(Env.new([0,1,0],[atk,rel],[1,-1]),doneAction:2);
sig = sig + BrownNoise.ar(0.06);
//sig = LPF.ar(sig, XLine.kr(50,1000,PinkNoise.kr(1,2)*rel*0.1));
sig = (sig*env*amp)*2;
sig = Pan2.ar(sig,pan);
Out.ar(out, sig);
}).play;
)

(
SynthDef.new(\Klaus50, {
arg out = 0, freq=440, atk=0.01, rel=0.2, amp=0.5, dur=0.2, pan=0;
var sig, env;
freq = freq*(565/500)*PinkNoise.kr(0.05,1)*0.5;
sig = Klank.ar(`[ (1..50)*freq, 1/(1..50), nil ], PinkNoise.ar(1));
env = EnvGen.kr(Env.new([0,1,0],[atk,rel],[1,-1]),doneAction:2);
sig = (sig*env*amp)*0.02;
sig = LPF.ar(sig,4000)*10;
sig = Pan2.ar(sig,pan);
Out.ar(out, sig);
}).play;
)

//pdefs

(
Pdef(\bass,
Pbind(
\instrument, \Colleen2,
\lag, 0,
\octave, Pseq([4,4,5,4],inf)-1,
\scale, ~scale,
\dur, Pseq([~swingA,~swingB],inf),
\degree, Pseq([
Pseq([01,01,03,01, 05,01,07,01, 08,01,01,01, 05,Pshuf([01,03,01,],1),],4),
Pseq([04,04,06,04, Pshuf([08,04,10,04,],1), 11,04,04,04, Pshuf([08,04,06,04,],1),],2),
Pseq([01,01,03,01, 05,01,07,01, 08,01,01,01, 05,Pshuf([01,03,01,],1),],2),
Pseq([05,05,07,05, Pshuf([09,05,11,05,],1), 12,05,05,05, Pshuf([09,05,07,05,],1),],1),
Pseq([Pshuf([03,03,05,03,],1), Pshuf([07,03,09,03,],1), 10,03,03,03, Pshuf([10,03,12,03,],1),],1),
Pseq([01,01,03,01, 05,01,07,01, 08,01,01,01, 05,Pshuf([01,03,01,],1),],2),
], inf),
\amp, ~gain*3*Pseq([1,0,0,0, 1,0,0,1, 1,0,0,0, 1,Prand([0.5,0],1),Prand([0.5,0],1),Prand([0.5,0],1)],inf)*Prand([1],inf),
\pan, 0,
)
).play;

Pdef(\snare,
Pbind(
\instrument, \snare,
\lag, ~groovySnare,
\dur, Pseq([~swingA,~swingB],inf),
\amp, 0*Pseq([0,0,0,0, 0,0,0,0, 1,0,0,0, 0,0,0,0,],inf),
)
).play;

Pdef(\kick,
Pbind(
\instrument, \kick,
\lag, ~groovyKick,
\dur, Pwrand([Pseq([~swingA,~swingB],1),Pseq([~stepDur],2)],[0.5,0.5],inf),
\amp, ~gain*2*Pseq([1,0,0,Pwrand([1,0],[0.3,0.7],1), 0,0,Pshuf([0,1,],1), 1,0,0,0, 0,Prand([0.5,0],1),Prand([0.8,0],1),Prand([1,0],1)],inf),
)
).play;

Pdef(\hat,
Pbind(
\instrument, Pshuf([Pseq([\hat],64)],inf),
\lag, ~groovyHat,
\dur, Pseq([~swingA,~swingB],inf),
\degree, Pseq([0,1],inf),
\amp, ~gain*Pseq([1,0.8],inf)*1*Pseq([
0,0,0,0, 0,0,0,0, 0,0,0,0, 0,1,1,1,
], inf)*Pseq([0,1,1,1],inf),
)
).play;

Pdef(\clap,
Pbind(
\instrument, \clap,
\lag, ~groovyClap,
\dur, Pseq([~swingA,~swingB],inf),
\amp, ~gain*Pseq([0,0,0,0, 1,0,0,0,],inf)*3,
)
).play;

Pdef(\snare,
Pbind(
\instrument, \snare,
\lag, ~groovySnare,
\dur, Pseq([~swingA,~swingB],inf),
\amp, ~gain*Pseq([0,0,0,0, 1,0,0,0,],inf)*2,
)
).play;

Pdef(\arpegio1,
Pbind(
\instrument, Pseq([\Colleen2],inf),
\octave, Pshuf([
Pseq([5,Pwrand([4,6,5],[0.2,0.8],1),5,Pwrand([6,5],[0.2,0.8],1)],32),
Pseq([5,Pwrand([4,6,5],[0,1],1),5,Pwrand([6,5],[0,1],1)],64),
Pseq([5,Pwrand([4,6,5],[0.5,0.5],1),5,Pwrand([6,5],[0,1],1)],32),
Pseq([5,Pwrand([4,6,5],[0,1],1),5,Pwrand([6,5],[0.5,0.5],1)],32),
],inf)-1,
\scale, ~scale,
\lag, 0,
\dur, Pwrand([Pseq([~swingA,~swingB],1),Pseq([~stepDur],2)],[0.5,0.5],inf),
\atk, 0.01,
\rel, 2,
\amp, ~gain*1*Pseq([0,1,1,Prand([1,0],1)],inf)*Pseq([Pwrand([1,0],[0.1,0.9],8),Pwrand([1,0],[0.9,0.1],8),Pwrand([1,0],[0,1],8),Pwrand([1,0],[1,0],8)],inf)*Pseq([0,1,2,1],inf)*0.5*Prand([1],inf),
\degree, Pseq([
Pseq([01,01,03,01, 05,01,07,01, 08,01,01,01, 05,Pshuf([01,03,01,],1),],4),
Pseq([04,04,06,04, Pshuf([08,04,10,04,],1), 11,04,04,04, Pshuf([08,04,06,04,],1),],2),
Pseq([01,01,03,01, 05,01,07,01, 08,01,01,01, 05,Pshuf([01,03,01,],1),],2),
Pseq([05,05,07,05, Pshuf([09,05,11,05,],1), 12,05,05,05, Pshuf([09,05,07,05,],1),],1),
Pseq([Pshuf([03,03,05,03,],1), Pshuf([07,03,09,03,],1), 10,03,03,03, Pshuf([10,03,12,03,],1),],1),
Pseq([01,01,03,01, 05,01,07,01, 08,01,01,01, 05,Pshuf([01,03,01,],1),],2),
], inf),
\pan, -1,
)
).play;

Pdef(\arpegio2,
Pbind(
\instrument, Pseq([\Colleen2],inf),
\octave, Pseq([4,5,6],inf)+0,
\lag, 0,
\scale, ~scale,
\dur, Pwrand([Pseq([~swingA,~swingB],1),Pseq([~stepDur],2)],[0.5,0.5],inf),
\atk, 0.01,
\rel, 2,
\amp, ~gain*1*Pseq([0,1,1,Prand([1,0],1)],inf)*Pseq([1,1,1,1, 1,1,1,1, 1,0,0,0, 0,0,0,0,],inf)*Pseq([
1,1,1,1, 1,1,1,1, 1,1,1,0.3, 0,0,0,0.2,
1,1,1,1, 1,1,1,1, 1,1,1,0.3, 0,0.1,0.8,0,
], inf)*Prand([1],inf),
\degree, Pseq([
Pseq([01,01,03,01, 05,01,07,01, 08,01,01,01, 05,Pshuf([01,03,01,],1),],4),
Pseq([04,04,06,04, Pshuf([08,04,10,04,],1), 11,04,04,04, Pshuf([08,04,06,04,],1),],2),
Pseq([01,01,03,01, 05,01,07,01, 08,01,01,01, 05,Pshuf([01,03,01,],1),],2),
Pseq([05,05,07,05, Pshuf([09,05,11,05,],1), 12,05,05,05, Pshuf([09,05,07,05,],1),],1),
Pseq([Pshuf([03,03,05,03,],1), Pshuf([07,03,09,03,],1), 10,03,03,03, Pshuf([10,03,12,03,],1),],1),
Pseq([01,01,03,01, 05,01,07,01, 08,01,01,01, 05,Pshuf([01,03,01,],1),],2),
], inf),
\pan, 1,
)
).play;

Pdef(\strum1,
Pbind(
\instrument, Pseq([\Klaus50],inf),
\octave, Pseq([4,5,6],inf)+1,
\lag, 0,
\scale, ~scale,
\dur, Pwrand([Pseq([~swingA,~swingB],1),Pseq([~stepDur],2)],[0.5,0.5],inf),
\atk, 0.01,
\rel, 2,
\strum, 0.1,
\amp, ~gain*0.5*Pseq([0,1,1,Prand([1,0],1)],inf)*Pseq([1,1,1,1, 1,1,1,1, 1,0,0,0, 0,0,0,0,],inf)*Pseq([
1,1,1,1, 1,1,1,1, 1,1,1,0.3, 0,0,0,0.2,
1,1,1,1, 1,1,1,1, 1,1,1,0.3, 0,0.1,0.8,0,
], inf)*Prand([1],inf),
\degree, [0,2,4]+Pseq([
Pseq([01,01,03,01, 05,01,07,01, 08,01,01,01, 05,Pshuf([01,03,01,],1),],4),
Pseq([04,04,06,04, Pshuf([08,04,10,04,],1), 11,04,04,04, Pshuf([08,04,06,04,],1),],2),
Pseq([01,01,03,01, 05,01,07,01, 08,01,01,01, 05,Pshuf([01,03,01,],1),],2),
Pseq([05,05,07,05, Pshuf([09,05,11,05,],1), 12,05,05,05, Pshuf([09,05,07,05,],1),],1),
Pseq([Pshuf([03,03,05,03,],1), Pshuf([07,03,09,03,],1), 10,03,03,03, Pshuf([10,03,12,03,],1),],1),
Pseq([01,01,03,01, 05,01,07,01, 08,01,01,01, 05,Pshuf([01,03,01,],1),],2),
], inf),
\pan, Prand([-1,-0.5,0,0.5,1],inf),
)
).play;

Pdef(\strum2,
Pbind(
\instrument, Pseq([\Klaus50],inf),
\octave, 0+Pshuf([
Pseq([5,Pwrand([4,6,5],[0.2,0.8],1),5,Pwrand([6,5],[0.2,0.8],1)],32),
Pseq([5,Pwrand([4,6,5],[0,1],1),5,Pwrand([6,5],[0,1],1)],64),
Pseq([5,Pwrand([4,6,5],[0.5,0.5],1),5,Pwrand([6,5],[0,1],1)],32),
Pseq([5,Pwrand([4,6,5],[0,1],1),5,Pwrand([6,5],[0.5,0.5],1)],32),
],inf)-1,
\scale, ~scale,
\lag, 0,
\dur, Pwrand([Pseq([~swingA,~swingB],1),Pseq([~stepDur],2)],[0.5,0.5],inf),
\atk, 0.01,
\rel, 2,
\strum, 0.1,
\amp, ~gain*0.8*Pseq([0,1,1,Prand([1,0],1)],inf)*Pseq([Pwrand([1,0],[0.1,0.9],8),Pwrand([1,0],[0.9,0.1],8),Pwrand([1,0],[0,1],8),Pwrand([1,0],[1,0],8)],inf)*Pseq([0,1,2,1],inf)*0.5*Prand([1],inf),
\degree, Pseq([
Pseq([01,01,03,01, 05,01,07,01, 08,01,01,01, 05,Pshuf([01,03,01,],1),],4),
Pseq([04,04,06,04, Pshuf([08,04,10,04,],1), 11,04,04,04, Pshuf([08,04,06,04,],1),],2),
Pseq([01,01,03,01, 05,01,07,01, 08,01,01,01, 05,Pshuf([01,03,01,],1),],2),
Pseq([05,05,07,05, Pshuf([09,05,11,05,],1), 12,05,05,05, Pshuf([09,05,07,05,],1),],1),
Pseq([Pshuf([03,03,05,03,],1), Pshuf([07,03,09,03,],1), 10,03,03,03, Pshuf([10,03,12,03,],1),],1),
Pseq([01,01,03,01, 05,01,07,01, 08,01,01,01, 05,Pshuf([01,03,01,],1),],2),
], inf),
\pan, 0,
)
).play;
)

//tempoclock

(
v = Main.elapsedTime.ceil;
t = TempoClock(~beatsPerMinute/60, 0, v);

t.schedAbs(0, {
Pbindf(Pdef(\bass),\pan, -1, \octave, 3).play(quant: 0.1);
Pbindf(Pdef(\bass),\pan, 1, \octave, 3).play(quant: 0.1);
Pdef(\kick).play(quant: 0.1);
Pdef(\snare).play(quant: 0.1);
});

t.schedAbs(4*12, {
Pdef(\clap).play(quant: 0.1);
Pdef(\hat).play(quant: 0.1);
Pdef(\arpegio1).play(quant: 0.1);
Pdef(\arpegio2).play(quant: 0.1);
});

t.schedAbs(8*12, {

});

t.schedAbs(12*12, {
Pdef(\strum1).play(quant: 0.1);
Pbindf(Pdef(\strum2),\pan, -1, \octave, 3).play(quant: 0.1);
Pbindf(Pdef(\strum2),\pan, 1, \octave, 3).play(quant: 0.1);
Pdef(\arpegio1).stop;
Pdef(\arpegio2).stop;
Pdef(\hat).stop;
Pdef(\clap).stop;
Pdef(\snare).stop;
});

t.schedAbs(14*12, {
Pdef(\snare).play(quant: 0.1);
});

t.schedAbs(16*12, {
Pdef(\clap).play(quant: 0.1);
});

t.schedAbs(20*12, {
Pdef(\snare).stop;
Pdef(\clap).stop;
Pdef(\kick).stop;
Pdef(\hat).stop;
Pdef(\arpegio1).play(quant: 0.1);
Pdef(\arpegio2).play(quant: 0.1);
});

t.schedAbs(24*12, {
Pdef(\kick).play(quant: 0.1);
Pdef(\snare).play(quant: 0.1);
Pdef(\clap).play(quant: 0.1);
Pdef(\hat).play(quant: 0.1);
});

t.schedAbs(28*12, {
Pdef(\kick).play(quant: 0.1);
Pdef(\snare).play(quant: 0.1);
Pdef(\clap).play(quant: 0.1);
Pdef(\hat).play(quant: 0.1);
Pdef(\arpegio1).stop;
Pdef(\arpegio2).stop;
Pdef(\strum1).stop;
});
)

//recording
s.record;
s.stopRecording;

credits

from Demos etc., released March 25, 2013

license

tags

about

The Wiggly Tendrils Boston, Massachusetts

Completely obsessed with music and home recording.

contact / help

Contact The Wiggly Tendrils

Streaming and
Download help

Redeem code

Report this track or account

The Wiggly Tendrils recommends:

If you like The Wiggly Tendrils, you may also like: