|
|
@ -1,146 +0,0 @@ |
|
|
|
// |
|
|
|
/////////////////////////////////////////////////////////////////////////////////////////////// |
|
|
|
// GCD SINMODFEED ///////////////////////////////////////////////////////////////////////////////////////// |
|
|
|
// feedback of modulated SinOsc |
|
|
|
|
|
|
|
// low rumble 0 ------------------------------------ |
|
|
|
( |
|
|
|
SynthDef(\dNoz, { |
|
|
|
arg out=0, gate=1, amp=0.1, envattackTime=0.001, release=0.001; |
|
|
|
var snd, env; |
|
|
|
env = Linen.kr(gate, envattackTime, 1, release, doneAction:2); |
|
|
|
snd = WhiteNoise.ar(1); |
|
|
|
snd = snd + SinOsc.ar(SinOsc.kr(10).range(40,60), mul:0.2); |
|
|
|
snd = snd + Pulse.ar(SinOsc.kr(12).range(40,60), mul:0.1); |
|
|
|
snd = snd.clip2(0.8); |
|
|
|
|
|
|
|
snd = LPF.ar(snd, LFNoise2.ar(0.4).range(60,100), mul:3); |
|
|
|
|
|
|
|
snd = snd.dup; |
|
|
|
snd[1] = DelayL.ar(snd[1], 0.05, SinOsc.kr(0.2).range(0.001,0.003)); |
|
|
|
snd = snd * env * amp; |
|
|
|
Out.ar(out, snd); |
|
|
|
|
|
|
|
}).add; |
|
|
|
); |
|
|
|
( |
|
|
|
// "LFTri bass drum kick" - by luka@lukaprincic.si |
|
|
|
SynthDef(\tribd, { |
|
|
|
arg out=0, gate=1, freq=77, amp=0.1; |
|
|
|
var snd,snd1, aenv, fenv, senv; |
|
|
|
|
|
|
|
fenv = Env(levels:[2, 1.2, 0], times: [0.1, 0.4]).kr; |
|
|
|
freq = [freq,freq*2] * fenv; |
|
|
|
freq = freq.max(10); |
|
|
|
|
|
|
|
snd = LFTri.ar(freq) + SinOsc.ar(freq) * [1,0.3]; |
|
|
|
snd1 = SinOsc.ar(190, mul:3) * EnvGen.ar(Env.perc(releaseTime:0.1), gate) ; |
|
|
|
snd = snd.sum * 0.9; |
|
|
|
snd = LPF.ar(snd, freq * 4); |
|
|
|
|
|
|
|
snd = snd + RLPF.ar( BrownNoise.ar(1), |
|
|
|
Env(levels:[2000,500,90], times:[0.01,0.05]).kr, 0.3 ); |
|
|
|
|
|
|
|
snd = snd + ( BPF.ar(WhiteNoise.ar(0.5), 3000) |
|
|
|
* Env([1,1,0], [0.004,0.005]).kr ); |
|
|
|
snd = snd + ( BPF.ar(WhiteNoise.ar(0.5), 7000) |
|
|
|
* Env([1,1,0], [0.003,0.001]).kr ); |
|
|
|
|
|
|
|
aenv = Env([1,1,0], [0.2,2], curve: -9).kr; |
|
|
|
snd = snd1 + snd * aenv; |
|
|
|
snd = Limiter.ar(snd, 8); |
|
|
|
|
|
|
|
senv = Linen.kr(releaseTime: 0.1, gate: gate, doneAction: Done.freeSelf); |
|
|
|
snd = LeakDC.ar(snd); |
|
|
|
snd = snd * amp * senv; |
|
|
|
snd = Pan2.ar(snd, pos:0); |
|
|
|
snd = snd.clip2; |
|
|
|
Out.ar(out, snd); |
|
|
|
}).add; |
|
|
|
); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//////////////////////////////////////////////////////////////////////////////////////////////////////// |
|
|
|
( |
|
|
|
~clk3 = TempoClock.new(2.2); |
|
|
|
//~myClock = TempoClock.new(2.2); |
|
|
|
|
|
|
|
//~clk3 = TempoClock.tempo= 2.2 / 1; |
|
|
|
{ // routine starts here |
|
|
|
1.wait; |
|
|
|
Ndef(\gcdmod).proxyspace.clock = ~clk3; |
|
|
|
Ndef(\gcdmod).proxyspace.quant = 1; |
|
|
|
Ndef(\gcdmod, { |
|
|
|
var a = TDuty.ar(Dseq((0..3), inf) + 5 * SampleDur.ir); |
|
|
|
var b = TDuty.ar(Dseq((3..0), inf) + 5.01 * SampleDur.ir); |
|
|
|
var mod = 50; |
|
|
|
var t = PulseCount.ar(a) % mod; |
|
|
|
var u = PulseCount.ar(b) % mod; |
|
|
|
var n, j, d, e, c; |
|
|
|
|
|
|
|
d = LocalIn.ar(2); |
|
|
|
n = gcd(t, u + [0, 1]); |
|
|
|
e = n.linexp(0, mod, 70, 10000); |
|
|
|
j = SinOsc.ar(e); |
|
|
|
LocalOut.ar(j * d); |
|
|
|
c = CombC.ar(j, 1, [0.009,0.007,0.008, 0.006] * LFNoise1.ar([0.01,0.01]).range(1.3,0.7), 30, mul:0.05); |
|
|
|
j = j * LFNoise1.ar(0.2).range(0,0.5) + Splay.ar(c); |
|
|
|
j = Greyhole.ar(j, damp:0.5, diff:0.5 size:4); |
|
|
|
j = Limiter.ar(LPF.ar(HPF.ar(j, 100), LFNoise1.kr(0.1).exprange(200,18000)), 0.5, 0.55); |
|
|
|
j = j * LFPulse.ar([2.2,4.4]*2, 0.96, width:LFNoise1.ar(0.2).range(0.8,0.95)).range(LFNoise1.ar(0.1).range(0,1),1); |
|
|
|
j = j + LFPulse.ar([2.2,4.4], 0.96, mul: LFNoise1.kr(1/10).range(0,0.5) * Line.kr(0,1,30)); |
|
|
|
j = LeakDC.ar(j); |
|
|
|
|
|
|
|
// Out.ar(0, j * EnvGate()) |
|
|
|
}); |
|
|
|
|
|
|
|
Ndef(\gcdkick).proxyspace.clock = ~clk3; |
|
|
|
Ndef(\gcdkick).proxyspace.quant = 1; |
|
|
|
Pdef(\gcdkick, { |
|
|
|
Pbind(*[ |
|
|
|
instrument: \tribd, |
|
|
|
dur: Pseq([ |
|
|
|
Rest(32), |
|
|
|
Pseq( |
|
|
|
[ |
|
|
|
Prand( [ Pseq([1.5,1.5]), 3 ] ), |
|
|
|
3, |
|
|
|
Prand([ |
|
|
|
4, |
|
|
|
Pn(1,3), |
|
|
|
Pn(Pseq([1/2,1,Prand([1/2,1.5])]),1) |
|
|
|
]) |
|
|
|
] / 2, 32) |
|
|
|
],inf), |
|
|
|
//dur: 1, |
|
|
|
//dur: Pseq([1.5,1,1.5,1/2,2,1/2,1.5,1/2,1/4,1/2,1/4,3],inf), |
|
|
|
freq:77 + Prand((1..10)/5, inf), |
|
|
|
octave:2, |
|
|
|
amp:0.1 |
|
|
|
]) |
|
|
|
};); |
|
|
|
Ndef(\gcdkick).mold(2, \audio, \elastic); |
|
|
|
Ndef(\gcdkick)[0] = Pdef(\gcdkick); |
|
|
|
|
|
|
|
|
|
|
|
Pbindef(\n1, |
|
|
|
\instrument, \dNoz, |
|
|
|
\dur, Pseq([20,Rest(10)],inf), |
|
|
|
\amp, 0.5, |
|
|
|
\legato, 1, |
|
|
|
); |
|
|
|
//Pdef(\n1).stop; |
|
|
|
//Pdef(\n1).clear; |
|
|
|
|
|
|
|
1.wait; |
|
|
|
|
|
|
|
s.makeBundle(0.25, { |
|
|
|
Pdef(\n1).play(~clk3, quant:1); |
|
|
|
Ndef(\gcdmod).play; |
|
|
|
Ndef(\gcdkick).play; |
|
|
|
}); |
|
|
|
|
|
|
|
}.fork(~clk3) |
|
|
|
) |
|
|
|
/////////////////////////////////////////////////////////////////////////////////////// |