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