fixed spatialisation and tuned pitch transpositions Dseq
parent
199c07c246
commit
69fc075715
71
gtr.scd
71
gtr.scd
|
@ -1,4 +1,5 @@
|
|||
|
||||
|
||||
(
|
||||
s.reboot{
|
||||
s.options.numBuffers = 1024 * 256; // increase this if you need to load more samples
|
||||
|
@ -36,6 +37,7 @@ thisProcess.openUDPPort(57121);
|
|||
|
||||
// RUNME 2 ==========================================
|
||||
// -------------------------------------------------
|
||||
|
||||
( // DEFINE SYNTHS --------------------------------- <--
|
||||
// -------------------------------------------------
|
||||
( // direct signal + reverb -------------------------
|
||||
|
@ -49,7 +51,6 @@ SynthDef("dryIn", { arg in=0, instrPanModeIndex=0, out=0, sensorInstrPan=0;
|
|||
instrPanMode4 = LFSaw.kr(0.33).bipolar.range(-1,1);
|
||||
instrPanMode5 = LFNoise1.kr(10).range(-1, 1);
|
||||
|
||||
|
||||
instrPan = Select.kr(instrPanModeIndex,
|
||||
[instrPanMode0, instrPanMode1, instrPanMode2, instrPanMode3, instrPanMode4, instrPanMode5, sensorInstrPan]);
|
||||
|
||||
|
@ -91,19 +92,20 @@ SynthDef("recBuf",{
|
|||
// ~rndpos = LFNoise2.kr(0.1).range(0, 1);
|
||||
|
||||
SynthDef(\buf_grain, { | out, gate = 1, amp = 0.5,
|
||||
sndbuf, envbuf, pan=0, imp=30,
|
||||
sndbuf, envbuf, pan=0, imp=50,
|
||||
pitchmodeindex=0, sensorpitch=1, sensorgdur=0.1, sensorgpan=0,
|
||||
positionmodeindex=0, gdurmodeindex=0, gpanmodeindex=0,
|
||||
sensorposition=0, impulsemodeindex=0, sensorimpulse=0,
|
||||
signalChannelIndex=0, dseqarrayIndex=1,
|
||||
signalChannelIndex=1, dseqarrayIndex=1,
|
||||
rlow= -1, rhigh=10 |
|
||||
|
||||
|
||||
var signal, env, freqdev, pos,
|
||||
pitchmode0, pitchmode1, pitchmode2,pitchmode3,pitchmode4,pitchmode5, pitchmode6, pitch,
|
||||
gdurmode0, gdurmode1, gdurmode2, gdurmode3, gdurmode4, gdurmode5, gdurmode6, gdur,
|
||||
gpanmode0, gpanmode1, gpanmode2, gpan,
|
||||
positionmode0, positionmode1, positionmode2, positionmode3, position,
|
||||
impulsemode0, impulsemode1, impulse, dseq, dseq_array1, dseq_array2, dseq_array3, dseq_array4, dseq_array5, dseq_array6, stereosignal, quadsignalL, quadsignalR, quadsignal, signalchannels;
|
||||
impulsemode0, impulsemode1, impulse, xdseq, dseq_array1, dseq_array2, dseq_array3, dseq_array4, dseq_array5, dseq_array6, stereosignal, quadsignalL, quadsignalR, quadsignal, signalchannels;
|
||||
|
||||
// grain duration mode -untransposed, random, or sensor controlled
|
||||
gdurmode0 = 0.2;
|
||||
|
@ -124,31 +126,35 @@ SynthDef(\buf_grain, { | out, gate = 1, amp = 0.5,
|
|||
gpan = Select.kr(gpanmodeindex,
|
||||
[gpanmode0, gpanmode1, gpanmode2, sensorgpan]);
|
||||
|
||||
// grain pitch mode -untransposed, random, or sensor controlled
|
||||
// grain pitch mode -untransposed, random, or sensor controlled
|
||||
|
||||
dseq_array1 = Dseq([1,-1, 2, 1, -1.5, 1, 1.33, 1, -0.5, 1, 3, 1, 2.37, 1, -0.33, 1], inf);
|
||||
dseq_array2 = Dseq([1,-1, -0.5, 1, 1.33, 1], inf);
|
||||
dseq_array3 = Drand([(1..5).mirror.midiratio], inf);
|
||||
dseq_array4 = Drand([1,-1, 2, 1, -1.5, 1, 1.33, 1, -0.5, 1, 3, 1, 2.37, 1, -0.33, 1], inf);
|
||||
dseq_array5 = Dseq([1,-1, -0.5, 1, 1.33, 1], inf);
|
||||
Scale.minor.degrees.midiratio;
|
||||
|
||||
|
||||
dseq = [dseq_array1, dseq_array2,dseq_array3, dseq_array4, dseq_array5];
|
||||
dseq_array1 = Dseq([1,-1, 2, 1, -1.5, 1, 1.33, 1, -0.5, 1, 3, 1, 2.37, 1, -0.33, 1], inf);
|
||||
dseq_array2 = Dseq([1,-1, -0.5, 1, 1.33, 1], inf);
|
||||
dseq_array3 = Drand([(1..5).mirror.midiratio], inf);
|
||||
dseq_array4 = Drand(Scale.minor.degrees.midiratio, inf);
|
||||
dseq_array5 = Dseq([1,-1, -0.5, 1, 1.33, 1], inf);
|
||||
//
|
||||
//
|
||||
// xdseq = [dseq_array1, dseq_array2,dseq_array3, dseq_array4, dseq_array5];
|
||||
|
||||
dseqarrayIndex =1;
|
||||
|
||||
pitchmode0 = 1;
|
||||
pitchmode1 = Demand.kr(Impulse.kr(imp), 0, dseq[0]);
|
||||
pitchmode2 = Demand.kr(Impulse.kr(imp), 0, dseq[1]);
|
||||
pitchmode3 = Demand.kr(Impulse.kr(imp), 0, dseq[2]);
|
||||
pitchmode4 = Demand.kr(Impulse.kr(imp), 0, dseq[3]);
|
||||
pitchmode5 = Demand.kr(Impulse.kr(imp), 0, dseq[4]);
|
||||
pitchmode1 = Demand.kr(Impulse.kr(imp), 0, Dseq([1,-1, 2, 1, -1.5, 1, 1.33, 1, -0.5, 1, 3, 1, 2.37, 1, -0.33, 1], inf));
|
||||
pitchmode2 = Demand.kr(Impulse.kr(imp), 0, Drand(Scale.minor.degrees.midiratio, inf) * Drand([0.5, 0.25,1,2], inf));
|
||||
pitchmode3 = Demand.kr(Impulse.kr(imp), 0, Dseq([1,-1, -0.5, 1, 1.33, 1], inf));
|
||||
pitchmode4 = Demand.kr(Impulse.kr(imp), 0, Drand([0.5, 0.25,1,2], inf));
|
||||
pitchmode5 = Demand.kr(Impulse.kr(imp), 0, Drand(Scale.diminished.degrees.midiratio, inf));
|
||||
pitchmode6 = LFNoise1.kr(imp).range(rlow, rhigh);
|
||||
|
||||
|
||||
pitch = Select.kr(pitchmodeindex,
|
||||
[pitchmode0, sensorpitch, pitchmode1, pitchmode2 ,pitchmode3, pitchmode4, pitchmode5, pitchmode6]);
|
||||
|
||||
|
||||
|
||||
// granular playhead mode - fixed random or sensor controlled
|
||||
positionmode0 = 0.2;
|
||||
positionmode1 = (Phasor.ar(0.01, 1 * BufRateScale.ir(b), 0, BufSamples.ir(b)) + LFNoise1.ar(100).bipolar(0.1 * SampleRate.ir) ) / BufSamples.ir(b);
|
||||
|
@ -161,7 +167,6 @@ SynthDef(\buf_grain, { | out, gate = 1, amp = 0.5,
|
|||
// grain impulse frequency mode - random, metric or sensor based impulse modes
|
||||
impulsemode0 = Impulse.kr(imp);
|
||||
impulsemode1 = Dust.kr(imp);
|
||||
|
||||
impulse = Select.kr(impulsemodeindex,
|
||||
[impulsemode0, impulsemode1, sensorimpulse]);
|
||||
|
||||
|
@ -169,16 +174,6 @@ SynthDef(\buf_grain, { | out, gate = 1, amp = 0.5,
|
|||
|
||||
signal = TGrains.ar(4, impulse, b, pitch, position, gdur, gpan, amp, 4) * env;
|
||||
|
||||
////////stereosignal = signal;
|
||||
|
||||
//quadsignalL = PanAz.ar(4, signal[0], MouseX.kr(0,2));
|
||||
//quadsignalR = PanAz.ar(4, signal[1], MouseX.kr(0,2).range(2,0));
|
||||
////////quadsignal = signal; //Mix.ar([quadsignalL, quadsignalR]);
|
||||
|
||||
////////signalchannels = Select.ar(signalChannelIndex, [stereosignal, quadsignal]);
|
||||
|
||||
//signal = signalchannels;
|
||||
|
||||
Out.ar(0, signal);
|
||||
|
||||
}).add;
|
||||
|
@ -194,7 +189,7 @@ SynthDef(\buf_grain, { | out, gate = 1, amp = 0.5,
|
|||
// TODO NO EPRAND IN INSTR!
|
||||
|
||||
r = Synth(\recBuf, [\in, 0, \out, 0, \bufnum, b, \t_trig, 0]); // recorder
|
||||
~g1 = Synth(\buf_grain, [\sndbuf, b, \amp, 0.6, \envbuf, -1, \gate, 1, doneAction: 2]); // granulate
|
||||
~g1 = Synth(\buf_grain, [\sndbuf, b, \amp, 0.5, \envbuf, -1, \gate, 1, doneAction: 2]); // granulate
|
||||
~gtrIn = Synth(\dryIn); // dry audio signaL
|
||||
|
||||
));
|
||||
|
@ -203,11 +198,12 @@ SynthDef(\buf_grain, { | out, gate = 1, amp = 0.5,
|
|||
// ----------------------------------------------------
|
||||
|
||||
|
||||
|
||||
(( // OSC Receivers // ENABLE SENSOR AND SWITCH VALUES <--
|
||||
// ----------------------------------------------------
|
||||
~pitchmode = 0; ~positionmode = 0; ~impulsemode = 1;
|
||||
~gdurmode=0; ~gpanmode=1; ~channelmode=0;
|
||||
~instrPanMode =0;
|
||||
~gdurmode=0; ~gpanmode=0; ~channelmode=0;
|
||||
~instrPanMode=0;
|
||||
|
||||
~btnstate = [];
|
||||
~btnsA = [];
|
||||
|
@ -254,7 +250,7 @@ SynthDef(\buf_grain, { | out, gate = 1, amp = 0.5,
|
|||
//~g1.set(\sensorgpan, msg[2].linlin(-1, 1, -1, 1));
|
||||
//~g1.set(\signalChannelIndex, ~channelmode );
|
||||
|
||||
~gtrIn.set(\instrPan, msg[2].linlin(-1, 1, -1, 1));
|
||||
~gtrIn.set(\sensorInstrPan, msg[2].wrap(0, 5).linlin(0, 5, -1, 1));
|
||||
~gtrIn.set(\instrPanModeIndex, ~instrPanMode);
|
||||
//msg.postln;
|
||||
|
||||
|
@ -373,7 +369,7 @@ p = OSCdef(\keys, { arg msg, time, addr, recvPort;
|
|||
// GTR INPUT =======================
|
||||
if (msg[11]==1,
|
||||
{
|
||||
( ~btn10val = (~btn10val + 1) % 7 ) ;
|
||||
( ~btn10val = (~btn10val + 1) % 9 ) ;
|
||||
|
||||
switch(~btn10val,
|
||||
|
||||
|
@ -384,6 +380,9 @@ p = OSCdef(\keys, { arg msg, time, addr, recvPort;
|
|||
4, { ~gtrIn.set(\in, 0 ); ~instrPanMode=3; "DRY L/R PAN {STEREO}".postln; },
|
||||
5, { ~gtrIn.set(\in, 0 ); ~instrPanMode=4; "DRY ROTATE {QUAD}".postln; },
|
||||
6, { ~gtrIn.set(\in, 0 ); ~instrPanMode=5; "DRY RaND {QUAD}".postln; },
|
||||
7, { ~gtrIn.set(\in, 0 ); ~instrPanMode=6; "DRY SENSOR {QUAD}".postln; },
|
||||
8, { ~gtrIn.set(\in, 0 ); ~instrPanMode=7; "DRY SENSOR {QUAD}".postln; },
|
||||
|
||||
)
|
||||
});
|
||||
|
||||
|
@ -426,7 +425,7 @@ p = OSCdef(\keys, { arg msg, time, addr, recvPort;
|
|||
{
|
||||
( ~btn14val = (~btn14val + 1) % 7 ) ;
|
||||
switch(~btn14val,
|
||||
0, { ~gdurmode = 0; ~g1.set(\imp, 40); "DURATION MODE 0".postln; },
|
||||
0, { ~gdurmode = 0; ~g1.set(\imp, 64); "DURATION MODE 0".postln; },
|
||||
1, { ~gdurmode = 1; ~g1.set(\imp, 30); "DURATION MODE 1".postln; },
|
||||
2, { ~gdurmode = 2; ~g1.set(\imp, 20); "DURATION MODE 2".postln; },
|
||||
3, { ~gdurmode = 3; ~g1.set(\imp, 15); "DURATION MODE 3".postln; },
|
||||
|
@ -524,6 +523,9 @@ r.set(\overdub, 0); // off
|
|||
~g1.set(\gate, 1); // granulator on
|
||||
~g1.set(\gate, 0); // granulator off
|
||||
|
||||
~g1.set(\amp, 0.5); // granulator off
|
||||
|
||||
|
||||
a = Scale.major;
|
||||
|
||||
|
||||
|
@ -545,3 +547,4 @@ a = Scale.major;
|
|||
//n = NetAddr.new("224.0.1.9", 6696);
|
||||
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue