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:

16 Likes

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:

3 Likes

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.

hjh

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…

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:
https://aur.archlinux.org/packages/supercollider-safety-limiter-git/