1
0
Fork 0

adding supercollider files and samples

main
Luka Prinčič 2022-06-13 22:38:53 +02:00
parent 936118699a
commit 781692a3f0
126 changed files with 3439 additions and 0 deletions

1529
scd/dev/devel.scd Normal file

File diff suppressed because it is too large Load Diff

327
scd/dev/ndefs.scd Normal file
View File

@ -0,0 +1,327 @@
//
//
// NDEFSSSSSSSSSSSSSSSSSS ///////////////////////////////////////////////////////
//
(
Ndef(\gran, {
var gfreq=150, snd;
snd = GrainBuf.ar( numChannels: 2,
// 28 !! solo
// 36
// 13 / 14,15,16,17,18,26,
//sndbuf: ~granBfr.at([13,14,15,17]),
//sndbuf: ~granBfr.at(26),
//sndbuf: ~granBfr.at(36),
sndbuf: ~granBfr.at([15,17,36,26]),
trigger: Impulse.ar(gfreq
* LFNoise0.ar(gfreq).range(1,1.1)),
dur: 0.05,
//rate: [1,0.77],
rate: 1,
pos:
//SinOsc.ar(1/10).range(0.01, 0.95)
LFTri.ar(1/10).range(0.01, 0.95)
* LFNoise1.ar(gfreq).range(0.98, 1),
pan: LFNoise1.ar(gfreq).range(-1,1),
mul: 0.2
);
snd = LPF.ar(snd, LFNoise1.ar([1/7,1/8,1/9]).exprange(100,10000));
//snd = LPF.ar(snd, LFNoise1.ar(1/7).exprange(1000,10000));
snd = Mix(snd);
snd = JPverb.ar(HPF.ar(snd,80), 6) * 0.3 + snd;
snd = Limiter.ar(snd, 0.9);
snd * \amp.kr(0).lag3(\amplag.kr(20));
}).play;
)
Ndef(\gran).fadeTime = 3;
Ndef(\gran).set(\amp, 0, \amplag, 30);
Ndef(\gran).set(\amplag, 1, \amp, 1);
Ndef(\gran).play
Ndef(\gran).stop
Ndef(\gran).clear
(
Ndef(\gran, {
var gfreq=150, snd;
snd = GrainBuf.ar( numChannels: 2,
// pe4enkata
sndbuf: ~granBfr.at(47),
trigger: Impulse.ar(gfreq
* LFNoise0.ar(gfreq).range(1,1.1)),
dur: 0.1,
//rate: [1,0.77],
rate: 1,
pos:
//SinOsc.ar(1/10).range(0.01, 0.95)
LFTri.ar(1/120).range(0.11, 0.35)
* LFNoise1.ar(gfreq).range(0.97, 1),
pan: LFNoise1.ar(gfreq).range(-1,1),
mul: 0.2
);
//snd = LPF.ar(snd, LFNoise1.ar([1/7,1/8,1/9]).exprange(100,10000));
snd = LPF.ar(snd, LFNoise1.ar(1/7).exprange(1000,10000));
snd = Mix(snd);
snd = JPverb.ar(HPF.ar(snd,80), 6) * 0.3 + snd;
snd = Limiter.ar(snd, 0.9);
snd * \amp.kr(0).lag3(\amplag.kr(20));
}).play;
)
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
(
Ndef(\eyeLiners,
{
var fold,wrap, snd, dly, rev;
fold = LFNoise1.kr(1/2).range(0.8,1);
wrap = LFNoise1.kr(1/2).range(0.8,1);
snd = LFTri.ar(
freq: Array.fill(6, {
(LFNoise0.kr(1/30).range(1,4).asInteger.lag(0.2) * 2 + 62).midicps * LFNoise1.kr(1/10).range(1,1.02)
} ) )
.fold( -1 * fold, fold )
.wrap(-1*wrap,wrap)
* LFPulse.kr(
freq: LFNoise1.kr(1/ Array.fill(6, {rrand(2,4)} )).range(5,0.1),
width:LFNoise1.kr([1/2,1/3]).range(0.1,0.2)).lag(0.01);
snd = LPF.ar(snd, LFNoise1.kr(Array.fill(6, {1 / rrand(1,20)})).exprange(1500,8000));
snd = Splay.ar(snd);
snd = Limiter.ar(snd);
rev = JPverb.ar(snd, 5);
dly = CombL.ar(snd, 1, [0.4,0.6] * LFNoise1.kr(1/10).range(1.5,1.8), 10, mul:0.6);
snd = snd + rev + dly;
//snd = snd + dly;
snd = snd * -6.dbamp;
snd = snd * \amp.kr(0).lag(\amplag.kr(10));
})
)
Ndef(\eyeLiners).set(\amplag, 1, \amp, 0)
Ndef(\eyeLiners).set(\amplag, 30, \amp, 0)
Ndef(\eyeLiners).play
Ndef(\eyeLiners).stop
Ndef(\eyeLiners).clear
Ndef(\eyeLiners).free
////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////
(
// additional UGens needed:
// AnalogTape, LockheartWavefolder and AnalogVintageDistortion are from
// "ported plugins" https://github.com/madskjeldgaard/portedplugins
// JPverb is in sc3-plugins
Ndef(\dysphoria1, {
var snd,freq=\freq.kr((30).midicps);
var noise;
noise = WhiteNoise.ar * LFPulse.kr(freq * [0.5,2],0,0.01).range(0,0.3);
noise = BPF.ar(noise, LFNoise0.kr([1/5,1/4]).exprange(1000,5000).lag(1));
noise = Splay.ar(noise, LFNoise1.ar(1/3).range(-1,1));
freq = [freq,freq*1.01];
snd = Pulse.ar(freq);
snd = snd + Pulse.ar(freq*2.001,LFNoise1.ar(1/3).range(0.01,0.05));
snd = LeakDC.ar(snd);
snd = AnalogTape.ar(snd, 0.9, LFNoise1.kr(1/4).range(0,1), 0.5,0,2);
snd = snd.fold(-0.5,0.9);
snd = LockhartWavefolder.ar(snd[0] * LFNoise1.kr(1/4).range(1,10), 4) +
((LockhartWavefolder.ar(snd[1] * LFNoise1.kr(1/4).range(1,10), 4)) * [-1,1]);
snd = RLPF.ar(
in: snd,
freq: LFNoise1.ar(1/4).exprange(50,\maxCutoff.kr(2100).lag(5))
* LFPulse.kr(4).range(0.8,1) * LFPulse.kr(6).range(0.6,1) * LFPulse.kr(8).range(0.5,1),
//freq: 100,
rq: LFNoise1.ar(1/3).range(0.1,0.9));
snd = snd + noise;
snd = AnalogVintageDistortion.ar(snd,0,1, oversample:3);
snd = LeakDC.ar(snd);
snd = snd * LFPulse.ar(1/1, width:0.2).range(0.2,1).lag(0.001);
snd = JPverb.ar(snd*0.4, 10, 0, 5, low:0.2) + snd;
snd = Limiter.ar(snd*1, 0.9) * \amp.kr(0).lag(\amplag.kr(5));
snd;
})
)
Ndef(\dysphoria1).play
Ndef(\dysphoria1).stop
Ndef(\dysphoria1).clear
Ndef(\dysphoria1).quant=4
Ndef(\dysphoria1).set(\amplag, 30, \amp, 0 )
Ndef(\dysphoria1).set(\maxCutoff, 80)
Ndef(\dysphoria1).set(\freq, (30).midicps)
Ndef(\test).set(\maxCutoff,9000);
Ndef(\test3).set(\maxCutoff,9000);
Ndef(\test).set(\maxCutoff,500);
Ndef(\test).set(\maxCutoff,90);
Ndef(\test).control
r=Routine
(
var a, b;
a = Prand([38,35,34,32,30,27], inf);
b = a.asStream;
fork({
10.do({
b.postln;
Ndef(\test).set(\freq,b.midicps);
b.next;
[2,4,3].choose.wait;});
}))
Ndef(\test).set(\freq,38.midicps);
Ndef(\test).set(\freq,35.midicps);
Ndef(\test).set(\freq,34.midicps);
Ndef(\test).set(\freq,32.midicps);
Ndef(\test).set(\freq,30.midicps);
Ndef(\test).set(\freq,27.midicps);
Ndef(\test).set(\freq,(32+12+12+12).midicps);
/////////////////////////////////////////////////////////////////////////////////////////////
(
TempoClock.tempo = 60/60;
Ndef(\hypertext404, {
var snd, glc, freq;
// frequency/ies
freq = ([29,55] + 12 + (\freqoctave.kr(0) * 12)).midicps;
//postln(freq);
//freq = ([29,55] + 12 + (0 * 12)).midicps;
// oscialtors
snd = Pulse.ar(freq, mul:LFNoise1.kr(1/3).range(0.5,1))
+ SinOsc.ar(freq/4, mul:LFNoise1.kr(1/3).range(0.2,0.6))
+ LFTri.ar(freq.reverse/2, mul:LFNoise1.kr(1/3).range(0.2,0.6));
// breat/pulse-cutter
snd = snd * LFPulse.kr(4).lag(0.01).range(0.8,1) * LFPulse.kr(6).lag(0.001).range(0.1,1) * LFPulse.kr(8).lag(0.001).range(0.1,1);
snd = RLPF.ar(snd, freq.mean * LFNoise1.kr(1/4).range(0.5,2), LFNoise1.kr(1/3).range(0.4,0.8));
snd = snd + RLPF.ar(Dust.ar(10, mul:0.3), freq:LFNoise1.kr(5).range(100,4000), rq:LFNoise1.kr(5).range(0.1,0.9));
// SATURATE! _______
snd = AnalogTape.ar(snd * LFNoise0.kr(1/4).exprange(\saturationMin.kr(0.1),\saturationMax.kr(1)), 0.5, SinOsc.kr(1/4).range(0,1), 1, 0, 3);
snd = Limiter.ar(snd, 0.7);
snd = Splay.ar(snd, 0.5);
snd = JPverb.ar(snd, 4, lowcut:1000) * 0.7 + snd;
glc = WhiteNoise.ar(LFNoise0.kr(3).range(0,3))
+ Pulse.ar(LFNoise0.kr(8).range(1000,10000), mul:LFNoise0.kr(2).range(0,3))
* LFPulse.ar(LFNoise0.kr(3).range(0.01,10), width:LFNoise0.kr(5).range(0.01,0.1)).range(0,0.1);
glc = RLPF.ar(in:glc, freq:LFNoise1.kr(5).exprange(300,10000), rq:LFNoise1.kr(5).range(0.2,0.9), mul:LFNoise0.kr(1/2).exprange(0.1,0.9) );
glc = Pan2.ar(glc, LFNoise0.kr(1).range(-1,1));
snd = snd + glc;
snd = Limiter.ar(snd, 0.9);
snd = snd * \amp.kr(0).lag(\amplag.kr(20))
});
Ndef(\hypertext404).quant = 4;
Ndef(\hypertext404).fadeTime = 0.01;
)
Ndef(\hypertext404).play
Ndef(\hypertext404).set(\amplag, 2, \amp, 0)
Ndef(\hypertext404).set(\amplag, 30, \amp, 0)
Ndef(\hypertext404).set(\amplag, 20, \amp, 1)
Ndef(\hypertext404).set(\freqoctave, 0)
Ndef(\hypertext404).set(\saturationMin, 0.1,\saturationMax, 2)
Ndef(\hypertext404).stop
Ndef(\hypertext404).clear
//////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////
b = Buffer.alloc(s, s.sampleRate * 10, 1)
Ndef(\recbuf, {RecordBuf.ar(\in.ar(0!2).at(0), b)})
Ndef(\recbuf, {RecordBuf.ar(\in.ar(0!2).at(0), b)})
(
Ndef(\input, {
var snd = SoundIn.ar([0,1]);
snd = Decimator.ar(snd, LFNoise1.kr(0.1).range(5000, 20000),
mul: LFNoise1.kr(0.1).range(0.05,0.3), add:snd);
snd = Greyhole.ar(in:snd, delayTime:0.5, damp:0.5, size:10,
diff:0.7, feedback:0.5, modDepth:1, modFreq:LFNoise1.kr(1/2).range(0.4,1)) * LFNoise1.ar(0.1).range(0.1,1)
+ snd ;
Limiter.ar(snd, 0.8)
})
)
Ndef(\input).fadeTime = 8
Ndef(\input).play(fadeTime:8)
Ndef(\recbuf) <<>.in Ndef(\input)
b.plot
// GRANULATE THE CONTENTS OF THE BUFFER
(
Ndef(\gran, {
var snd = GrainBuf.ar(2,
trigger: Impulse.ar(LFNoise1.kr(1/10!3).exprange(80, 180) * LFNoise0.ar(100).range(0.7,1.1)),
dur: LFNoise1.ar(1).range(0.08,0.1),
sndbuf: b,
rate:[1,1/2,2], pos:LFNoise1.kr(1/20!3).range(0,1),
pan: LFNoise0.ar(100).range(-1,1)
);
snd = LPF.ar(snd, LFNoise1.kr(1/10!3).exprange(500,10000));
snd = Mix(snd);
snd = JPverb.ar(snd, LFNoise1.kr(1/10!2).range(1,10)) + snd;
Limiter.ar(Mix(snd*0.7), 0.8) * Env.circle([0.5,0.3,0.5],90,\cub).kr * 0.01;
})
)
Ndef(\gran).fadeTime = 30
Ndef(\gran).play
Ndef(\gran).end(30) // fadeout
Ndef(\gran).stop // stop immediately

8
scd/lib/05-func.scd Normal file
View File

@ -0,0 +1,8 @@
// function to partially match filename for buffers
~getSmp = { |regexp|
~bfrList.detect { |buf|
regexp.matchRegexp(buf.path)
}
};

219
scd/lib/10-osc.scd Normal file
View File

@ -0,0 +1,219 @@
/////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////
// Open Sound Control to Processing
// osc connection
// TODO move to init
(
~conOsc = NetAddr.new("localhost", 12000);
//~conOsc = NetAddr.new("roosta.remote", 12000);
~sOsc = { // helper function to reduce redundancy
arg target, value;
target = "/" +/+ target; // +/+ does not add whitespace
~conOsc.sendMsg("/ctlin", target, value);
postln(">>> rcv/snd: /ctlin " + target + " value:" + value );
};
);
(
~oscTitles0a = {
~sOsc.("drawPlatesimgCbank", 7);
~sOsc.("drawPlatesimgCblendMode", 7);
~sOsc.("drawPlatesimgCid", 0);
~sOsc.("drawPlatesTexCspeed", 0);
~sOsc.("drawPlatesToggle", 1);
};
~oscTitles0b = {
~sOsc.("drawPlatesimgCbank", 7);
~sOsc.("drawPlatesimgCblendMode", 7);
~sOsc.("drawPlatesimgCid", 1);
~sOsc.("drawPlatesTexCspeed", 0);
~sOsc.("drawPlatesToggle", 1);
};
~oscTitles1 = {
~sOsc.("drawPlatesimgCid", 2);
~sOsc.("drawPlatesimgCbank", 7);
~sOsc.("drawPlatesimgCblendMode", 7);
~sOsc.("drawPlatesTexCspeed", 0);
~sOsc.("drawPlatesToggle", 1);
};
~oscTitles2 = {
~sOsc.("drawPlatesimgCid", 3);
~sOsc.("drawPlatesimgCbank", 7);
~sOsc.("drawPlatesimgCblendMode", 7);
~sOsc.("drawPlatesTexCspeed", 0);
~sOsc.("drawPlatesToggle", 1);
};
~oscTitles3 = {
~sOsc.("drawPlatesimgCid", 4);
~sOsc.("drawPlatesimgCbank", 7);
~sOsc.("drawPlatesimgCblendMode", 7);
~sOsc.("drawPlatesTexCspeed", 0);
~sOsc.("drawPlatesToggle", 1);
};
~oscTitles4 = {
~sOsc.("drawPlatesimgCid", 5);
~sOsc.("drawPlatesimgCbank", 7);
~sOsc.("drawPlatesimgCblendMode", 7);
~sOsc.("drawPlatesTexCspeed", 0);
~sOsc.("drawPlatesToggle", 1);
};
~oscTitles5 = {
~sOsc.("drawPlatesimgCid", 6);
~sOsc.("drawPlatesimgCbank", 7);
~sOsc.("drawPlatesimgCblendMode", 7);
~sOsc.("drawPlatesTexCspeed", 0);
~sOsc.("drawPlatesToggle", 1);
};
~oscTitles6 = {
~sOsc.("drawPlatesimgCid", 7);
~sOsc.("drawPlatesimgCbank", 7);
~sOsc.("drawPlatesimgCblendMode", 7);
~sOsc.("drawPlatesTexCspeed", 0);
~sOsc.("drawPlatesToggle", 1);
};
~oscTitles7 = {
~sOsc.("drawPlatesimgCid", 8);
~sOsc.("drawPlatesimgCbank", 7);
~sOsc.("drawPlatesimgCblendMode", 7);
~sOsc.("drawPlatesTexCspeed", 0);
~sOsc.("drawPlatesToggle", 1);
};
);
~drawImageBlenderInit = {
~sOsc.("drawImageBlenderToggle", 0);
~sOsc.("drawImageBlenderBank", 0 );
~sOsc.("drawImageBlenderID", 0);
~sOsc.("iblNum", 10); //{ iblNum = int(oscVal2) ; } // 6
~sOsc.("iblX", 64 ); //{ iblX = ((oscVal2-64) / 64.0) * width/2 ; } // 7 int( ((oscVal2-64) / 64.0) * width/2 ); }
~sOsc.("iblY", 64 ); //{ iblY = ((oscVal2-64) / 64.0) * width/2 ; } // 8
~sOsc.("iblWidth", 67); //{ iblWidth = oscVal2 * oscVal2 * 0.2 * norm(width, 0, width) ; } // 9 int(oscVal2 * oscVal2 * 0.05 * norm(width, 0, width));
~sOsc.("iblHeight", 70 ); //{ iblHeight = oscVal2 * oscVal2 * 0.1 * norm(height, 0, height) ; } // 10
~sOsc.("iblRot", 0 ); //{ iblRot = radians(oscVal2 * 360 / 120) ; } // 11
~sOsc.("iblTexWidth", 64 ); //{ iblTexWidth = (oscVal2 - 64) * oscVal2 ; } // 18
~sOsc.("iblTexHeight", 64 ); //{ iblTexHeight = (oscVal2 - 64) * oscVal2 ; } // 19
~sOsc.("iblTexSpeedXfactor", 64 ); //{ iblTexSpeedXfactor = ((oscVal2-64) * abs(oscVal2-64) * 0.6) ; } // 22
~sOsc.("iblTexSpeedYfactor", 64 ); //{ iblTexSpeedYfactor = ((oscVal2-64) * abs(oscVal2-64) * 0.6) ; } // 23
~sOsc.("iblH", 64 ); //{ iblH = int(oscVal2) ; } // 24
~sOsc.("iblS", 127); //{ iblS = int(oscVal2) ; } // 25
~sOsc.("iblB", 127 ); //{ iblB = int(oscVal2) ; } // 26
~sOsc.("iblA", 127 ); //{ iblA = int(oscVal2) ; } // 27
~sOsc.("iblBflicker", 0 ); //{ iblBflicker = int(oscVal2) ; } // 28
~sOsc.("iblItX", 64 ); //{ iblItX = ((oscVal2-64) * abs(oscVal2-64) * 0.1) ; } // 29
~sOsc.("iblItY", 64 ); //{ iblItY = ((oscVal2-64) * abs(oscVal2-64) * 0.1) ; } // 30
~sOsc.("iblItTexX", 0); //{ iblItTexX = oscVal2 * 4 ; } // 31
~sOsc.("iblItTexY", 0 ); //{ iblItTexY = oscVal2 * 4; } // 32
~sOsc.("iblItRot", 0); //{ iblItRot = radians(oscVal2) ; } // 33
};
// OSC tests ////////////////////////////////////////////////////////////////////////////////////////////
/*
(
// VIDEO player
~sOsc.value("playVideoToggle", 1);
~sOsc.value("playVideoBank", 0 );//) { playVideoBank = int(oscVal2); } // 44
~sOsc.value("playVideoID", 0 );//) { playVideoID = int(oscVal2); } // 45
~sOsc.value("playVideoPausePlay", 1 ); //) { playVideoPausePlay = boolean(int(oscVal2)); } // 47
~sOsc.value("playVideoHue", 64 ); //) { playVideoHue = int(oscVal2); } // 44
~sOsc.value("playVideoSaturation", 0 ); //) { playVideoSaturation = int(oscVal2); } // 44
~sOsc.value("playVideoBrightness", 127 ); //) { playVideoBrightness = int(oscVal2); } // 44
~sOsc.value("playVideoAlpha", 127 );//) { playVideoAlpha = int(oscVal2); } // 44
~sOsc.value("playVideoSpeed", 100); //) { playVideoPausePlay = boolean(int(oscVal2)); } // 47
~sOsc.value("playVideoJump", 25);
)
~sOsc.value("playVideoPausePlay", 0 );
~sOsc.value("playVideoPausePlay", 1 );
~sOsc.value("playVideoJump", rand(99));
// just don't use reverse/negatives!
~sOsc.value("playVideoSpeed", -100);
~sOsc.value("playVideoSpeed", 100);
~sOsc.value("playVideoToggle", 0);
// examples for SC->P5 connections
(
~subPattern1 = Pbind(*[
instrument: "subPulse",
dur: Pseq([6,6,4],inf),
note: Pseq([30], inf),
amp: 0.1,
filterCurve: Pseq([-1],inf),
imgspeed: Prand([1,2,3], inf),
imgdirection: Pseq([10,30,50,70,90,110,127], inf),
osc: Pfunc { |e|
~sOsc.value("drawPlatesTexAspeed", e.imgspeed);
~sOsc.value("drawPlatesTexAdirection", e.imgdirection);
}
]);
)
(
~cracklePattern0 = Pbind(*[
instrument: "cracklePulse",
dur: Pseq([16],inf),
length: Pseq([0.01], inf),
amp: 0.2,
chaos: Pseq([1.5], inf),
id: Pwalk( (0 .. 54), Prand([ -2,-1, 1, 2], inf)),
dir: Pseq([127,64], inf),
osc: Pfunc { |e|
~sOsc.value("drawFlylinesflyPixId", e.id);
~sOsc.value("drawFlylinesflyDirection", e.dir);
};
]);
)
*/

303
scd/lib/15-synthDefs.scd Normal file
View File

@ -0,0 +1,303 @@
// SynthDefs ///////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////
// INSTRUMENTS /////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////
// -- GRANULATION -- // -------------------------------------------------------------------
SynthDef(\granPlay, {
arg outBus = 0, bufnum = 0, gate = 1, rate = 1, amp = 0.1, atk = 4, rls = 4, sul = 1,
freq = 160, fvar = 1, gdur = 0.1, durvar = 0.01, gpos = 0, posvar = 0.01,
pitch = 1, pitchvar = 0, width = 1, gain = 0.3, autoPosN=0, autoPosS=0;
var snd, env, posOsc, posSin;
posOsc = LFNoise1.kr(1/8) * autoPosN;
posSin = SinOsc.kr(1/8) * autoPosS;
env = EnvGen.ar(
Env.adsr(
attackTime: atk,
decayTime: atk,
sustainLevel: sul,
releaseTime: rls),
gate, doneAction:2);
snd = GrainBuf.ar(
numChannels: 2,
trigger: Impulse.kr(freq + (freq * (fvar * LFNoise2.kr(freq)))), // a UGen?
dur: gdur + (durvar * LFNoise2.kr(freq)), // in seconds
sndbuf: bufnum,
rate: pitch + (pitchvar * LFNoise2.kr(5)), // pitch !! WHAT IS THE SPEED OF VARIATIONS? setable??
pos: gpos + (posvar * LFNoise2.kr(freq)) + posOsc + posSin, // position 0-1
interp: 2, // interpolation for pitchshifting
pan: LFNoise1.kr(10).range(width.neg, width), // if numChannels=2, similar to Pan2, -1 left, +1 right
maxGrains: 512,
mul: gain
);
snd = snd * env * amp;
Out.ar(outBus, snd);
}).add;
// -- PLAY BUFFER -- // -------------------------------------------------------------------
SynthDef(\playBuf, {
arg outBus = 0, bufnum = 0, gate=1, rate=1, start=0.4, atk=0.01, rls=0.01, amp=0.1, sdel=0, hpff=0;
var env, snd, rscale;
rscale = BufRateScale.kr(bufnum);
snd = PlayBuf.ar(1, bufnum, rscale * rate, gate,
//20000,
BufDur.kr(bufnum) * BufSampleRate.kr(bufnum) * start,
0);
snd = [snd, DelayL.ar(snd,0.2, sdel)];
snd = HPF.ar(snd, hpff);
env = EnvGen.ar(Env.adsr(atk, 0,1,rls), gate, doneAction:2);
snd = snd * env * amp ;
Out.ar(outBus, snd);
}).add;
// beep. -- // -------------------------------------------------------------------
SynthDef(\beep_sus,
{
arg outBus = 0, freq=440, gate=1, amp=0.1, sawamp = 0.1;
var snd;
snd = Pulse.ar(freq) + LFTri.ar(freq/ Rand(1.99,2.01)) + Saw.ar(freq * Rand(1.99,2.01), mul:sawamp);
snd = snd * EnvGen.kr(Env.cutoff, gate, doneAction:Done.freeSelf);
snd = snd * amp * 0.1;
Out.ar(outBus, snd!2);
}
).add;
//
// simplenoise -- // --------------------------------------------------------
SynthDef(\noise,
{
arg outBus = 0, freq=440, gate=1, amp=0.1;
var snd;
//snd = Pulse.ar(freq) + LFTri.ar(freq/ Rand(1.99,2.01)) + Saw.ar(freq * Rand(1.99,2.01), mul:sawamp);
snd = PinkNoise.ar(2);
snd = Dust2.ar(200, mul:4) + snd;
snd = HPF.ar(snd, 200);
snd = snd * EnvGen.kr(Env.cutoff, gate, doneAction:Done.freeSelf);
snd = snd * amp;
Out.ar(outBus, snd!2);
}
).add;
// 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 = EnvGen.kr(Env([0,1,0],[20,30], \cub, 1), gate, 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;
snd = SinOsc.ar(freq/4, mul:0.7)!2;
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 * env * amp;
Splay.ar(snd);
Out.ar(out, snd);
}).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);
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;
SynthDef(\lcmnoise, {
arg gate=1, outBus, amp1=0, amp2=1, amp=0.1;
var snd, revchain, env;
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 * EnvGen.ar(Env.perc(0, 0.1, Rand(10,10000), 4));
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;
env = Linen.kr(gate, 0, 1, 0, 2);
snd = snd * amp * env;
Out.ar(outBus, snd);
//snd = LPF.ar(snd.softclip, LFNoise1.ar(0.1).exprange(10000,20000)) * 0.8;
}).add;
// darksaw // ------------------------------------------------------
// "--- dark saw synthdef...".postln;
SynthDef(\softSaw, {
arg out = 0, freq = 40, oscdetune = 0.1, amp = 1, pan = 0,
gate = 1, attackTime = 0.1, susLevel = 1.0, releaseTime = 1.0, gainBus;
var env, snd;
oscdetune = oscdetune * 0.1;
amp = amp * 0.4;
env = Linen.kr(gate, attackTime, susLevel, releaseTime, doneAction:2);
snd = VarSaw.ar(
freq: [freq, freq * (1.003 + oscdetune)],
width: SinOsc.kr(0.01,0.2).range(0.05,0.095));
snd = snd + VarSaw.ar(
freq: [(freq*2 * (1.001 - oscdetune)),(freq*2 * (1 + oscdetune))],
width: SinOsc.kr(0.06,0.8).range(0.2,0.8));
snd = Balance2.ar(snd.at(0), snd.at(1), pos: pan);
snd = snd * amp * env ;
OffsetOut.ar(out, snd);
}).add;
/////////////////////////////////////////////////////////////////////////////////////////
// EFFECTS /////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////
// LOW PASS FILTER AS BUS EFFECT // ---------------------------------------------------
SynthDef(\lpfFX,
{
arg inBus, outBus = 0, cutoff = 500, cutoffLag = 5;
var snd, input;
input = In.ar(inBus,2);
snd = BLowPass4.ar(input, VarLag.kr(cutoff.max(50), cutoffLag, 0, warp:\exp));
Out.ar(outBus, snd);
}
).add;
// FEEDBACK DELAY WITH BANDPASS FILTER AND STEREO ROTATION // ----------------------------
SynthDef(\localFeedbackDelay1,
{
arg inBus, outBus = 0;
var snd, input, local;
input = In.ar(inBus,2);
local = LocalIn.ar(2) * \amount.kr(0.99);
local = BPF.ar(local, LFNoise1.kr(0.6).range(450,2000), LFNoise1.kr(0.1).range(0.8,1));
local = Rotate2.ar(local[0], local[1], 0.23);
local = AllpassN.ar(local, 0.05, {Rand(0.01,0.05)}.dup, 2);
local = DelayN.ar(local, 0.3, [0.26,0.19]);
local = AllpassN.ar(local, 0.05, {Rand(0.03,0.15)}.dup, 2);
local = LeakDC.ar(local);
local = local + input;
LocalOut.ar(local);
Out.ar(outBus, local);
}
).add;
// reverb synthdef
SynthDef(\revfx, { |inBus, outBus = 0, wet = 0.3, amp = 0.2|
var snd, rev;
snd = In.ar(inBus, 2);
//snd = BHiShelf.ar(snd, 5000, db:-3);
rev = GVerb.ar(snd, 100, taillevel:wet);
rev = rev * amp;
OffsetOut.ar(outBus, rev);
}).add;
// SATURATOR + REVERB // -----------------------------------------------------------
SynthDef(\saturator, {
arg inBus, outBus=0;
var snd, in, revsnd;
in = In.ar(inBus, 2);
//snd = AnalogTape.ar(in * LFNoise1.kr(1/4).range(1,2), 0.5, SinOsc.kr(1/4).range(0,1), 1, 0, 3) * 0.5;
snd = AnalogTape.ar(in * 2, 0.5, 1, 1, 0, 3) * 0.5;
snd = snd.sum;
revsnd = HPF.ar(snd,100);
snd = GVerb.ar(revsnd, 100, \revtime.kr(6), drylevel:0, earlyreflevel:\earlyreflevel.kr(0.3), taillevel:\taillevel.kr(0.3))
* 0.5 + snd;
snd = [snd[0], DelayL.ar(snd[1], 0.2, 0.02)];
//snd = in; // !! ---------
//snd = Limiter.ar(snd, 0.9, 0.1);
snd = snd * \amp.kr(0).lag3(\amplag.kr(10));
OffsetOut.ar(outBus, snd);
}).add;

BIN
scd/smp/BC_Bass017.wav Normal file

Binary file not shown.

BIN
scd/smp/BC_Bass155.wav Normal file

Binary file not shown.

BIN
scd/smp/BC_Bass167.wav Normal file

Binary file not shown.

BIN
scd/smp/BC_Bass168.wav Normal file

Binary file not shown.

BIN
scd/smp/BC_Bass170.wav Normal file

Binary file not shown.

BIN
scd/smp/BC_Bass174.wav Normal file

Binary file not shown.

BIN
scd/smp/BC_Bass178.wav Normal file

Binary file not shown.

BIN
scd/smp/BC_Bleeps007.wav Normal file

Binary file not shown.

BIN
scd/smp/BC_Bleeps009.wav Normal file

Binary file not shown.

BIN
scd/smp/BC_Bleeps015.wav Normal file

Binary file not shown.

BIN
scd/smp/BC_Bleeps018.wav Normal file

Binary file not shown.

BIN
scd/smp/BC_Bleeps085.wav Normal file

Binary file not shown.

BIN
scd/smp/BC_Bleeps111.wav Normal file

Binary file not shown.

BIN
scd/smp/BC_Bleeps133.wav Normal file

Binary file not shown.

BIN
scd/smp/BC_Bleeps140.wav Normal file

Binary file not shown.

BIN
scd/smp/BC_Bleeps148.wav Normal file

Binary file not shown.

BIN
scd/smp/BC_Bleeps152.wav Normal file

Binary file not shown.

BIN
scd/smp/BC_Bleeps153.wav Normal file

Binary file not shown.

BIN
scd/smp/BC_Bleeps157.wav Normal file

Binary file not shown.

BIN
scd/smp/BC_Bleeps178.wav Normal file

Binary file not shown.

BIN
scd/smp/BC_Bleeps199.wav Normal file

Binary file not shown.

BIN
scd/smp/BC_Bleeps210.wav Normal file

Binary file not shown.

BIN
scd/smp/BC_Hats074.wav Normal file

Binary file not shown.

BIN
scd/smp/BC_Hats075.wav Normal file

Binary file not shown.

BIN
scd/smp/BC_Hats076.wav Normal file

Binary file not shown.

BIN
scd/smp/BC_Hats077.wav Normal file

Binary file not shown.

BIN
scd/smp/BC_Hats078.wav Normal file

Binary file not shown.

BIN
scd/smp/BC_Hats079.wav Normal file

Binary file not shown.

BIN
scd/smp/BC_Hats081.wav Normal file

Binary file not shown.

BIN
scd/smp/BC_Hats082.wav Normal file

Binary file not shown.

BIN
scd/smp/BC_Hats083.wav Normal file

Binary file not shown.

BIN
scd/smp/BC_Hats085.wav Normal file

Binary file not shown.

BIN
scd/smp/BC_Hats088.wav Normal file

Binary file not shown.

BIN
scd/smp/BC_Hats104.wav Normal file

Binary file not shown.

BIN
scd/smp/BC_Hats108.wav Normal file

Binary file not shown.

BIN
scd/smp/BC_Hats119.wav Normal file

Binary file not shown.

BIN
scd/smp/BC_Hats120.wav Normal file

Binary file not shown.

BIN
scd/smp/BC_Kicks003.wav Normal file

Binary file not shown.

BIN
scd/smp/BC_Kicks010.wav Normal file

Binary file not shown.

BIN
scd/smp/BC_Kicks019.wav Normal file

Binary file not shown.

BIN
scd/smp/BC_Kicks026.wav Normal file

Binary file not shown.

BIN
scd/smp/BC_Kicks027.wav Normal file

Binary file not shown.

BIN
scd/smp/BC_Kicks030.wav Normal file

Binary file not shown.

BIN
scd/smp/BC_Kicks051.wav Normal file

Binary file not shown.

BIN
scd/smp/BC_Kicks062.wav Normal file

Binary file not shown.

BIN
scd/smp/BC_Long002.wav Normal file

Binary file not shown.

BIN
scd/smp/BC_Long005.wav Normal file

Binary file not shown.

BIN
scd/smp/BC_Long007.wav Normal file

Binary file not shown.

BIN
scd/smp/BC_Long009.wav Normal file

Binary file not shown.

BIN
scd/smp/BC_Long010.wav Normal file

Binary file not shown.

BIN
scd/smp/BC_Long011.wav Normal file

Binary file not shown.

BIN
scd/smp/BC_Long014.wav Normal file

Binary file not shown.

BIN
scd/smp/BC_Long020.wav Normal file

Binary file not shown.

BIN
scd/smp/BC_Long022.wav Normal file

Binary file not shown.

BIN
scd/smp/BC_Long025.wav Normal file

Binary file not shown.

BIN
scd/smp/BC_Long033.wav Normal file

Binary file not shown.

BIN
scd/smp/BC_Long037.wav Normal file

Binary file not shown.

BIN
scd/smp/BC_Misc034.wav Normal file

Binary file not shown.

BIN
scd/smp/BC_Misc106.wav Normal file

Binary file not shown.

BIN
scd/smp/BC_Misc188.wav Normal file

Binary file not shown.

BIN
scd/smp/BC_Misc270.wav Normal file

Binary file not shown.

BIN
scd/smp/BC_Misc292.wav Normal file

Binary file not shown.

BIN
scd/smp/BC_Snare007.wav Normal file

Binary file not shown.

BIN
scd/smp/BC_Snare010.wav Normal file

Binary file not shown.

BIN
scd/smp/BC_Snare025.wav Normal file

Binary file not shown.

BIN
scd/smp/BC_Snare026.wav Normal file

Binary file not shown.

BIN
scd/smp/BC_Snare027.wav Normal file

Binary file not shown.

BIN
scd/smp/BC_Snare045.wav Normal file

Binary file not shown.

BIN
scd/smp/BC_Snare063.wav Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
scd/smp/RawGlitch_243.wav Normal file

Binary file not shown.

BIN
scd/smp/RawGlitch_249.wav Normal file

Binary file not shown.

BIN
scd/smp/RawGlitch_254.wav Normal file

Binary file not shown.

BIN
scd/smp/RawGlitch_259.wav Normal file

Binary file not shown.

BIN
scd/smp/RawGlitch_260.wav Normal file

Binary file not shown.

BIN
scd/smp/RawGlitch_272.wav Normal file

Binary file not shown.

BIN
scd/smp/RawGlitch_282.wav Normal file

Binary file not shown.

BIN
scd/smp/RawGlitch_285.wav Normal file

Binary file not shown.

BIN
scd/smp/RawGlitch_318.wav Normal file

Binary file not shown.

BIN
scd/smp/RawGlitch_321.wav Normal file

Binary file not shown.

BIN
scd/smp/RawGlitch_335.wav Normal file

Binary file not shown.

BIN
scd/smp/RawGlitch_336.wav Normal file

Binary file not shown.

BIN
scd/smp/RawGlitch_345.wav Normal file

Binary file not shown.

BIN
scd/smp/RawGlitch_355.wav Normal file

Binary file not shown.

BIN
scd/smp/RawGlitch_361.wav Normal file

Binary file not shown.

BIN
scd/smp/RawGlitch_366.wav Normal file

Binary file not shown.

BIN
scd/smp/RawGlitch_370.wav Normal file

Binary file not shown.

BIN
scd/smp/RawGlitch_383.wav Normal file

Binary file not shown.

BIN
scd/smp/RawGlitch_390.wav Normal file

Binary file not shown.

BIN
scd/smp/RawGlitch_398.wav Normal file

Binary file not shown.

BIN
scd/smp/RawGlitch_412.wav Normal file

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More