As far as I can tell limiter design is a dark art. Here's one (that imposes a hard limit just within the (-1, 1) range - I made this for "music101" where I needed a hard limit and am assuming the input signal is a voice (so unlikely to have extremely fast attacks)...
cheers Miller
#N canvas 219 162 342 348 12; #N canvas 125 146 761 589 limiter 0; #X obj 61 108 inlet~; #X obj 75 135 abs~; #X obj 75 160 slop~ 0 0 5 0 1e+09; #X obj 74 192 *~ 10.1; #X obj 487 88 array define $0-limit 1000; #X obj 542 155 loadbang; #X obj 542 180 t b b; #X obj 542 205 1000; #X obj 542 230 until; #X obj 542 255 f; #X obj 574 255 + 1; #X obj 598 209 0; #X obj 542 280 t f f; #X obj 458 365 tabwrite $0-limit; #X obj 491 157 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 444 320 expr min(1 , 10/(max(1 , $f1))); #X obj 74 217 tabread4~ $0-limit; #X obj 61 249 *~; #X obj 61 276 outlet~; #X obj 241 107 inlet~; #X obj 255 134 abs~; #X obj 255 159 slop~ 0 0 5 0 1e+09; #X obj 254 191 *~ 10.1; #X obj 254 216 tabread4~ $0-limit; #X obj 241 248 *~; #X obj 241 275 outlet~; #X connect 0 0 1 0; #X connect 0 0 17 0; #X connect 1 0 2 0; #X connect 2 0 3 0; #X connect 3 0 16 0; #X connect 5 0 6 0; #X connect 6 0 7 0; #X connect 6 1 11 0; #X connect 7 0 8 0; #X connect 8 0 9 0; #X connect 9 0 10 0; #X connect 9 0 12 0; #X connect 10 0 9 1; #X connect 11 0 9 1; #X connect 12 0 15 0; #X connect 12 1 13 1; #X connect 14 0 6 0; #X connect 15 0 13 0; #X connect 16 0 17 1; #X connect 17 0 18 0; #X connect 19 0 20 0; #X connect 19 0 24 0; #X connect 20 0 21 0; #X connect 21 0 22 0; #X connect 22 0 23 0; #X connect 23 0 24 1; #X connect 24 0 25 0; #X restore 88 148 pd limiter; #X f 11;
On Sat, Apr 24, 2021 at 10:46:04AM +0200, Peter P. wrote:
Hi list,
nice weather today, isn't it?
I am trying to understand the [pd compander-limiter] example from slop~'s help patch because I need a 0dBFS brickwall limiter as abstraction without externals.
When set to the "no change" parameters, the example will still saturate any signals hotter than 0dBFS.
I don't understand what the ratio parameter does, especially its unit and range. It is 100 for dynamic reduction and 200 for expansion in the examples.
Furthermore the threshold parameter is 100 for "expansion" and "compression", but 60 for "noise gate"...
"Limit" does introduce audible saturation for signals above 0dBFS and I am wondering which paramters could prevent this. Lowering the speed parameter to values smaller than 50 improves this a bit. Is speed an inverse attack time parameter perhaps?
And I can't seem to make sense of the boost parameter.
Any hints are greatly appreciated! Thanks in advance!
Peter
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://urldefense.com/v3/__https://lists.puredata.info/listinfo/pd-list__;!...