spookyDelay.scd — SuperCollider
(
SynthDef(\spookyDelay, {
arg in, out=0, amp=0, freq=100, rq=1;
var sig, band, comb0, comb1, comb2, comb3, comb4, comb5;
sig = [comb0, comb1, comb2, comb3, comb4, comb5];
Out.ar(out, sig);
}).add;
)
noise_waves.scd — SuperCollider
SynthDef(\noise_waves, {
arg amp=(-5), out=0, atk=0.6, rel=4, start=1.75, end=1.5,mid=1.25, width=2;
var sig, env, lfo, lay1, lay2, lay3;
env = EnvGen.kr(Env([0,1,0], [atk,rel],[4,-4]),doneAction:2);
sig = PinkNoise.ar(0.6);
lay1 = RHPF.ar(sig, env.linlin(0,1,220,2200), env.linlin(0,1,0.08,0.4), 0.3);
lay2 = RHPF.ar(sig, env.linlin(0,1,440,4400), env.linlin(0,1,0.08,0.3), 0.3);
lay3 = RHPF.ar(sig, env.linlin(0,1,330,3300), env.linlin(0,1,0.09,0.3), 0.3);
sig = RLPF.ar(sig, env.linlin(0,1,20,500), env.linlin(0,1,0.08,0.3), 0.4);
sig = lay1 + lay2 + lay3 + sig + BrownNoise.ar(LFNoise2.ar(0.5).linlin(-1,1,0.2,0.4));
sig = PanAz.ar(4,sig, EnvGen.kr(Env([start,mid,end], [atk,rel],[4,-4]),doneAction:2));
sig = sig * amp.dbamp * env;
Out.ar(out, sig);
}).add;
player.scd — SuperCollider
~gran[0].set(\bufNum, ~buffer_1.bufnum);
~gran[1].set(\amp, 1);
~fx.set(\pitch, 5);
~fx.set(\delaywet, 0);
(
~gran[0] = Synth(\gran_1a, [\bufNum, ~buffers[\parle][0].bufnum,\out, ~bus[\granBus], \amp,0.8], ~mainGrp);
~gran[1] = Synth(\gran_1a, [\bufNum, ~buffers[\synth][3].bufnum,\out, ~bus[\granBus], \amp,0.8], ~mainGrp);
~gran[2] = Synth(\gran_1a, [\bufNum, ~buffers[\perc][2].bufnum,\out, ~bus[\granBus], \amp,0.8], ~mainGrp);
)
(
~voice = OSCFunc({
arg msg;
case
{msg[2] == 'amp'} {~gran[msg[1]].set(\amp,msg[3]); }
{msg[2] == 'fx1'} {~fx.set(\pitch,msg[3].linlin(0,1,0,2)); }
{msg[2] == 'fx2'} {~fx.set(\delaywet,msg[3].linlin(0.5,1,-1, 0)); }
{msg[2] == 'triggerRight' && msg[1] == 0} {~rev.set(\drywet,msg[3].linlin(0,1,0.0,1).postln); }
{msg[2] == 'triggerLeft' && msg[1] == 0} {~comb_saturation.set(\drywet,msg[3].linlin(0,1,-1,1)); }
{msg[2] == 'joystick0y'} {~gran[msg[1]].set(\granDur,msg[3].linexp(0,1,0.01,0.3)); }
{msg[2] == 'joystick0y'} {~gran[msg[1]].set(\trigRate,msg[3].linexp(0,1,3,150)); }
{msg[2] == 'joystick0x'} {~gran[msg[1]].set(\rate, msg[3].linexp(0,1,0.2,10));}
{msg[2] == 'joystick0x'} {~gran[msg[1]].set(\posDev, msg[3].linlin(0,1,-0.5,0.5));}
},'/voice';
);
)
~voice.free;
OSCFunc.trace(false)
radio.scd — SuperCollider
SynthDef(\radio, {
arg amp=(-5), trig=0, in=0, out=0, sizes=2048, freqHpf=0, mod=1, test=0;
var sig, chain, env, gate, dry, wet, mags, phases, modAmp;
dry = SoundIn.ar(in, 1);
chain = FFT(LocalBuf(sizes, 1), dry);
chain = PV_MagFreeze(chain, trig);
chain = PV_Diffuser(chain, trig);
chain = PV_BrickWall(chain, -0.80);
wet = IFFT(chain)* 0.dbamp;
wet = wet + HPF.ar(wet, 1000, 1);
wet = FreeVerb.ar(wet, 0.2, 0.2, 0.2);
sig = XFade2.ar(dry, wet, trig.exprange(-1,1));
modAmp = Saw.kr(mod).linexp(-1,1,-60, -1);
sig = HPF.ar(sig, freqHpf);
if (mod != 0,{
sig = sig * modAmp.dbamp*amp.dbamp.lag(1);
},
{sig = sig * 1.5 * amp.dbamp.lag(1) }
);
sig = Pan2.ar(sig);
Out.ar(out, sig);
}).add;
events.scd — SuperCollider
(
~makeEvents = {
e = Dictionary.new;
e.add(\init -> {
~one = Synth(\radio, [\in, 0, \mod,1, \out, 4, \amp, -60], ~mainGrp);
~recBuff = Buffer.alloc(s, s.sampleRate * 5, 1);
~recBuff_samp = Buffer.alloc(s, s.sampleRate * 5, 1);
~radioRead = Synth(\AudioInputMono, [\input, 0, \out, ~bus[\radioBus], \amp, 0], ~radioGrp);
~sampRead = Synth(\in, [\in_1, ~bus[\pitch], \in_2, ~bus[\pitch_2], \out, ~bus[\sampBus], \amp, 0], ~delayValhGrp);
~radioPtr = Synth(\ptr, [\buf, ~recBuff, \out, ~bus[\ptrBus]], ~ptrGrp);
~sampPtr = Synth(\ptr, [\buf, ~recBuff_samp, \out, ~bus[\ptrBusSamp]], ~massiveValhGrp);
~radioRecord = Synth(\rec, [\ptrIn, ~bus[\ptrBus], \micIn, ~bus[\radioBus], \buf, ~recBuff], ~recGrp);
~sampRecord = Synth(\rec, [\ptrIn, ~bus[\ptrBusSamp], \micIn, ~bus[\sampBus], \buf, ~recBuff_samp], ~arrache);
~env_grad= Buffer.sendCollection(s, Env([0, 1,0.5,0], [0.001, 0.1,0.2], [-4,-4, -2]).discretize, 1);
});
e.add(\loadPresets-> {
~vstMassiveSynth.loadPreset("dirtyVerb1");
});
e.add(\event1 -> {
~bullenap.free;
~spat_bull.stop;
~masterNappes.set(\lag, 0.49);
~masterNappes.set(\width, 5.0);
~bullenap = Synth(\audioBuf, [\buf, ~buffers[\bullenap][0], \loop, 1,\out, ~bus[\masterNappes], \amp, -1],~mainGrp);
cricket.scd — SuperCollider
SynthDef(\cricket, {
arg freq=55, amp=0.1, out=0, pan=0, gate=1, harmo=2500, sus=0.2;
var sig, env, sig1, sig2, sig3, sig4, band1, band2, band3, band4;
env = EnvGen.ar(Env([0,1,1,0],[0.1,sus,0.1], -5), gate, doneAction:2);
/* freq = Rand(45, 75);
harmo = Rand(2450, 2800);*/
sig1 = Formant.ar(freq, harmo, 77)*0.5;
band1 = BPF.ar(sig1, 50, 0.01);
sig2 = Formant.ar(freq, harmo, 77)*0.3;
band2 = BPF.ar(sig2, 2500, 0.01);
sig3 = Formant.ar(freq, 8000, 100)*0.3;
band3 = BPF.ar(sig3, 8000, 0.02);
sig4 = Formant.ar(freq, harmo, 50)*0.2;
band4 = BPF.ar(sig4, 12000, 0.02);
sig = (sig1+sig2+sig3+sig4) * env * amp;
Out.ar(out, sig);
}).add;
gran.scd — SuperCollider
SynthDef(\gran,{
arg sync=1, dens=20, gDur=0.1, durRand=1, buf=0, rate=1, pos=0, posSpeed=0, posRand=0, grainEnv=(-1), pan=0, panHz=0.1, panRand=0, atk=1, sus=1, rel=1, c0=1, c1=2, amp=(-5), out=0, rq=1, minDens=1, freqFilter=1500, maxC=(-8), minC=4, trig=0;
var sig, env, densCtrl, durCtrl, posCtrl, panCtrl, density, fade;
c0 = XLine.kr(maxC,minC,sus/4);
density = XLine.kr(dens,minDens,sus);
env = EnvGen.ar(Env.new([0,1,0], [atk,sus,rel], [c0,c1]), doneAction:2);
fade = EnvGen.ar(Env.new([1,1,0], [0.001,1], [c0,-4]), trig, doneAction:2);
densCtrl = Select.ar(sync, [Dust.ar(density), Impulse.ar(density)]);
durCtrl = gDur * LFNoise1.kr(100).exprange(1/durRand,durRand);
posCtrl = Phasor.ar(0, posSpeed * BufRateScale.ir(buf), 0, BufSamples.ir(buf)-1);
posCtrl = posCtrl + LFNoise1.kr(100).bipolar(posRand*SampleRate.ir);
posCtrl = posCtrl / BufSamples.ir(buf);
posCtrl = posCtrl + pos;
panCtrl = pan + LFNoise1.kr(panHz).bipolar(panRand);
sig = GrainBuf.ar (
4,
densCtrl,
durCtrl,
buf,
rate,
posCtrl,
2,
panCtrl,
grainEnv
);
sig = sig * env * amp.dbamp;
sig = sig * (1 * fade);
Out.ar(out,sig);
}).add;
template_noise.scd — SuperCollider
s.options.sampleRate_(48000);
(
SynthDef(\n, {
arg freq=220, amp=(-20), out=0, mult=0.5, rate=1, rq=0.2, clip=1.01, rqBand=0.1, delRate=0.3;
var sig, env, tri, bpf, numBands;
numBands = 12;
env = EnvGen.kr(Env.new([0,1], [5],-4));
tri = LFTri.ar(freq + (freq *(1..4)*0.5)).sum;
freq = freq * (1+(0..8)*mult.lag(5));
sig = Saw.ar(freq.lag(10)).sum;
sig = sig + tri;
6.do{
sig = RLPF.ar(sig, LFNoise1.kr(rate.lag(5)).linexp(-1,1,150,8000), rq.lag(5));
sig=(sig*clip.lag(5)).softclip;
};
bpf = BPF.ar(sig, (0..numBands - 1).linexp(0,numBands - 1, 200, 8000),rqBand.lag(5)).sum;
sig = CombL.ar(sig,3, LFNoise2.kr(delRate.lag(2)).linexp(-1,1,0.01,0.4), 3, LFNoise2.kr(0.1).linexp(-1,1,0.2,1));
sig = Pan2.ar(sig, LFNoise2.kr(0.2));
bpf = Pan2.ar(bpf,0);
sig = sig + bpf;
sig = Limiter.ar(sig);
sig = sig * env * amp.dbamp.lag(3);
Out.ar(out,sig);
}).add;
)
~play = Synth(\n, [\amp, -15, \freq,150]);
~play.set(\clip, 1.5);
~play.set(\amp, -5);
(
~rout.stop;
~rout = Routine{
inf.do{
voyelles.scd — SuperCollider
f = Dictionary.new;
f.add(\iF1 -> 275);
f.add(\iF2 -> 2585);
f.add(\iF3 -> 3815);
f.add(\iF4 -> 4521);
f.add(\eF1 -> 405);
f.add(\eF2 -> 2553);
f.add(\eF3 -> 3346);
f.add(\eF4 -> 4325);
f.add(\aF1 -> 830);
f.add(\aF2 -> 1438);
f.add(\aF3 -> 2900);
f.add(\aF4 -> 4065);
f.add(\uF1 -> 291);
f.add(\uF2 -> 779);
f.add(\uF3 -> 2648);
f.add(\uF4 -> 3980);
)
(
~test = Synth(\fordiph, [
\fact, ~o,
\mult, 0.5,
\dura, 6,
\amp, -20,
\f1, f[\iF1],
\f2, f[\iF2],
\f3, f[\iF3],
\f4, f[\iF4],
\fnd, 130]);
)
(
~x.stop;
~x = Pbind(
\instrument, \fordiph,
\dur, Pseq([1/64],inf),
\amp, -30,
waltz.scd — SuperCollider
(
SynthDef(\ac, {
arg note=220, out=0, amp=(-5), atk=0.2, rel=0.1, sus=1, detune=1.01;
var sig, env, midi;
midi = note.midicps;
env = EnvGen.kr(Env([0,1,1,0], [atk, sus, rel], [1.5,0,-2]), doneAction:2);
sig = LFSaw.ar([midi, midi*2], mul:[0.7, 0.2]);
sig = (sig + Pulse.ar([midi, midi*2] * detune,1.5, mul:0.9)).sum;
sig = BLowShelf.ar(sig, midi/2, 0.5, -15);
sig = LeakDC.ar(sig).tanh;
sig = sig * env * amp.dbamp;
sig = Pan2.ar(sig);
Out.ar(out, sig);
}).add;
SynthDef(\efe, {
arg in, out=0, pitch=1, delay=0.2, sat=1, amp=(-5), dw=0, pan=0, damp=1, rate=48000, bits=24 ;
var dry, wet, sig;
dry = In.ar(in, 2);
wet = dry + CombL.ar(dry, 0.8, delay.lag(3), damp.lag(5), 1);
wet = Decimator.ar(wet, rate.lag(2), bits.lag(2));
wet = PitchShift.ar(wet,0.1, pitch.lag(5)).sum;
wet = (wet * sat.lag(3)).tanh;
wet = Pan2.ar(wet, pan.lag(2));
sig = Balance2.ar(dry, wet, dw.lag(2));
sig = BHiShelf.ar(sig, 2500, 0.8);
sig = sig * amp.dbamp;
Out.ar(out, sig);
}).add;
)
~bus = Bus.audio(s, 2);
(
~effetbus = Synth.new(
zwing.scd — SuperCollider
(
SynthDef(\, {
arg freq = 50, rate=2, amp=(-15), clip=1.1, atk=0.001, witch=0;
var sig, sig2, env;
env = Select.ar(witch, [Env.perc(atk,1).ar(Done.freeSelf), EnvGen.ar(Env.new([0,1,1,0], [0.5,1,0.5], [4,-4]), doneAction:2)]);
sig = Ringz.ar(Saw.ar(freq.lag(10) * [1,2,3,4,5,6]), freq * ([1,2,3]*Rand(0.1,2).lag(1)),1).sum;
sig2 = SinOsc.ar(freq.lag(0.1) * (1+((1..20)*0.05))).sum;
sig = sig +sig2;
5.do{
sig = RLPF.ar(sig, LFNoise2.kr(rate).linexp(-1,1,250,8000).lag(Rand(0.01,1)), Rand(0.1,1).lag(0.5));
sig = BPF.ar(sig, (0..8).linexp(0,8, 80,800),Rand(0.001,1).lag(0.1)).sum;
sig = (sig * clip.lag(10)).softclip;
};
sig = Limiter.ar(sig);
sig = sig + CombL.ar(sig, LFNoise2.ar(0.3).linexp(-1,1,0.01,0.4),LFNoise1.ar(0.6).linexp(-1,1,0.01,0.5),10);
sig = sig * env* amp.dbamp;
sig = Pan2.ar(sig, LFNoise2.kr(Rand(0.1,10)));
Out.ar(0, sig);
}).add;
)
(
~s = Routine{
inf.do{
~drone = Synth(\, [\witch, 1,\atk, 1, \freq,50, \amp,-15,\clip, 0.9]);
4.do{
~x = Synth(\, [
\witch, 0,
\freq,rrand(20,100),
\rate, rrand(10,100),
\clip, rrand(0.9,1.02),
\atk, rrand(0.001,0.3),
]);
rrand(0.1,0.3).wait;
};
rrand(0.3,0.8).wait;
};
init.scd — SuperCollider
(
"loadBuffers.scd".loadRelative;
"busses.scd".loadRelative;
"nodes.scd".loadRelative;
~gran = Array.fill(3, {()});
~projectPath=PathName(thisProcess.nowExecutingPath).parentPath;
~sampleDirPath=~projectPath++"samples/";
ServerBoot.add(~loadSamples);
ServerBoot.add(~makeBusses);
s.waitForBoot({
s.sync;
"synthdef.scd".loadRelative;
ServerTree.add(~makeNodes);
s.freeAll;
s.sync;
"done".postln;
});
)
(
events_villa.scd — SuperCollider
(
~makeEvents = {
e = Dictionary.new;
e.add(\init -> {
~one = Synth(\dj, [\in, 0, \out, 6, \amp, -60], ~mainGrp);
~recBuff = Buffer.alloc(s, s.sampleRate * 5, 1);
~djRead = Synth(\AudioInputStereo, [\input, 0, \out, ~bus[\djBus], \amp, 0], ~djGrp);
~djPtr = Synth(\ptr, [\buf, ~recBuff, \out, ~bus[\ptrBus]], ~ptrGrp);
~djRecord = Synth(\rec, [\ptrIn, ~bus[\ptrBus], \micIn, ~bus[\djBus], \buf, ~recBuff], ~recGrp);
~env_grad= Buffer.sendCollection(s, Env([0, 1,0.5,0], [0.001, 0.1,0.2], [-4,-4, -2]).discretize, 1);
});
e.add(\loadPresets-> {
});
e.add(\event1 -> {
});
e.add(\event2 -> {
});
e.add(\event3 -> {
});
e.add(\event4 -> {
~g.do({ arg n; n.set(\gate, 0, \rel, 1) });
fonComb.scd — SuperCollider
(
SynthDef(\fonComb, {
arg in, out=0, amp=0, freq=100, rq=1;
var sig, band, comb0, comb1, comb2, comb3, comb4, comb5;
sig = In.ar(in, numChannels:2);
band=12;
comb0 = BPF.ar(
in: sig[0],
freq: (0..band).linexp(0, band, freq, freq*12),
rq: rq/100,
mul: 0.5
).sum;
comb1 = BPF.ar(
in: sig[1],
freq: (0..band).linexp(0,band,freq,freq*12),
rq: rq/100,
mul: 0.5
).sum;
comb2 = BPF.ar(
in: sig[0],
freq: (0..band).élinexp(0,band,freq,freq*12),
rq: rq/100,
mul: 0.5
).sum;
comb3 = BPF.ar(
in: sig[1],
freq: (0..band).linexp(0,band,freq,freq*12),
rq: rq/100,
mul: 0.5
).sum;
comb4 = BPF.ar(
in: sig[0],
freq: (0..band).linexp(0,band,freq,freq*12),
rq: rq/100,
mul: 0.5
fordiph.scd — SuperCollider
(
SynthDef(\fordiph, {
arg fnd = 80, amp=(-5), out=0, pan=0, f1=300, f2=750, f3=2300,f4=4600, mult=0.5, fact= 5/4, dura=3, lagTime=5, atk=0.1;
var sig, env, dipho, f1d, f2d, f3d, f4d, vibra,formvar;
env = EnvGen.kr(Env.perc(atk, dura, 1,[0,-4]), doneAction:2);
vibra = SinOsc.ar(0.03).linlin(-1,1,-1.5,1.5);
sig = Formant.ar(
fnd.lag3(3)+vibra,[
f1.lag3(3),
f2.lag3(3),
f3.lag3(3),
f4.lag3(3)],
fnd.lag3(3)*5, 1);
dipho = Formant.ar(fnd.lag3(lagTime), [
f1.lag(lagTime)*fact.lag(lagTime),
f2.lag(lagTime)*fact.lag(lagTime),
f3.lag(lagTime)*fact.lag(lagTime),
f4.lag(lagTime)*fact.lag(lagTime),
],
fnd.lag(lagTime)*6,
SinOsc.ar(0.1).linlin(-1,1,0.1,0.3)+mult.lag(2));
formvar = SinOsc.ar(25).linlin(-1,1,0.02,0.1);
f1d = RHPF.ar(dipho, (f1*fact.lag(2)-1), 0.5, 0.5);
f2d = Resonz.ar(dipho, f2*fact.lag(2), formvar, 0.4);
f3d = Resonz.ar(dipho, f3*fact.lag(2), formvar, 0.3);
f4d = Resonz.ar(dipho, f4*fact.lag(2), formvar, 0.3);
dipho = (f1d +f2d +f3d + f4d).sum;
dipho = FreeVerb.ar(dipho, 0.33, 0.3, 0.5);
sig = (sig + dipho).sum;
sig = sig + RLPF.ar(LFSaw.ar(fnd.lag(3),0.2,0.3), fnd.lag(3), 0.05, XLine.kr(1, 0.001, dura+1));
sig = sig * env * amp.dbamp;
sig = Pan2.ar(sig, pan);
Out.ar(out, sig);
}).add;
~t = 3/2;
~q = 5/4;
bass.scd — SuperCollider
SynthDef(\bass, {
arg atk=2, sus=0,rel=3, c1=1, c2=(-1), freq=500, detune=0.2, cfhzmin=0.1, cfhzmax=0.3, cfmin=500, cfmax=2000, rqmin=0.1, rqmax=0.2, lsf=200, ldb=6, amp=(-1), out=0, pan=0;
var sig, env;
env = EnvGen.kr(Env([0,1,1,0],[atk,sus,rel], [c1,0,c2]),doneAction:2);
sig = Saw.ar(freq * {LFNoise1.kr(0.5, detune)}!4);
sig = BPF.ar(
sig,
{LFNoise1.kr(
LFNoise1.kr(4).exprange(cfhzmin, cfhzmax)).exprange(cfmin, cfmax)}!2,
{LFNoise1.kr(0.1).exprange(rqmin, rqmax)}!2
);
sig = BLowShelf.ar(sig, lsf, 0.5, ldb);
sig = sig * env * amp.dbamp;
sig = LPF.ar(sig, 10000);
sig = Limiter.ar(sig);
Out.ar(out,sig);
}).add;
granRadio.scd — SuperCollider
SynthDef(\granRadio,{
arg sync=1, dens=20, baseDur=0.05, durRand=1, buf=0, rate=1, rateRand=1, grainEnv=(-1), panHz=0.1, panRand=0, atk=1, rel=1, amp=(-3), gate=1, out=0,out2=0, ptrBus=0, ptrSampleDelay=20000, ptrRandSamples=5000, minPtrDelay=1000, curve=(-8), hpf=25, switch=1, rq=0.5, freqFilter=2700, bufIndex=0, bufpos=0, panRate=0.5;
var sig, env, densCtrl, durCtrl, panCtrl, rateCtrl, ptr, ptrRand, totalDelay, maxGrainDur, pan, sig2, start;
start = EnvGen.kr(Env.new([0,1], [0.2],2));
env = EnvGen.ar(Env.asr(atk,1,rel,[4,curve]), gate, doneAction:2);
densCtrl = Select.ar(sync, [Dust.ar(dens), Impulse.ar(dens)]);
durCtrl = baseDur * LFNoise1.kr(100).exprange(1/durRand,durRand);
rateCtrl = rate.lag(1) * LFNoise1.ar(100).exprange(1/rateRand, rateRand);
ptrRand = LFNoise1.ar(100).bipolar(ptrRandSamples);
totalDelay = max(ptrSampleDelay - ptrRand, minPtrDelay);
ptr = In.ar(ptrBus, 1);
ptr = ptr - totalDelay;
ptr = ptr / BufFrames.kr(buf);
maxGrainDur = (totalDelay / rateCtrl) / SampleRate.ir;
durCtrl = min(durCtrl, maxGrainDur);
pan = LFNoise2.ar(panRate);
sig = GrainBuf.ar (
4,
densCtrl,
durCtrl,
buf,
rateCtrl,
ptr,
2,
pan,
grainEnv
);
sig2 = GrainBuf.ar (
1,
densCtrl,
durCtrl,
buf,
dj.scd — SuperCollider
SynthDef(\dj, {
arg amp=(-5), trig=0, in1=0,in2=0, out=0, sizes=2048, freqHpf=100, mod=1, test=0, sidechain=0;
var sig, chain, env, gate, dry, wet, mags, phases, modAmp;
dry = SoundIn.ar([in1,in2]);
sig = dry;
Out.ar(out, sig);
}).add;