parent
893ece1c34
commit
4b849c4b24
8 changed files with 479 additions and 268 deletions
@ -1,108 +0,0 @@ |
||||
//AKJ to pattern femalemalenonbinary |
||||
|
||||
( |
||||
SynthDef(\akj1, { |
||||
arg freq=300, amp=0.1, out=0, gate=1; |
||||
var snd, env; |
||||
|
||||
freq = [freq,freq*1.01]; |
||||
|
||||
snd = LFPar.ar(freq) * 0.3 |
||||
+ (LFTri.ar(freq*16/19, mul:0.3)) |
||||
+ (Pulse.ar(freq*21/40, mul:0.1)) |
||||
+ (SinOsc.ar(freq/8.01, mul:4).clip2(0.3)); |
||||
|
||||
|
||||
env = Linen.kr(gate, attackTime:1, releaseTime:3, doneAction:2); |
||||
snd = Splay.ar(snd); |
||||
snd = snd * env * amp; |
||||
Out.ar(out, snd); |
||||
}).add; |
||||
) |
||||
|
||||
( |
||||
SynthDef(\akjbz, { |
||||
arg freq=300, amp=0.1, out=0, gate=1; |
||||
var snd, env; |
||||
|
||||
//freq = [freq, freq*2.02, freq*1.98, freq]; |
||||
snd = SinOsc.ar(freq/4, mul:0.7)!2; |
||||
//snd = snd * [1, 0.1, 0.1, 1]; |
||||
snd = snd * Lag.ar(LFPulse.ar(freq/8.02, 0.5).range(1,0),0.005); |
||||
snd = snd.softclip(0.5) * 1.5 ; |
||||
|
||||
env = Linen.kr(gate, 0,1,0, 2); |
||||
//snd = (snd + (snd.wrap2 * 0.54)).softclip; |
||||
|
||||
snd = snd * env * amp; |
||||
|
||||
Splay.ar(snd); |
||||
Out.ar(out, snd); |
||||
//LFPulse.ar(0.275, width:0.25).range(0,1); |
||||
|
||||
}).add |
||||
) |
||||
|
||||
( |
||||
SynthDef(\click1, { |
||||
arg out=0, gate=1, freq=440, amp=0.1, releaseTime=0.1; |
||||
var snd, env; |
||||
|
||||
snd = LFPulse.ar([freq, freq * 2], width: LFNoise1.ar(0.1).exprange(0.001,0.004)); |
||||
snd = snd + (WhiteNoise.ar(1) * snd); |
||||
snd = HPF.ar(snd, 200); |
||||
//snd = Limiter.ar((snd * 5)); |
||||
|
||||
env = EnvGen.ar(Env.perc(0,releaseTime)); |
||||
|
||||
snd = snd * env * amp * Linen.kr(gate, 0, 1, releaseTime, 2); |
||||
snd = Splay.ar(snd); |
||||
Out.ar(out, snd); |
||||
}).add |
||||
) |
||||
|
||||
|
||||
// -- disonant chord + click + bazz ------------------------------- |
||||
TempoClock.tempo=1 |
||||
// disonchord |
||||
Pdef(\akj1p).play; |
||||
( |
||||
Pbindef(\akj1p, *[ |
||||
instrument: \akj1, |
||||
freq:300, |
||||
dur:5, |
||||
legato: 1, |
||||
amp: 1 |
||||
])) |
||||
Pdef(\akj1p).stop; |
||||
|
||||
|
||||
// click |
||||
Pdef(\clickp).play(quant:4); |
||||
Pdef(\clickp).stop(quant:4); |
||||
( |
||||
Pbindef(\clickp, *[ |
||||
instrument: \click1, |
||||
dur: Pseq([Pseq([1,2,3]/8, 2), Pseq([1,2,1,2,1,1]/8,3), Pseq([1]/8, 4), Pseq([1]/16, 2), ],inf), |
||||
//dur: Pseq([Pn(1/8, 31), Rest(1/8)],inf), |
||||
amp: Prand([5,7,8,9]/10, inf), |
||||
releaseTime: 0.3, |
||||
freq:1 |
||||
|
||||
]) |
||||
) |
||||
|
||||
// deep bass -- |
||||
Pdef(\akjbp).play(quant:4) |
||||
( |
||||
Pbindef(\akjbp, *[ |
||||
instrument: \akjbz, |
||||
freq: 300, |
||||
dur: 8, |
||||
amp: 0.5, |
||||
legato: 0.20 |
||||
]) |
||||
) |
||||
Pdef(\akjbp).stop |
||||
|
||||
// ---------------------------------------------------------------------------- |
@ -1,47 +0,0 @@ |
||||
// shippo ------------------------------------------------------ |
||||
( |
||||
SynthDef(\shippo, { |
||||
arg amp=0.1, gate=1, out=0, freq=100; |
||||
var snd, env, rev; |
||||
freq = [freq/2, freq * 0.99, freq * 1.51]; |
||||
snd = Pulse.ar( freq * LFNoise1.ar(1/10).range(1,1.03), mul:0.4 ) |
||||
; //* Lag.ar(LFPulse.ar(1/5, iphase:0.98, width:0.1)); |
||||
snd = Splay.ar(snd,spread:0.6); |
||||
snd = LPF.ar(snd, LFNoise1.ar(1/4).exprange(500,10000)); |
||||
env = EnvGen.kr(Env.adsr(0.001,0,1, 0.1, 1), gate, doneAction:0); |
||||
snd = snd * env; |
||||
snd = snd; |
||||
rev = Array.fill (16, { |
||||
CombL.ar( |
||||
snd, |
||||
0.2, |
||||
LFNoise1.ar(1/3).range(0.98,1.02) * rrand(0.01, 0.3), |
||||
10) |
||||
}); |
||||
rev = Splay.ar(rev); |
||||
rev = LeakDC.ar(rev); |
||||
rev = HPF.ar(rev, 100); |
||||
snd = snd + rev; |
||||
snd = Limiter.ar(snd, 0.8); |
||||
snd = snd * amp; |
||||
DetectSilence.ar(snd, doneAction:2); |
||||
Out.ar(out, snd); |
||||
}).add; |
||||
) |
||||
|
||||
|
||||
~clksh = TempoClock.new(1); |
||||
Pdef(\shippoP).play(~clksh); |
||||
Pdef(\shippoP).stop; |
||||
( |
||||
Pbindef(\shippoP, *[ |
||||
instrument: \shippo, |
||||
degree: 4, |
||||
octave: 3, |
||||
dur: Pseq([1,2,3], inf), |
||||
legato:0.2, |
||||
amp: 0.5 |
||||
]); |
||||
) |
||||
Pdef(\shippoP).clear |
||||
|
@ -1,38 +0,0 @@ |
||||
Pdef(\s2).play |
||||
( |
||||
Pbindef(\s2, |
||||
\instrument, \bap, |
||||
\degree, -1, |
||||
\dur, 2, |
||||
\octave, [2,3], |
||||
\amp, 0.9, |
||||
\legato, 1, |
||||
// needs wrangled delay! |
||||
\out, ~wranglerBus, |
||||
\dlywet, Pstutter(8, Pfunc({~dlywrang1.set(\wet, rrand(0, ((3..6) * 0.1).choose ) ) })), |
||||
|
||||
\d1, Prand((1..5),inf), |
||||
\d2, Prand((1..5),inf), |
||||
\d3, 5, |
||||
\ffreq, 460 |
||||
) |
||||
) |
||||
Pdef(\s2).stop |
||||
|
||||
|
||||
SynthDef(\bap, { |
||||
arg freq=440, gate=1, out=0, amp=0.1, d1 = 5, d2 = 1, d3=5, ffreq=200; |
||||
var snd = Saw.ar([freq, freq*1.01]); |
||||
var env = Linen.kr(gate, releaseTime: 0.1, doneAction:2); |
||||
snd = snd + SinOsc.ar([freq*0.99, freq]); |
||||
snd = snd + Pulse.ar([freq*0.99, freq]); |
||||
|
||||
snd = snd.clip2(LFNoise1.ar(0.3).range(0.3,0.8)) * d1; |
||||
snd = snd.wrap2(LFNoise1.ar(0.3).range(0.3,0.8)) * d2; |
||||
snd = snd.fold2(LFNoise1.ar(0.3).range(0.3,0.8)) * d3; |
||||
snd = LeakDC.ar(snd); |
||||
snd = LPF.ar(snd, ffreq); |
||||
snd = Limiter.ar(snd); |
||||
snd = Splay.ar(snd); |
||||
Out.ar(out, snd*env*amp); |
||||
}).add; |
@ -1,49 +0,0 @@ |
||||
( |
||||
SynthDef(\twoChPad, { |
||||
arg out=0, gate=1, amp=1, alag=10; |
||||
var sum, snd0, snd1, snd2, env, gen, faderosc, numosc; |
||||
|
||||
numosc = 10; |
||||
env = Env.adsr(20, 0, 1, 30, 1, \sin); |
||||
gen = EnvGen.kr(env, gate, doneAction:2); |
||||
|
||||
faderosc = SinOsc.ar(1/60).range(-1,2).min(1).max(0); |
||||
|
||||
snd0 = Array.fill(numosc, { |
||||
var freq, local; |
||||
freq = [100,150,300,400] * 0.5; |
||||
local = Saw.ar(rrand(freq, freq * 1.03 ) * LFNoise1.kr(0.3).range(1, 1.03), -10.dbamp); |
||||
local = Mix(local); |
||||
}); |
||||
snd0 = Splay.ar(snd0); |
||||
snd0 = faderosc * snd0; |
||||
snd0 = LPF.ar(snd0, LFNoise1.ar(0.06).exprange(300,10000)); |
||||
snd0 = CombL.ar(snd0, 1, LFNoise1.ar(0.05).range([0.5,0.65],[0.53,0.68]), 15, -1.dbamp) + snd0; |
||||
|
||||
snd1 = Array.fill(numosc, { |
||||
var freq, local; |
||||
freq = [100,150,300,400] * 0.8; |
||||
local = Saw.ar(rrand(freq, freq * 1.03 ) * LFNoise1.kr(0.3).range(1, 1.03), -10.dbamp); |
||||
local = Mix(local); |
||||
}); |
||||
snd1 = Splay.ar(snd1); |
||||
snd1 = (0-faderosc+1) * snd1; |
||||
snd1 = LPF.ar(snd1, LFNoise1.ar(0.07).exprange(300,10000)); |
||||
snd1 = CombL.ar(snd1, 1, LFNoise1.ar(0.05).range([0.77,0.65],[0.80,0.68]), 15, -1.dbamp) + snd1; |
||||
|
||||
snd2 = WhiteNoise.ar * LFPulse.ar(0.06, width:0.02) * -25.dbamp; |
||||
snd2 = HPF.ar(snd2, 2000); |
||||
snd2 = snd2 + Dust.ar(LFNoise1.ar(0.1).range(1,100), mul:0.2); |
||||
|
||||
sum = snd0 + snd1; |
||||
sum = sum * gen + snd2; |
||||
sum = sum * Lag.kr(amp, alag); |
||||
Out.ar(out, sum); |
||||
}).add; |
||||
); |
||||
|
||||
|
||||
~twoChPad = Synth(\twoChPad); |
||||
~twoChPad.set(\amp, 1.5) |
||||
~twoChPad.set(\amp, 1) |
||||
~twoChPad.release(30); |
@ -0,0 +1,148 @@ |
||||
// patterns definitions |
||||
|
||||
|
||||
// AKJ ----------------------------------------------------------------------------------- |
||||
Pbindef(\akjDisChordp, *[ |
||||
instrument: \akjDisChord, |
||||
freq:300, |
||||
dur:5, |
||||
legato: 1, |
||||
amp: 1 |
||||
]); |
||||
|
||||
Pbindef(\akjClickp, *[ |
||||
instrument: \akjClick, |
||||
dur: Pseq([Pseq([1,2,3]/8, 2), Pseq([1,2,1,2,1,1]/8,3), Pseq([1]/8, 4), Pseq([1]/16, 2), ],inf), |
||||
//dur: Pseq([Pn(1/8, 31), Rest(1/8)],inf), |
||||
amp: Prand([5,7,8,9]/10, inf), |
||||
releaseTime: 0.3, |
||||
freq:1 |
||||
|
||||
]); |
||||
|
||||
Pbindef(\akjBazp, *[ |
||||
instrument: \akjBaz, |
||||
freq: 300, |
||||
dur: 8, |
||||
amp: 0.5, |
||||
legato: 0.20 |
||||
]); |
||||
|
||||
|
||||
|
||||
// SHIPPO --------------------------------------------------------------------------------- |
||||
Pbindef(\shippoP, *[ |
||||
instrument: \shippo, |
||||
degree: 4, |
||||
octave: 3, |
||||
dur: Pseq([1,2,3], inf), |
||||
legato:0.2, |
||||
amp: 0.5 |
||||
]); |
||||
|
||||
|
||||
|
||||
// DISTORTED DRONE |
||||
Pbindef(\s1DistP, |
||||
\instrument, \s1Dist, |
||||
\degree, -1, |
||||
\dur, 2, |
||||
\octave, [2,3], |
||||
\amp, 0.9, |
||||
\legato, 1, |
||||
// needs wrangled delay! |
||||
\out, ~wranglerBus, |
||||
\dlywet, Pstutter(8, Pfunc({~dlywrang1.set(\wet, rrand(0, ((3..6) * 0.1).choose ) ) })), |
||||
|
||||
\d1, Prand((1..5),inf), |
||||
\d2, Prand((1..5),inf), |
||||
\d3, 5, |
||||
\ffreq, 460 |
||||
); |
||||
|
||||
|
||||
// lorenz pattern --------------------------- |
||||
|
||||
~dotsP = Pbind( |
||||
\dur, Pflatten(1, Plorenz() * 1), |
||||
\attack, 0.01, |
||||
\octave, 3, |
||||
\nharms, Prand((2..7),500) ); |
||||
|
||||
~linesP = Pbind( |
||||
\dur, Pflatten(1, Plorenz() * 5), |
||||
\attack, 3, |
||||
\octave, Prand([2,3,4],inf), |
||||
\nharms, Prand((1..4),80), |
||||
\amp, 0.075 ); |
||||
|
||||
~highP = Pbind( |
||||
\dur, Pflatten(1, Plorenz() * 5), |
||||
\attack, 3, |
||||
\octave, 5, |
||||
\nharms, Prand((1..3),50), |
||||
\amp, 0.008 ); |
||||
|
||||
|
||||
// gcd mod --------------------------------------------------------- |
||||
Pbindef(\n1, |
||||
\instrument, \dNoz, |
||||
\dur, Pseq([20,Rest(10)],inf), |
||||
\amp, 0.5, |
||||
\legato, 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 |
||||
]) |
||||
};); |
||||
|
||||
|
||||
// be back lighter ------------------------------------------- |
||||
|
||||
Pbindef(\prand, |
||||
//Pdef(\prand, |
||||
\midinote, Prout({ |
||||
var tone0, tone1, tone2, interval, freq0, delta; |
||||
loop { |
||||
tone0 = rrand(0,11); |
||||
interval = rrand(2,4); |
||||
tone1 = Scale.minor(\pythagorean).at(tone0) + [0,12,24].choose + 0.1; |
||||
tone2 = Scale.minor(\pythagorean).at(tone0 + interval) + [0,12,24].choose; |
||||
//freq0 = [tone1,tone2]+47; |
||||
//freq0 = [tone1,tone2]+52; |
||||
freq0 = [tone1,tone2] + 52; |
||||
//postln(freq0); |
||||
freq0.yield; |
||||
} |
||||
}) - Pstutter(4, Prand([0,1] * 12,inf)), |
||||
\dur, Prand([1,2,4,8,12,16,4,6,8], inf) / 20, |
||||
//\ctranspose, Pstutter(64, Pxrand([-5,0,7],inf)), |
||||
\ctranspose, 0, |
||||
\instrument, \param, |
||||
\amp, 0.4, |
||||
\sustain, 1, |
||||
\out, ~verbDelayBus |
||||
); |
||||
|
||||
|
@ -0,0 +1,327 @@ |
||||
// synth definitions |
||||
|
||||
// AKJ -------------------------------------------------------- |
||||
SynthDef(\akjDisChord, { |
||||
arg freq=300, amp=0.1, out=0, gate=1; |
||||
var snd, env; |
||||
|
||||
freq = [freq,freq*1.01]; |
||||
|
||||
snd = LFPar.ar(freq) * 0.3 |
||||
+ (LFTri.ar(freq*16/19, mul:0.3)) |
||||
+ (Pulse.ar(freq*21/40, mul:0.1)) |
||||
+ (SinOsc.ar(freq/8.01, mul:4).clip2(0.3)); |
||||
|
||||
|
||||
env = Linen.kr(gate, attackTime:1, releaseTime:3, doneAction:2); |
||||
snd = Splay.ar(snd); |
||||
snd = snd * env * amp; |
||||
Out.ar(out, snd); |
||||
}).add; |
||||
|
||||
SynthDef(\akjBaz, { |
||||
arg freq=300, amp=0.1, out=0, gate=1; |
||||
var snd, env; |
||||
|
||||
//freq = [freq, freq*2.02, freq*1.98, freq]; |
||||
snd = SinOsc.ar(freq/4, mul:0.7)!2; |
||||
//snd = snd * [1, 0.1, 0.1, 1]; |
||||
snd = snd * Lag.ar(LFPulse.ar(freq/8.02, 0.5).range(1,0),0.005); |
||||
snd = snd.softclip(0.5) * 1.5 ; |
||||
|
||||
env = Linen.kr(gate, 0,1,0, 2); |
||||
//snd = (snd + (snd.wrap2 * 0.54)).softclip; |
||||
|
||||
snd = snd * env * amp; |
||||
|
||||
Splay.ar(snd); |
||||
Out.ar(out, snd); |
||||
//LFPulse.ar(0.275, width:0.25).range(0,1); |
||||
|
||||
}).add; |
||||
|
||||
SynthDef(\akjClick, { |
||||
arg out=0, gate=1, freq=440, amp=0.1, releaseTime=0.1; |
||||
var snd, env; |
||||
|
||||
snd = LFPulse.ar([freq, freq * 2], width: LFNoise1.ar(0.1).exprange(0.001,0.004)); |
||||
snd = snd + (WhiteNoise.ar(1) * snd); |
||||
snd = HPF.ar(snd, 200); |
||||
//snd = Limiter.ar((snd * 5)); |
||||
|
||||
env = EnvGen.ar(Env.perc(0,releaseTime)); |
||||
|
||||
snd = snd * env * amp * Linen.kr(gate, 0, 1, releaseTime, 2); |
||||
snd = Splay.ar(snd); |
||||
Out.ar(out, snd); |
||||
}).add; |
||||
|
||||
|
||||
// SHIPPO ----------------------------------------------------------- |
||||
|
||||
SynthDef(\shippo, { |
||||
arg amp=0.1, gate=1, out=0, freq=100; |
||||
var snd, env, rev; |
||||
freq = [freq/2, freq * 0.99, freq * 1.51]; |
||||
snd = Pulse.ar( freq * LFNoise1.ar(1/10).range(1,1.03), mul:0.4 ) |
||||
; //* Lag.ar(LFPulse.ar(1/5, iphase:0.98, width:0.1)); |
||||
snd = Splay.ar(snd,spread:0.6); |
||||
snd = LPF.ar(snd, LFNoise1.ar(1/4).exprange(500,10000)); |
||||
env = EnvGen.kr(Env.adsr(0.001,0,1, 0.1, 1), gate, doneAction:0); |
||||
snd = snd * env; |
||||
snd = snd; |
||||
rev = Array.fill (16, { |
||||
CombL.ar( |
||||
snd, |
||||
0.2, |
||||
LFNoise1.ar(1/3).range(0.98,1.02) * rrand(0.01, 0.3), |
||||
10) |
||||
}); |
||||
rev = Splay.ar(rev); |
||||
rev = LeakDC.ar(rev); |
||||
rev = HPF.ar(rev, 100); |
||||
snd = snd + rev; |
||||
snd = Limiter.ar(snd, 0.8); |
||||
snd = snd * amp; |
||||
DetectSilence.ar(snd, doneAction:2); |
||||
Out.ar(out, snd); |
||||
}).add; |
||||
|
||||
|
||||
|
||||
// S1 DISTORTED DRONE ----------------------------------------------------- |
||||
SynthDef(\s1Dist, { |
||||
arg freq=440, gate=1, out=0, amp=0.1, d1 = 5, d2 = 1, d3=5, ffreq=200; |
||||
var snd = Saw.ar([freq, freq*1.01]); |
||||
var env = Linen.kr(gate, releaseTime: 0.1, doneAction:2); |
||||
snd = snd + SinOsc.ar([freq*0.99, freq]); |
||||
snd = snd + Pulse.ar([freq*0.99, freq]); |
||||
|
||||
snd = snd.clip2(LFNoise1.ar(0.3).range(0.3,0.8)) * d1; |
||||
snd = snd.wrap2(LFNoise1.ar(0.3).range(0.3,0.8)) * d2; |
||||
snd = snd.fold2(LFNoise1.ar(0.3).range(0.3,0.8)) * d3; |
||||
snd = LeakDC.ar(snd); |
||||
snd = LPF.ar(snd, ffreq); |
||||
snd = Limiter.ar(snd); |
||||
snd = Splay.ar(snd); |
||||
Out.ar(out, snd*env*amp); |
||||
}).add; |
||||
|
||||
|
||||
// twoChPad ----------------------------------------------------------------------------------- |
||||
SynthDef(\twoChPad, { |
||||
arg out=0, gate=1, amp=1, alag=10; |
||||
var sum, snd0, snd1, snd2, env, gen, faderosc, numosc; |
||||
|
||||
numosc = 10; |
||||
env = Env.adsr(20, 0, 1, 30, 1, \sin); |
||||
gen = EnvGen.kr(env, gate, doneAction:2); |
||||
|
||||
faderosc = SinOsc.ar(1/60).range(-1,2).min(1).max(0); |
||||
|
||||
snd0 = Array.fill(numosc, { |
||||
var freq, local; |
||||
freq = [100,150,300,400] * 0.5; |
||||
local = Saw.ar(rrand(freq, freq * 1.03 ) * LFNoise1.kr(0.3).range(1, 1.03), -10.dbamp); |
||||
local = Mix(local); |
||||
}); |
||||
snd0 = Splay.ar(snd0); |
||||
snd0 = faderosc * snd0; |
||||
snd0 = LPF.ar(snd0, LFNoise1.ar(0.06).exprange(300,10000)); |
||||
snd0 = CombL.ar(snd0, 1, LFNoise1.ar(0.05).range([0.5,0.65],[0.53,0.68]), 15, -1.dbamp) + snd0; |
||||
|
||||
snd1 = Array.fill(numosc, { |
||||
var freq, local; |
||||
freq = [100,150,300,400] * 0.8; |
||||
local = Saw.ar(rrand(freq, freq * 1.03 ) * LFNoise1.kr(0.3).range(1, 1.03), -10.dbamp); |
||||
local = Mix(local); |
||||
}); |
||||
snd1 = Splay.ar(snd1); |
||||
snd1 = (0-faderosc+1) * snd1; |
||||
snd1 = LPF.ar(snd1, LFNoise1.ar(0.07).exprange(300,10000)); |
||||
snd1 = CombL.ar(snd1, 1, LFNoise1.ar(0.05).range([0.77,0.65],[0.80,0.68]), 15, -1.dbamp) + snd1; |
||||
|
||||
snd2 = WhiteNoise.ar * LFPulse.ar(0.06, width:0.02) * -25.dbamp; |
||||
snd2 = HPF.ar(snd2, 2000); |
||||
snd2 = snd2 + Dust.ar(LFNoise1.ar(0.1).range(1,100), mul:0.2); |
||||
|
||||
sum = snd0 + snd1; |
||||
sum = sum * gen + snd2; |
||||
sum = sum * Lag.kr(amp, alag); |
||||
Out.ar(out, sum); |
||||
}).add; |
||||
|
||||
|
||||
// LCM noise ----------------------------------------------------------------- |
||||
|
||||
Ndef(\lcmnoise, { |
||||
arg amp1=0, amp2=1; |
||||
var snd, revchain; |
||||
snd = [ |
||||
tanh(lcm(SinOsc.ar( |
||||
LFNoise0.kr(LFNoise0.kr(1/10).exprange(0.1,1)).exprange(1,15000) |
||||
).range(-100,100).round(1),SinOsc.ar( |
||||
LFNoise0.kr(LFNoise0.kr(1/10).exprange(0.1,1)).exprange(1,15000) |
||||
).range(-100,100).round(1))*0.0001), |
||||
tanh(lcm(Saw.ar( |
||||
LFNoise0.kr(LFNoise0.kr(1/10).exprange(0.1,1)).exprange(1,15000) |
||||
).range(-100,100).round(1),LFCub.ar( |
||||
LFNoise0.kr(LFNoise0.kr(1/10).exprange(0.1,1)).exprange(1,15000) |
||||
).range(-100,100).round(1))*0.0001) |
||||
] ; |
||||
snd = BHiPass.ar(snd, 180); |
||||
snd = snd.softclip * 0.8; |
||||
snd = Splay.ar(snd, spread:1); |
||||
revchain = snd * Lag.ar( |
||||
in: LFPulse.ar( |
||||
freq: LFNoise0.ar(1).exprange(0.01,2), |
||||
width: 0.001), |
||||
lagTime: 0.1) |
||||
* LFNoise1.ar(1).range(10,10000); |
||||
|
||||
revchain = Greyhole.ar( |
||||
in: revchain, |
||||
delayTime: LFNoise1.ar(1).range(0.0001,0.2), |
||||
damp: 0.5, |
||||
size: LFNoise1.ar(0.1).exprange(0.0001,5), |
||||
feedback: 0.95); |
||||
|
||||
revchain = LeakDC.ar(revchain); |
||||
revchain = Limiter.ar(revchain) * LFNoise1.ar([1,1]).range(0,0.9); |
||||
snd = snd * LFNoise0.ar([0.9,0.8]).range(0,2); |
||||
snd = (snd * amp1) + (revchain * amp2); |
||||
snd = snd.softclip * 0.8; |
||||
//snd = LPF.ar(snd.softclip, LFNoise1.ar(0.1).exprange(10000,20000)) * 0.8; |
||||
}); |
||||
|
||||
|
||||
// ------------------------------- |
||||
|
||||
SynthDef(\param, { arg freq = 100, sustain, amp, out=0; |
||||
var sig; |
||||
sig = LFPar.ar(freq: freq, |
||||
mul: EnvGen.kr(Env.perc(0, sustain, 0.5), doneAction:2) * amp); |
||||
sig = Splay.ar(sig); |
||||
Out.ar(out, sig); |
||||
}).add; |
||||
|
||||
// ------------------------------- |
||||
|
||||
SynthDef(\blipo, { | out, freq = 440, amp = 0.1, nharms = 10, pan = 0, gate = 1, sustain, attack=0.1 | |
||||
var audio = Blip.ar(freq * (SinOsc.kr(3).range(1,1.01)), nharms, amp); |
||||
var env = Linen.kr(gate, attackTime: attack, releaseTime: sustain, doneAction: Done.freeSelf); |
||||
OffsetOut.ar(out, Pan2.ar(audio, pan, env) ); |
||||
}).add; |
||||
|
||||
// ------------------------------- |
||||
|
||||
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()) |
||||
}); |
||||
|
||||
// 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; |
||||
|
||||
|
||||
// ------------------------------------------------------------------- |
||||
// reverb effect SynthDef |
||||
SynthDef("reverbo", { arg outBus = 0, inBus, wet = 0.1; |
||||
var input = In.ar(inBus,2); |
||||
var rev = JPverb.ar(input * wet, t60:6, damp:0.5); |
||||
Out.ar(outBus, input + (rev)); |
||||
}).add; |
||||
|
||||
|
||||
SynthDef(\verbDelayFX, { |
||||
arg inBus, outBus, revWet=0.8, dlyWet=0.8, feedback = 0.5, lag = 10 ; |
||||
|
||||
var snd = In.ar(inBus, 2); |
||||
var verb = JPverb.ar(snd); |
||||
var delay = Greyhole.ar(snd, feedback: feedback); |
||||
revWet = Lag.kr(revWet, lag); |
||||
dlyWet = Lag.kr(dlyWet, lag); |
||||
snd = snd + (verb * revWet) + (delay * dlyWet) * 0.5; |
||||
|
||||
Out.ar(outBus, snd); |
||||
}).add; |
||||
|
||||
|
||||
SynthDef(\dlywrangler, { |
||||
arg out=0, in, wet=0.1; |
||||
var snd, dly2; |
||||
snd = In.ar(in,2); |
||||
dly2 = CombN.ar(HPF.ar(snd,300), 1, [0.5,0.77], 5, mul:LFNoise1.kr(0.1).range(0.8,0.3)); |
||||
snd = CombN.ar(snd, 1, Lag.ar(LFNoise0.ar(1).range(0.01,0.1),0.1), 3, mul:wet) + snd; |
||||
snd = Limiter.ar(snd, 0.8); |
||||
snd = snd + dly2; |
||||
Out.ar(out, snd); |
||||
}).add; |
Loading…
Reference in new issue