1
0
Fork 0

adding supercollider files and samples

main
Luka Prinčič 6 months ago
parent 936118699a
commit 781692a3f0
  1. 1529
      scd/dev/devel.scd
  2. 327
      scd/dev/ndefs.scd
  3. 8
      scd/lib/05-func.scd
  4. 219
      scd/lib/10-osc.scd
  5. 303
      scd/lib/15-synthDefs.scd
  6. BIN
      scd/smp/BC_Bass017.wav
  7. BIN
      scd/smp/BC_Bass155.wav
  8. BIN
      scd/smp/BC_Bass167.wav
  9. BIN
      scd/smp/BC_Bass168.wav
  10. BIN
      scd/smp/BC_Bass170.wav
  11. BIN
      scd/smp/BC_Bass174.wav
  12. BIN
      scd/smp/BC_Bass178.wav
  13. BIN
      scd/smp/BC_Bleeps007.wav
  14. BIN
      scd/smp/BC_Bleeps009.wav
  15. BIN
      scd/smp/BC_Bleeps015.wav
  16. BIN
      scd/smp/BC_Bleeps018.wav
  17. BIN
      scd/smp/BC_Bleeps085.wav
  18. BIN
      scd/smp/BC_Bleeps111.wav
  19. BIN
      scd/smp/BC_Bleeps133.wav
  20. BIN
      scd/smp/BC_Bleeps140.wav
  21. BIN
      scd/smp/BC_Bleeps148.wav
  22. BIN
      scd/smp/BC_Bleeps152.wav
  23. BIN
      scd/smp/BC_Bleeps153.wav
  24. BIN
      scd/smp/BC_Bleeps157.wav
  25. BIN
      scd/smp/BC_Bleeps178.wav
  26. BIN
      scd/smp/BC_Bleeps199.wav
  27. BIN
      scd/smp/BC_Bleeps210.wav
  28. BIN
      scd/smp/BC_Hats074.wav
  29. BIN
      scd/smp/BC_Hats075.wav
  30. BIN
      scd/smp/BC_Hats076.wav
  31. BIN
      scd/smp/BC_Hats077.wav
  32. BIN
      scd/smp/BC_Hats078.wav
  33. BIN
      scd/smp/BC_Hats079.wav
  34. BIN
      scd/smp/BC_Hats081.wav
  35. BIN
      scd/smp/BC_Hats082.wav
  36. BIN
      scd/smp/BC_Hats083.wav
  37. BIN
      scd/smp/BC_Hats085.wav
  38. BIN
      scd/smp/BC_Hats088.wav
  39. BIN
      scd/smp/BC_Hats104.wav
  40. BIN
      scd/smp/BC_Hats108.wav
  41. BIN
      scd/smp/BC_Hats119.wav
  42. BIN
      scd/smp/BC_Hats120.wav
  43. BIN
      scd/smp/BC_Kicks003.wav
  44. BIN
      scd/smp/BC_Kicks010.wav
  45. BIN
      scd/smp/BC_Kicks019.wav
  46. BIN
      scd/smp/BC_Kicks026.wav
  47. BIN
      scd/smp/BC_Kicks027.wav
  48. BIN
      scd/smp/BC_Kicks030.wav
  49. BIN
      scd/smp/BC_Kicks051.wav
  50. BIN
      scd/smp/BC_Kicks062.wav
  51. BIN
      scd/smp/BC_Long002.wav
  52. BIN
      scd/smp/BC_Long005.wav
  53. BIN
      scd/smp/BC_Long007.wav
  54. BIN
      scd/smp/BC_Long009.wav
  55. BIN
      scd/smp/BC_Long010.wav
  56. BIN
      scd/smp/BC_Long011.wav
  57. BIN
      scd/smp/BC_Long014.wav
  58. BIN
      scd/smp/BC_Long020.wav
  59. BIN
      scd/smp/BC_Long022.wav
  60. BIN
      scd/smp/BC_Long025.wav
  61. BIN
      scd/smp/BC_Long033.wav
  62. BIN
      scd/smp/BC_Long037.wav
  63. BIN
      scd/smp/BC_Misc034.wav
  64. BIN
      scd/smp/BC_Misc106.wav
  65. BIN
      scd/smp/BC_Misc188.wav
  66. BIN
      scd/smp/BC_Misc270.wav
  67. BIN
      scd/smp/BC_Misc292.wav
  68. BIN
      scd/smp/BC_Snare007.wav
  69. BIN
      scd/smp/BC_Snare010.wav
  70. BIN
      scd/smp/BC_Snare025.wav
  71. BIN
      scd/smp/BC_Snare026.wav
  72. BIN
      scd/smp/BC_Snare027.wav
  73. BIN
      scd/smp/BC_Snare045.wav
  74. BIN
      scd/smp/BC_Snare063.wav
  75. BIN
      scd/smp/MARO_saudade_saudade.wav
  76. BIN
      scd/smp/MARO_saudade_saudade_CUT1.wav
  77. BIN
      scd/smp/MARO_saudade_saudade_CUT2.wav
  78. BIN
      scd/smp/MARO_saudade_saudade_CUT3.wav
  79. BIN
      scd/smp/MARO_saudade_saudade_CUT4.wav
  80. BIN
      scd/smp/RawGlitch_243.wav
  81. BIN
      scd/smp/RawGlitch_249.wav
  82. BIN
      scd/smp/RawGlitch_254.wav
  83. BIN
      scd/smp/RawGlitch_259.wav
  84. BIN
      scd/smp/RawGlitch_260.wav
  85. BIN
      scd/smp/RawGlitch_272.wav
  86. BIN
      scd/smp/RawGlitch_282.wav
  87. BIN
      scd/smp/RawGlitch_285.wav
  88. BIN
      scd/smp/RawGlitch_318.wav
  89. BIN
      scd/smp/RawGlitch_321.wav
  90. BIN
      scd/smp/RawGlitch_335.wav
  91. BIN
      scd/smp/RawGlitch_336.wav
  92. BIN
      scd/smp/RawGlitch_345.wav
  93. BIN
      scd/smp/RawGlitch_355.wav
  94. BIN
      scd/smp/RawGlitch_361.wav
  95. BIN
      scd/smp/RawGlitch_366.wav
  96. BIN
      scd/smp/RawGlitch_370.wav
  97. BIN
      scd/smp/RawGlitch_383.wav
  98. BIN
      scd/smp/RawGlitch_390.wav
  99. BIN
      scd/smp/RawGlitch_398.wav
  100. BIN
      scd/smp/RawGlitch_412.wav
  101. Some files were not shown because too many files have changed in this diff Show More

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.

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

Loading…
Cancel
Save