adding supercollider files and samples
parent
936118699a
commit
781692a3f0
File diff suppressed because it is too large
Load Diff
|
@ -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
|
|
@ -0,0 +1,8 @@
|
|||
|
||||
|
||||
// function to partially match filename for buffers
|
||||
~getSmp = { |regexp|
|
||||
~bfrList.detect { |buf|
|
||||
regexp.matchRegexp(buf.path)
|
||||
}
|
||||
};
|
|
@ -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);
|
||||
};
|
||||
]);
|
||||
)
|
||||
|
||||
*/
|
|
@ -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;
|
||||
|
||||
|
||||
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue