SafetyLimiter - true peak limiter

Hi all, I have released a new UGen called SafetyLimiter, check it out:

SafetyLimiter is a “true peak” limiter with 4x oversampling used to compute the signal peak. You can configure the hold and release times to control the tradeoff between recovery time and pumping distortion. Unlike Limiter, it is zero latency and therefore no lookahead (may be a future addition). The DSP behind SafetyLimiter is not complex or magical, but I’ve found it does the job well and sounds more transparent than Limiter especially when pushed hard.

Here’s the Amen break:

First audio amplified 10x and put through a Limiter:

First audio amplified 10x and put through SafetyLimiter on default settings:


Absolutely awesome Nathan !!!

Thank you, this is very useful to me!

This is great ! Thank you Nathan !

Huge improvement! Thank you

Really good, thanks for sharing this, and an extra thanks for making it public domain!

This is great. Thanks! :slightly_smiling_face:

I would actually support an always-on limiter as a default in SuperCollider. For obvious reasons…

I actually just created a quark that would make this pretty easy to implement. See the example here and just change out HPF with SafetyLimiter:


Going a bit off topic here, but the SafetyNet Quark does this.

Mads your quark looks super handy too. Some interesting uses for things other than safety that I can think of.

@nathan Thanks for sharing this. I’m really looking forward to trying it out. The sound example you posted – it sounds great.

1 Like

Yah my quark is actually just generalising the structure of Safety net (and adding some extra things that are handy). I use the trick a lot for ambisonics work where you need a decoder at the end of the signal to monitor on speakers or headphones.

I would support an always-on limiter as an easy-to-enable option but not as something which I would be forced to disable in my environment.


I should really finish a half-written tutorial on my hard drive on how to protect your ears when using SuperCollider. Avoiding volume accidents isn’t super hard, but requires good habits that are sometimes non-obvious. Make sure you upgrade to 3.12.0, because macOS now clips as it should.

Article done: Balancing levels and volume safety in SC


I’m getting fatal error

[ 25%] Building CXX object CMakeFiles/SafetyLimiter_supernova.dir/plugins/SafetyLimiter/SCSafetyLimiter.cpp.o
In file included from /Applications/supercollider-safety-limiter/plugins/SafetyLimiter/SCSafetyLimiter.cpp:2:
/Applications/supercollider-safety-limiter/plugins/SafetyLimiter/SCSafetyLimiter.hpp:4:10: fatal error: 'safety_limiter.hpp' file not found
#include "safety_limiter.hpp"

on M1 mac…

Make sure you’ve downloaded submodules with git submodule update --init.

yay! thx nathan (minimum character filler)

Also note: Limiter itself isn’t absolutely reliable !

Yayyy so cool! Thank you so much!!

I added this to the arch user repository for those using Arch based systems: