<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Em sáb, 13 de jul de 2019 às 05:40, Christof Ressi <<a href="mailto:christof.ressi@gmx.at">christof.ressi@gmx.at</a>> escreveu:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><div style="font-family:Verdana;font-size:12px"><div>
<div>Hey,</div>

<div> </div>

<div>> I actually know of two other adsr envelopes out there for Pd, both non linear, they are: bsaylor/aenv~ and creb/eadsr~ - both are hardcoded.</div>

<div> </div>

<div>attached you'll find my own personal envelope generator (cadsr~) which allows you to set the shape individually for each segments. </div></div></div></div></blockquote><div><br></div><div>cool, but I only see 1 exponential parameter for all lines.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><div style="font-family:Verdana;font-size:12px"><div><div>Exponential segments take another argument to control the shape ( >0 fast rise, <0 slow rise).</div></div></div></div></blockquote><div><br></div><div>and its minimum value is "1".</div><div><br></div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><div style="font-family:Verdana;font-size:12px"><div>

<div>For a "natural" envelope generator, like those found in analog synthesizers, you can use a 1-pole lowpass filter and change the frequency for each segment to emulate the behavior of a capacitor.</div></div></div></div></blockquote><div><br></div><div>I see, makes total sense.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div style="font-family:Verdana;font-size:12px"><div>with 5 time constants, the envelope generator will reach 99.3% of the target value. Note that the target value is always approached asymptotically and - at least in theory - never fully reached.</div></div></blockquote><div><br></div><div>I see, so that's what asymptotic means then. The bsaylor/aenv~ object says it's asymtotic, so I bet it uses the same 1-pole design (I'm yet to check the code). Anyway, I was able to make envgen~ get to a pretty close curvature to your patch with a time value of "5". I used an exponential value of 4 and that did fit reasonably well. I don't thin the difference is perceivable in any significant way. So I guess I'm going with that approach to the design of my hardcoded adsr~ exponential setting.</div><div><br></div><div>Thanks</div></div></div>