Add LeakDC+Limiter when expecting beginners?

Hi,

I’m making a node editor for scsynth. This makes SC more accessible for people who know nothing about synths. Should I automatically wrap the output bus with LeakDC + Limiter to protect people harming their speakers when playing with this system?

Why not? (also maybe add a CheckBadValues)

but also maybe give them outputs that are DC-coupled (without the leakDC) so they can control modular synths

1 Like

Hi Henry,

Have a look at the SafetyNet quark:

It uses
ServerTree.add(treeFunc, server);
to permanently add some processes that can help tame output.

e.g.
from:

\safeLimit, {
var limitCtl = \limit.kr(limit);
var mainOuts = In.ar(0, numChans);
var safeOuts = ReplaceBadValues.ar(mainOuts);
var limited = Limiter.ar(safeOuts, limitCtl);
ReplaceOut.ar(0, limited);
}

So, besides Limiter and LeakDC, also have a look at the ReplaceBadValues UGen, which intends to cicumvent things like filters blowing up due to unexpected input …
Good luck !

jk

1 Like

Makes sense, just one add: even Limiter itself is not absolutely safe, see this bug report:

Though, it’s easy to fix that with clip2 applied (example from the issue tracker):

{ 
	var thr = 1;
	Limiter.ar(LFPulse.ar(10, mul: 2 ** 30), thr).clip2(thr)
}.plot(1)


1 Like