You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
55 lines
1.3 KiB
Plaintext
55 lines
1.3 KiB
Plaintext
(
|
|
// Load single buffer (user switches manually)
|
|
b = Buffer.read(s,
|
|
"/home/lcoogan/snd/live/2025-04-26.Basic_City_Brewery/granular/Cantorial/old/Ribono_Shel_Olom.wav");
|
|
)
|
|
|
|
(
|
|
// SynthDef without the combo switch functionality
|
|
SynthDef(\pv16knob, {
|
|
|out=0,
|
|
bufnum=0,
|
|
l1CC=0, l2CC=0, // CC values (no combo switching)
|
|
l1Amp=1, l2Amp=1,
|
|
pvAmp=1, pvMix=1,
|
|
fil1Type=0, res1=0.3, fil2Type=0, res2=0.3,
|
|
verb=0, comb=0, fold=0, sply=0,
|
|
mast=1
|
|
|
|
|
|
|
var sig, chain, base, fftSize = 2048;
|
|
|
|
base = PlayBuf.ar(1, bufnum, loop: 1);
|
|
sig = base;
|
|
|
|
chain = FFT(LocalBuf(fftSize), sig);
|
|
|
|
// IFFT and effects applied directly to the signal
|
|
sig = IFFT(chain) * l1Amp + IFFT(chain) * l2Amp;
|
|
sig = SelectX.ar(pvMix, [base, sig]) * pvAmp;
|
|
|
|
// Filters
|
|
sig = Select.ar(fil1Type, [
|
|
RLPF.ar(sig, 1200, res1),
|
|
LPF.ar(sig, 1200),
|
|
HPF.ar(sig, 1200),
|
|
BPF.ar(sig, 1200),
|
|
Formlet.ar(sig, 1000, 0.05, 0.005)
|
|
]);
|
|
|
|
sig = BLowShelf.ar(sig, 500, 1, res2) + BHiPass.ar(sig, 1500, res2);
|
|
|
|
// Effects
|
|
sig = FreeVerb.ar(sig, mix: verb);
|
|
sig = CombC.ar(sig, 0.3, 0.2, comb * 0.5);
|
|
sig = Fold.ar(sig, 1 + fold);
|
|
sig = Splay.ar(sig) * sply;
|
|
|
|
Out.ar(out, sig * mast);
|
|
}).play;
|
|
)
|
|
|
|
(
|
|
// Instantiate the synth
|
|
~pvSynth = Synth(\pv16knob, [\bufnum, b.bufnum]);
|
|
) |