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 180219

from Demos etc. by The Wiggly Tendrils

subscriber exclusive

about

s.boot;


//time and tuning

(
~beatsPerMinute=78;
~beatsPerMeasure=4;
~swing=0.01;
~scale = Scale.chromatic;

~stepDur = (60/1)*(1/~beatsPerMinute)*(1/~beatsPerMeasure);
~swingA = ~stepDur+(~swing*~stepDur);
~swingB = ~stepDur-(~swing*~stepDur);
~groovyKick=(1)*~stepDur/256;
~groovySnare=(1)*~stepDur/256;
~groovyHat=(1)*~stepDur/1600;
~groovyClap=(1)*~stepDur/256;

TempoClock.default.tempo = ~beatsPerMinute/60;
s.latency = 0.2;

~master = 0.2;
)

//chords

(
~open = [5,10,15,19,24];

~dmC = [3,0,2,3,1];
~g7B = [2,0,0,3,1];
~amC = [3,2,2,1,0];
~dC = [3,0,2,3,2];
~gB = [2,0,0,3,3];
~cB = [2,2,0,1,0];
~dmF = [0,0,2,3,-23];
~cE = [0,3,2,0,1,0];
~fE = [-5,3,2,1,1];
~cG = [-2,2,0,1,0];
~dm7G = [-2,0,0,1,1];
~dsdim7G = [-2,1,2,1,2];
~fC = [3,3,2,1,1];
~g7C = [3,3,4,3,3];

~chordProgression = ~open + Pseq([
//0
Pseq([~dmC],16),
Pseq([~g7B],16),
Pseq([~dmC],16),
Pseq([~g7B],16),

//1
Pseq([~dC],16),
Pseq([~cB],16),
Pseq([~dm7G],16),
Pseq([~dsdim7G],16),
Pseq([~dsdim7G],16),
Pseq([~cG],16),

//2
Pseq([~dmC],16),
Pseq([~g7B],16),
Pseq([~dmC],16),
Pseq([~g7B],16),

//3
Pseq([~cE],16),
Pseq([~amC],16),
Pseq([~dC],16),
Pseq([~gB],16),
Pseq([~dsdim7G],16),
Pseq([~amC],16),

//4
Pseq([~dmC],16),
Pseq([~g7B],16),
Pseq([~dmC],16),
Pseq([~g7B],16),

//5
Pseq([~dC],16),
Pseq([~cB],16),
Pseq([~dm7G],16),
Pseq([~dsdim7G],16),
Pseq([~dsdim7G],16),
Pseq([~cG],16),
Pseq([~dm7G],16),
Pseq([~dsdim7G],16),
Pseq([~dsdim7G],16),
Pseq([~cG],16),

//6
Pseq([~dmC],16),
Pseq([~g7B],16),
Pseq([~dmC],16),
Pseq([~g7B],16),

//7
Pseq([~dmC],16),
Pseq([~cE],16),
Pseq([~dC],16),
Pseq([~cB],16),
Pseq([~dm7G],16),
Pseq([~dsdim7G],16),
Pseq([~dsdim7G],16),
Pseq([~cG],16),

//8
Pseq([~dmC],16),
Pseq([~g7B],16),
Pseq([~dmC],16),
Pseq([~g7B],16),
Pseq([~dmC],16),
Pseq([~g7B],16),
Pseq([~dmC],16),
Pseq([~g7B],16),
],1);
)

//SynthDefs

(
SynthDef(\spaceVroom,{
arg startFreq=200, endFreq=15, decay=4, lowpass=800, amp=1, noiseAmp=0.0, gain=1, dur=6;
var sig, env, freq;
freq = Line.kr(PinkNoise.kr(40,startFreq), PinkNoise.kr(3,endFreq), dur, 1, 0);
env = EnvGen.kr(Env.perc(0.014, dur, 1, -5), 1, doneAction:2);
sig = {(LPF.ar(Ringz.ar(Impulse.ar(0), freq, decay), lowpass) * amp) ! 2};
sig = LPF.ar(sig,BrownNoise.kr(500,1500))*1;
sig = sig * gain;
sig = ~master * sig.softclip * amp * env;
Out.ar(0, [sig,sig]);
}).play;
)

(
SynthDef(\kickBoom,{
arg startFreq=60, endFreq=40, decay=4, lowpass=100, amp=1, noiseAmp=0.01, gain=1, dur=0.8;
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;
sig = ~master * sig.softclip * amp * env;
Out.ar(0, [sig,sig]);
}).play;
)

(
SynthDef(\kick,{
arg startFreq=40, endFreq=20, decay=1, lowpass=300, amp=1, noiseAmp=0.4, gain=1, dur=1.5;
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 * 0.5;
sig = ~master * sig.softclip * amp * env;
Out.ar(0, [sig,sig]);
}).play;
)

(
SynthDef(\snare,{
arg amp=0.75, gain=1.1;
var env, sig, snare;
env = EnvGen.kr(Env.perc(0.001, 0.2, 1, -2*1.collect{6.rand}-3), 1, doneAction:2);
sig = (SinOsc.ar(120) - WhiteNoise.ar(0.5, 0.5)) * env * amp;
sig = LPF.ar(sig,BrownNoise.kr(1000,4500));
sig = sig * gain * 3;
sig = ~master * sig.softclip * amp;
Out.ar(0, [sig,sig]);
}).play;
)

(
SynthDef(\hat2,{
arg amp=2, rel=0.3;
var env, sig;
env = EnvGen.kr(Env.perc(0.05, rel, 1, -4), 1, doneAction:2);
sig = HPF.ar((PinkNoise.ar(1, 0) * env * amp), 200);
sig = ~master * LPF.ar(sig, 500);
Out.ar(0, [sig,sig]);
}).play;
)

(
SynthDef(\hat3,{
arg amp=2, rel=0.3;
var env, sig;
env = EnvGen.kr(Env.perc(BrownNoise.kr(0.03,0.03), BrownNoise.kr(0.2,0.4), 1, -4), 1, doneAction:2);
sig = HPF.ar((PinkNoise.ar(1, 0) * env * amp), 200)*0.2;
sig = ~master * LPF.ar(sig, Line.kr(BrownNoise.kr(500,500),BrownNoise.kr(500,500))) * 3;
Out.ar(0, [sig,sig]);
}).play;
)

(
SynthDef.new(\Oliver, {
arg freq=440, atk=0.01, rel=2.66, harmonics=4, dur=0.2, beats=3, amp=1, pan=0;
var sig, env;
freq = 1*freq*PinkNoise.kr(0.01,1);
sig = Blip.ar(freq,Line.kr(1,harmonics,dur*beats),0.5);
env = EnvGen.kr(Env.new([0,1,0],[atk,rel],[1,-1]),doneAction:2);
sig = ~master * 0.2* sig*env*amp;
sig = Pan2.ar(sig,pan);
Out.ar(0, [sig, sig]);
}).play;
)

//Pdefs

(
Pdef(\kickBoom,
Pbind(
\instrument, Pseq([\kickBoom],inf),
\lag, 0,
\dur, 1/4,
\atk, 0.001,
\rel, 0.1,
\amp, 1*Pseq([
1,0,0,1, Pshuf([0,0.2,0,1,],1), 0,0,1,0.3, Pshuf([0,0,0,0.2,],1),
Pshuf([1,0,0,0.2,],1), 0,0,0.2,1, Pshuf([0,0,1,0.3,],1), Pshuf([0,0.1,0.8,0,],1),
1,0,0,1, Pshuf([0,0.2,0,1,],1), 0,0,0,0.3, Pshuf([0,0,0,0.2,],1),
1,0,0,0.2, 0,0,0.2,1, Pshuf([0,0,1,0.3, 0,0.1,0.8,0,],1),
1,0,0,0, 0,0.2,0,1, 0,0,1,0.3, 0,0,0,0.2,
1,Pshuf([0,0,0.2,],1), 0,Pshuf([0,0.2,1,],1), 0,Pshuf([0,1,0.3,],1), 0,Pshuf([0.1,0.8,0,],1),
Pshuf([1,0,0,1,],1), 0,0,0,1, 0,Pshuf([0,0.3,0,],1), 0,Pshuf([0,0,0.2,],1),
1,0,0,0.2, 0,Pshuf([0,0.2,1,],1), 0,Pshuf([0,1,0.3,],1), 0.2,Pshuf([0.1,0.4,0.6,],1),
], inf),
)
).play;

Pdef(\kick,
Pbind(
\instrument, Pseq([\kick],inf),
\lag, 0,
\dur, 1/4,
\amp, 1*Pwrand([1,0,0],[0.4,0.6],inf)*Pseq([
1,0,1,0, 0,0.2,0,1, 0,0,1,0.3, 0,0,0,0.2,
1,0,1,0.2, 0,0,0.2,1, 0,0,1,0.3, 0,0.1,0.8,0,
1,0,1,0, 0,0.2,0,1, 0,0,0,0.3, 0,0,0,0.2,
1,0,1,0.2, 0,0,0.2,1, 0,0,1,0.3, 0,0.1,0.8,0,
1,0,1,0, 0,0.2,0,1, 0,0,1,0.3, 0,0,0,0.2,
1,0,1,0.2, 0,0,0.2,1, 0,0,1,0.3, 0,0.1,0.8,0,
1,0,1,0, 0,0,0,1, 0,0,0.3,0, 0,0,0,0.2,
1,0,1,0.2, 0,0,0.2,1, 0,0,1,0.3, 0,0.1,0.8,0,
], inf),
)
).play;

Pdef(\snare,
Pbind(
\instrument, \snare,
\lag, 0,
\dur, 1/4,
\amp, 0.8*Pseq([
0,0,0,0, 1,0,0,0, 0,0,0,0, Pshuf([1,0,],1),0,0,
0,0,0,0, 1,0,0,0, 0,0,Prand([0,1],1), Pshuf([0, 1,0,],1),0,0,
], inf),
)
).play;

Pdef(\hat2,
Pbind(
\instrument, \hat2,
\lag, 0,
\dur, 1/4,
\amp, 3*Pseq([
0,0,0,0, 1,0,0,0, 0,0,0,0, 1,0,0,0,
0,0,0,0, 1,0,0,0, 0,0,0,0, 1,0,0,0,
], inf),
)
).play;

Pdef(\hat3,
Pbind(
\instrument, \hat3,
\lag, 0,
\dur, 1/4,
\amp, 3*Pseq([
0,0,0,0, 0,0,0,0, Pshuf([0,0,0,0, 1,0,0,0,],1),
0,0,0,0, 0,0,0,0, 0,0,0,0, Pshuf([1,0,0],1),0,
], inf),
)
).play;

Pdef(\spaceVroom,
Pbind(
\instrument, \spaceVroom,
\lag, 0,
\dur, 1/4,
\amp, 0.5*Pseq([

//0
Pseq([0],16*3),
Pseq([0,0,0,0, 0,0,0,0, 0,0,0,0, 0,Pshuf([0,1,0,],1)],1),

//1
Pseq([0],16*4),
Pseq([0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,1],1),
Pseq([0],16*1),

//2
Pseq([0],16*3),
Pseq([0,0,0,0, 0,0,0,0, 0,0,0,0, 0,Pshuf([0,1,0,],1)],1),

//3
Pseq([0],16*4),
Pseq([0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,1],1),
Pseq([0],16*1),

//4
Pseq([0],16*3),
Pseq([0,0,0,0, 0,0,0,0, 0,0,0,0, 0,Pshuf([0,1,0,],1)],1),

//5
Pseq([0],16*4),
Pseq([0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,1],1),
Pseq([0],16*3),
Pseq([0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,1],1),
Pseq([0],16*1),

//6
Pseq([0],16*3),
Pseq([0,0,0,0, 0,0,0,0, 0,0,0,0, 0,Pshuf([0,1,0,],1)],1),

//7
Pseq([0],16*6),
Pseq([0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,1],1),
Pseq([0],16*1),

//8
Pseq([0],16*9),
Pseq([0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,1],1),
], 1),
)
).play;

Pdef(\chimes1,
Pbind(
\instrument, \Oliver,
\octave, [3,5],
\scale, ~scale,
\dur, 1/4,
\pan, 1,
\strum, 0.2+Pshuf([-0.01,0.01,0.02],inf),
\amp, Pseq([
0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0,
],inf),
\degree, ~chordProgression,
)
).play;

Pdef(\chimes2,
Pbind(
\instrument, \Oliver,
\octave, [3,4],
\scale, ~scale,
\dur, 1/4,
\pan, -1,
\strum, 0.2,
\amp, Pseq([
0,0,0,0, 0,0,0,0, 1,0,0,0, 0,0,0,0,
],inf),
\degree, ~chordProgression,
)
).play;
)

//tempoClock

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

//0
t.schedAbs(0, {
Pdef(\kick).play(quant: 0.1);
Pdef(\spaceVroom).play(quant: 0.1);
Pdef(\chimes1).play(quant: 0.1);
Pdef(\chimes2).play(quant: 0.1);
});

//1
t.schedAbs(4*4, {
Pdef(\kickBoom).play(quant: 0.1);
});

//2
t.schedAbs(10*4, {
Pdef(\hat2).play(quant: 0.1);
});

//3
t.schedAbs(14*4, {
Pdef(\hat3).play(quant: 0.1);
});

//4
t.schedAbs(20*4, {
Pdef(\snare).play(quant: 0.1);
});

//5
t.schedAbs(24*4, {
Pdef(\hat2).stop;
Pdef(\hat3).stop;
});

//6
t.schedAbs(34*4, {
Pdef(\hat2).play(quant: 0.1);
Pdef(\snare).stop;
Pdef(\kickBoom).stop;
Pdef(\kick).stop;
});

//7
t.schedAbs(38*4, {
Pdef(\kick).play(quant: 0.1);
Pdef(\kickBoom).play(quant: 0.1);
Pdef(\snare).play(quant: 0.1);
Pdef(\hat3).play(quant: 0.1);
});

//8
t.schedAbs(46*4, {
Pdef(\kick).stop;
Pdef(\kickBoom).stop;
Pdef(\snare).stop;
Pdef(\hat2).stop;
Pdef(\spaceVroom).stop;
});

//end
t.schedAbs(56*4, {
Pdef(\hat3).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: