feat(data-only): global filter cutoff width drive
This commit is contained in:
@@ -21,6 +21,7 @@
|
||||
|
||||
// -- Reset Synths d'une eventuelle relance -------------------------
|
||||
~doRev !? { ~doRev.free };
|
||||
~doFilter !? { ~doFilter.free };
|
||||
~doMaster !? { ~doMaster.free };
|
||||
~doMasterGroup !? { ~doMasterGroup.free };
|
||||
|
||||
@@ -37,6 +38,19 @@ s.waitForBoot {
|
||||
Out.ar(out, dry + (wet * mix));
|
||||
}).add;
|
||||
|
||||
SynthDef(\do_master_filter, { |out=0, cutoff=20000, width=1.0, drive=1.0|
|
||||
var sig, mid, side; // all vars first (sclang rule)
|
||||
sig = In.ar(out, 2);
|
||||
sig = RLPF.ar(sig, cutoff.clip(80, 20000).lag(0.08), 0.7);
|
||||
sig = (sig * drive.clip(1, 4).lag(0.05)).tanh;
|
||||
// stereo width via mid/side
|
||||
mid = (sig[0] + sig[1]) * 0.5;
|
||||
side = (sig[0] - sig[1]) * 0.5 * width.clip(0, 1).lag(0.08);
|
||||
sig = [mid + side, mid - side];
|
||||
sig = LeakDC.ar(sig);
|
||||
ReplaceOut.ar(out, sig);
|
||||
}).add;
|
||||
|
||||
SynthDef(\do_master, { |out=0, gain=1.0, ceil=0.95|
|
||||
var sig = In.ar(out, 2);
|
||||
// Compression douce sur le bus master
|
||||
@@ -55,6 +69,7 @@ s.waitForBoot {
|
||||
// -- Lance le rack FX --
|
||||
~doRev = Synth.tail(~doMasterGroup, \do_reverb,
|
||||
[\in, ~doReverbBus, \out, 0, \mix, 0.4]);
|
||||
~doFilter = Synth.tail(~doMasterGroup, \do_master_filter, [\out, 0]);
|
||||
~doMaster = Synth.tail(~doMasterGroup, \do_master,
|
||||
[\out, 0, \gain, 1.0]);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user