[PD] limiter questions

Frank Barknecht fbar at footils.org
Wed Aug 26 10:57:23 CEST 2009


Hallo,
Mirko Maier hat gesagt: // Mirko Maier wrote:

> > 1) Is there any reason not to use [limiter~] (i.e. to stay Vanilla)?
> 
> I would like to understand it! And [limiter~] also produces a dampening not in the right moment (my 2nd question).
> 
> > 2) To avoid clicks, look at:
> > 
> > [num\
> > |
> > [pack 0 50]
> > |
> > [line~]
> 
> That doesn't work in my patch, there is still a big peak when i give a short (10 ms) loud sound.

... which is normal, because your input signal has a short click, too. A
limiter will not elimiate clicks of arbitrary shortness. A lowpass filter does
that or a clipper.

> > 3) [env~] gives "RMS amplitude which (for a sinusoid) is about 3 dB 
> > below peak-to-peak amplitude" (from the [env~] help patch).  For a 
> > limiter you are definitely interested in the peaks and not the average!!!!

A limiter does not fully eliminate peaks (see above). If you *really* want
everything be below the cliping range, you would use [clip~ -1 1]. But that
would not sound right and would give distortion. You can still use clip~ after
the limiter if you want to be extra cautious.  But any "real" limiter will use
an analysis over a certain number of samples and calculate the average of that to
change the volume. 
 
Anyway you should definitely declick the limiting operation as well the way
Derek described, i.e. with a line~. Limiters and compressors generally let you
configure the interpolation time with controlls like attack and release times.

Attached is a declicked version of your patch, which also has an input declicker.

You can find e_dynproc in the rj librarya here: 
http://trac.rjdj.me/browser/trunk/rjlib/rj

Ciao
-- 
Frank
-------------- next part --------------
#N canvas 355 0 1011 635 12;
#X floatatom 426 284 5 0 0 0 - - -;
#X obj 173 491 *~;
#X floatatom 375 230 5 0 0 0 - - -;
#X obj 375 196 env~ 64;
#X obj 174 140 *~;
#X obj 173 38 osc~ 440;
#X obj 313 85 pipe 10;
#X msg 244 58 4;
#X msg 278 58 0.5;
#X obj 276 21 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X floatatom 402 87 5 0 0 0 - - -;
#X floatatom 426 345 5 0 0 0 - - -;
#X floatatom 321 404 5 0 0 0 - - -;
#X obj 298 374 *;
#X floatatom 349 457 5 0 0 0 - - -;
#X obj 292 507 env~ 64;
#X obj 375 255 moses 90;
#X obj 426 312 expr 90/$f1;
#X text 395 387 1st question:;
#X text 299 21 <- 2nd question: is it possible to really get no click?
;
#X text 390 414 it's no problem to limit the number stream (limit is
90db);
#X text 420 453 but it should be the same here! how convert?;
#X text 66 38 test signal;
#X text 454 86 any amplification \, e.g. 2;
#X obj 166 572 dac~;
#N canvas 0 0 450 300 dw 0;
#X obj 100 85 inlet~;
#X obj 98 189 outlet~;
#X obj 137 124 delwrite~ \$0-x 100;
#X connect 0 0 2 0;
#X restore 173 221 pd dw;
#N canvas 0 0 673 467 dr 0;
#X obj 114 49 inlet~;
#X obj 170 332 outlet~;
#X obj 171 145 samplerate~;
#X msg 171 177 1000 \$1;
#X obj 171 204 /;
#X msg 179 119 bang;
#X obj 171 98 loadbang;
#X floatatom 181 264 5 0 0 0 - - -;
#X obj 171 297 delread~ \$0-x 12;
#X msg 261 178 256;
#X msg 294 178 512;
#X msg 331 177 64;
#X obj 260 200 t b a;
#X msg 364 179 32;
#X obj 171 229 * 64;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 4 0 14 0;
#X connect 5 0 2 0;
#X connect 6 0 2 0;
#X connect 8 0 1 0;
#X connect 9 0 12 0;
#X connect 10 0 12 0;
#X connect 11 0 12 0;
#X connect 12 0 14 0;
#X connect 12 1 14 1;
#X connect 13 0 12 0;
#X connect 14 0 7 0;
#X connect 14 0 8 0;
#X restore 173 248 pd dr;
#X msg 314 58 1;
#X obj 164 546 *~ 0;
#X obj 208 546 hsl 128 15 0 1 0 0 empty empty empty -2 -8 0 10 -262144
-1 -1 1800 1;
#X obj 207 459 line~;
#X obj 207 433 pack 0 10;
#X obj 314 149 line~;
#X obj 314 123 pack 0 10;
#X floatatom 399 123 5 0 0 1 click-sharpness - -;
#X floatatom 294 435 5 0 0 1 att/rel-time - -;
#X connect 0 0 17 0;
#X connect 1 0 15 0;
#X connect 1 0 28 0;
#X connect 2 0 13 0;
#X connect 2 0 16 0;
#X connect 3 0 2 0;
#X connect 4 0 3 0;
#X connect 4 0 25 0;
#X connect 5 0 4 0;
#X connect 6 0 33 0;
#X connect 7 0 33 0;
#X connect 8 0 6 0;
#X connect 9 0 7 0;
#X connect 9 0 8 0;
#X connect 11 0 13 1;
#X connect 13 0 12 0;
#X connect 15 0 14 0;
#X connect 16 1 0 0;
#X connect 17 0 11 0;
#X connect 17 0 31 0;
#X connect 25 0 26 0;
#X connect 26 0 1 0;
#X connect 27 0 6 0;
#X connect 28 0 24 0;
#X connect 28 0 24 1;
#X connect 29 0 28 1;
#X connect 30 0 1 1;
#X connect 31 0 30 0;
#X connect 32 0 4 1;
#X connect 33 0 32 0;
#X connect 34 0 33 1;
#X connect 35 0 31 1;


More information about the Pd-list mailing list