[PD] compander-limiter from slop~-help.pd

Tom Erbe soundhack at icloud.com
Mon May 3 18:03:24 CEST 2021

here’s a basic compressor patch i made for class. you really want separate attack and decay controls (slow the attack to let initial transients through uncompressed, slow the decay to minimize pumping). also, varying the [env~] window can change the responsiveness.

a high threshold, high ratio, and pretty fast attack/decay is needed for limiting.

a good overview article with ideas for further compressor abstractions - 


> On May 3, 2021, at 8:08 AM, Miller Puckette via Pd-list <pd-list at lists.iem.at> wrote:
> Ahhh, you noticed that "warm tube-compander" sound - producers pay top $ for
> that :)
> I think it's pretty easy to get lower distortion by making the response curve
> exactly flat below maximum amplitude - I didn't do that in this application
> thinking that the limiting is going to kick in often and so there will
> often be distortion anyway... anyone who hits, say, 0.7 with any frequency is
> also going to hit 0 sometimes, and that will be the loudest sound where the
> distortion is also most noticeable.
> It's possible to add a "blanking" interval like some analog solid-state
> limiters did.  In digital, if you add "lookahead" (also known as "delay")
> you can do much, much better without having to think too hard (that's what
> Ableton's built-in compressor does; it won't do zero-delay at all).
> For live applications I prefer to make them zero-delay, preferring some
> inevitable distortion to adding delay.
> all part of the Dark Art (tm:)
> Miller
> On Mon, May 03, 2021 at 09:14:42AM +0200, Peter P. wrote:
>> * Miller Puckette via Pd-list <pd-list at lists.iem.at> [2021-04-24 17:45]:
>>> 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)...
>> Thanks Miller, 
>> it seems that this implementation causes harmonic distortion to a (200Hz
>> in my case) sine wave scaled to less than 0dBFS [*~ 0.9].
>> best, P
>> _______________________________________________
>> Pd-list at lists.iem.at mailing list
>> UNSUBSCRIBE and account-management -> https://urldefense.com/v3/__https://lists.puredata.info/listinfo/pd-list__;!!Mih3wA!RfZssKp-q7I14kLPeiwejHETPGDSEookaDEJqhALu2GMjtbLvEIBwjCrVEXw$ 
> _______________________________________________
> Pd-list at lists.iem.at mailing list
> UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list

tom erbe - tre at soundhack.com
professor - uc san diego | founder - soundhack

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20210503/49282c38/attachment.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 7-compress.pd
Type: application/octet-stream
Size: 1812 bytes
Desc: not available
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20210503/49282c38/attachment.obj>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20210503/49282c38/attachment-0001.htm>

More information about the Pd-list mailing list