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:
[image: 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