Thanks, Roman.

On 2 February 2018 at 21:28, Roman Haefeli <reduzent@gmail.com> wrote:
On Fre, 2018-02-02 at 18:31 +0000, Dario Sanfilippo wrote:
> There's an implementation of a peak holder in this blog post: http://
> dariosanfilippo.tumblr.com/post/162523174771/lookahead-limiting-in-
> pure-data. I remember testing it but please let me know if you find a
> bug.

Very nice write up. Thanks for sharing.

> The current peak is replaced to whatever the input is after a desired
> time, and the counter is reset whenever a new peak is found. It
> should be easy to change it so that the peak is reset periodically.

It's not exactly equivalent with what I've asked, since your
implementation only takes new peaks into account after the hold period
has ended.

​Perhaps my wording ​in the previous email was confusing: what happens is that every new peak will update the output immediately, and whenever that happens the countdown starts so that, should no other peak be detected after that time, the output will be set to whatever the input is in that moment.
 
Assume an input signal consisting of a series of 1-sample
impulses with a period that is slightly lower than the hold period. The
output signal has a gap before each second impulse. For the use case in
your article (which is also the use case I'm interested in), that
doesn't matter much, because the peak holder signal is fed to a peak
enveloper which somewhat masks those gaps.

​In that case, we should expect a full-amp DC​ out of the peak holder for the impulses are faster than the hold time, and that's what we actually get:

Inline images 2

So the peak envelope is only used to transition from the peak to the non-peak value exponentially.

 

I'm going to use your implementation for peak holding. Thanks!

Roman

​Sure, you're welcome. I hope that this makes more sense.

Dario​

 


_______________________________________________
Pd-list@lists.iem.at mailing list
UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list