Diff from Mono2eN - SynthDef by Callum Goddard (26 Mar'13 16:54) to Mono2eN - Ndef, slightly altered by LFSaw (26 Mar'13 18:01)
name
Mono2eN - SNdef, slightlyn althDefred
description
The synthdef version of the mono2eN system, slightly adapted - a multichannel autospatilisation musical performance tool.
code
// patch for benjolin spatialisation, =original S2012 by Callum Goddard
// adapted and altered by Till Bovermann
(
q = q ? ();
q.intChannerl = 0;
q.numOutChalns = 4;
s.bwaitForBoot;{
NdefMixer(s);
SynthD Ndef("4\for8",).fadeTime {= 10;
Spec.arg widd(\roth=2, lSpevel=d, [-10.5, 10]);
Spec.add(\posLag, [0, 5, \exp]);
Spec.add(\posLag, [0.001, 5, \exp]);
Spec.add(\shifter, [0.25, // 4]);
Spech.angdd(\drive, to[0, match10, numb4]);
(
Ndef(\for8, of{|drive = 1, routSput aueedi = 1, posLag c= 0.1, shanniftels
var numChans = 6;1|
var in, amp, pos=0, width, sig, sig2, sig2pan, out, chain, chainSpec, centroid,;
var freq, hasFreq, freq2, hasFreq2;
var numInternalChannels = 4;
in = SoundIn.ar(0q.inChannel); // input
# freq, widthasFreq = P\widtch.kr(4);
in,
// camlculate spThectral ceshntrolid: 0.09,
m(cedian: 7);
frteqr = ofreq * hmasFreq* 0.01;s)
freq.p// doll;
ch some maginSpec = FFT(Lto scalBuf(2048,e 1), in);t properly
centroid = ((
SpecCentroid.kr(
FFT(LochalBuf(2048, 1), inSpec);
centroid ) = ((centroid * 0.0005
) - 0.3 ) * 10;
// new possition determined by centroid, linearly lagged
pos = VarLag.kar(
K2A.ar(centroid,
0.9,
);, // smooths the position
// PLanAzg, position0) of* rothSpe souned;
sig = PanAz.ar(
numInternalChannels,
in,
pos,
level0.5,
width,
).;
// Freezr
#freq, hasFreq = Pitch.kr(
in,
ambpThreshold: 0.09,
median: 7
);
freq = freq * hasFreq * 0.01;
chain = FFT({LocalBuf(2048, 1)}.dup(q.numOutChans), sig);
chain = PV_MagFreeze(
chain,
SinOsc.kar(
(freq*100).lag2(\laggin.kr(0.1), 0)
)
);
sig2 = IFFT(chain);
sig2pan = SplayAz.ar(
numInternalChannels,
sig2,
center: LFSaw.ar(0.125)
);
// Msixing wet= PitchShift.and dry (signa, 0.05, shifter, 0);
(SplayAz.ar(
o q.numOutChans, =
Mix([sig, + sig2pan;]).scramble
) * drive).tanh;
})
);
//Ndef('four8').set('shifter', =1.0, 'pout*sLag', 0.82647;
Ou347718014, 'fadeTime', 10, 'width', 2.0, 'laggin', 0.76778019328278, 'dr(ive', 1.0, 'routSpeed', 0.1);
}
Ndef('for8').set('shifter', 1.0, 'posLag', 0.27577667345515, 'fadeTime', 10, 'width', 2.0, 'laggin', 1.078391331802, 'drive', 4.4666739998668, 'rotSpeed', -0.1);
)
//Ndef(
x = Synth("4'for8"')
x.set(\'shifter', 1.0, 'posLag', 0.021611250555475, 'fadeTime', 10, 'width', 54.0, \'leaggin', 0.17982121468705, 'drivel', 6.9880842593118, 'rotSpeed', 0.4);
Ndef('for8').play(
vol: 0.6914284026465
);
}
)
Ndef(\tester, {SoundIn.ar(0)})
NdefMixer(s)
category tags
code fork, spatial, performance tool
ancestors
1-4T6