<div dir="ltr">Nice sleuthing Holmes<br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, 29 Jan 2019 at 01:43, Alexandre Torres Porres <<a href="mailto:porres@gmail.com">porres@gmail.com</a>> wrote:<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 dir="ltr"><div dir="ltr">I guess "bingo"? <a href="https://ccrma.stanford.edu/~jos/pasp/First_Order_Delay_Filter_Design.html" target="_blank">https://ccrma.stanford.edu/~jos/pasp/First_Order_Delay_Filter_Design.html</a></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Em seg, 28 de jan de 2019 às 22:54, Alexandre Torres Porres <<a href="mailto:porres@gmail.com" target="_blank">porres@gmail.com</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 dir="ltr"><div dir="ltr"><div><br></div></div><div class="gmail_quote"><div dir="ltr" class="gmail-m_7813362712244704330gmail-m_1410067329230056467gmail_attr">Em seg, 28 de jan de 2019 às 18:45, Peter P. <<a href="mailto:peterparker@fastmail.com" target="_blank">peterparker@fastmail.com</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">* Alexandre Torres Porres <<a href="mailto:porres@gmail.com" target="_blank">porres@gmail.com</a>> [2019-01-28 20:10]:<br>
> I guess I'm figuring something out, but the secondary inlets are still not<br>
> clear to me, they set the decay time, but why is there a "low" and "high"?<br>
Could it be that decay times are different for high and low frequencies<br>
and that these two are divided by a cutoff frequency? Just guessing....<br></blockquote><div><br></div><div><font face="times new roman, serif">Sort of... I finally made some sense of the code. it seems there's a 1pole filter whose parameters depend on these low/high values and the delay length! In the comment of the code we find a filter equation, something like:<i style="color:rgb(83,101,121);font-size:12px"><span class="gmail-m_7813362712244704330gmail-m_1410067329230056467gmail-Apple-converted-space"> </span>"yn = (2*gl*gh ) / (gl+gh) x + (gl-gh) / (gl+gh) y[n-1]" </i>- where  <i>gl</i> & <i>gh</i> are derived from these low and high values. Here's a code simplification of it</font></div><div><p class="gmail-m_7813362712244704330gmail-m_1410067329230056467gmail-p2" style="font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:12px;line-height:normal;font-family:Menlo;margin:0px;color:rgb(0,0,0)"> <br></p><p class="gmail-m_7813362712244704330gmail-m_1410067329230056467gmail-p2" style="font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:12px;line-height:normal;font-family:Menlo;margin:0px;color:rgb(0,0,0)"><span class="gmail-m_7813362712244704330gmail-m_1410067329230056467gmail-Apple-converted-space">    </span><span class="gmail-m_7813362712244704330gmail-m_1410067329230056467gmail-s1" style="color:rgb(155,35,147)"><b>for</b></span>(i = <span class="gmail-m_7813362712244704330gmail-m_1410067329230056467gmail-s2" style="color:rgb(28,0,207)">0</span>; i < x->x_ctl.c_order; i++){</p><p class="gmail-m_7813362712244704330gmail-m_1410067329230056467gmail-p2" style="font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:12px;line-height:normal;font-family:Menlo;margin:0px;color:rgb(0,0,0)"><span class="gmail-m_7813362712244704330gmail-m_1410067329230056467gmail-Apple-converted-space">        </span>gl = pow(<span class="gmail-m_7813362712244704330gmail-m_1410067329230056467gmail-s2" style="color:rgb(28,0,207)">10</span>, <span class="gmail-m_7813362712244704330gmail-m_1410067329230056467gmail-s2" style="color:rgb(28,0,207)">-0.003 </span>* x->x_ctl.c_length[i] / low);</p><p class="gmail-m_7813362712244704330gmail-m_1410067329230056467gmail-p2" style="font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:12px;line-height:normal;font-family:Menlo;margin:0px;color:rgb(0,0,0)"><span class="gmail-m_7813362712244704330gmail-m_1410067329230056467gmail-Apple-converted-space">        </span>gh = pow(<span class="gmail-m_7813362712244704330gmail-m_1410067329230056467gmail-s2" style="color:rgb(28,0,207)">10</span>, <span class="gmail-m_7813362712244704330gmail-m_1410067329230056467gmail-s2" style="color:rgb(28,0,207)">-0.003 </span>* x->x_ctl.c_length[i] / high);</p><p class="gmail-m_7813362712244704330gmail-m_1410067329230056467gmail-p2" style="font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:12px;line-height:normal;font-family:Menlo;margin:0px;color:rgb(0,0,0)"><span class="gmail-m_7813362712244704330gmail-m_1410067329230056467gmail-Apple-converted-space">        </span>x->x_ctl.c_gain_in[i] = <span class="gmail-m_7813362712244704330gmail-m_1410067329230056467gmail-s2" style="color:rgb(28,0,207)">2</span>*gl*gh / (gl+gh);</p><p class="gmail-m_7813362712244704330gmail-m_1410067329230056467gmail-p2" style="font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:12px;line-height:normal;font-family:Menlo;margin:0px;color:rgb(0,0,0)"><span class="gmail-m_7813362712244704330gmail-m_1410067329230056467gmail-Apple-converted-space">        </span>x->x_ctl.c_gain_state[i] = (gl-gh) / (gl+gh);</p><p class="gmail-m_7813362712244704330gmail-m_1410067329230056467gmail-p2" style="font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:12px;line-height:normal;font-family:Menlo;margin:0px;color:rgb(0,0,0)"><br></p><p class="gmail-m_7813362712244704330gmail-m_1410067329230056467gmail-p2" style="font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:12px;line-height:normal;margin:0px;color:rgb(0,0,0)"><font face="times new roman, serif"><br></font></p><p class="gmail-m_7813362712244704330gmail-m_1410067329230056467gmail-p2" style="font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:12px;line-height:normal;margin:0px;color:rgb(0,0,0)"><font face="times new roman, serif">I don't really get how this filter fully works yet, but I can sort of get the gist of it. I'm now in the quest to find what is the source of this filter, and maybe try it out independently to see how it behaves. But perhaps a more sophisticated method, with a settable crossover frequency could be used instead.</font></p><p class="gmail-m_7813362712244704330gmail-m_1410067329230056467gmail-p2" style="font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:12px;line-height:normal;margin:0px;color:rgb(0,0,0)"><font face="times new roman, serif"><br></font></p><p class="gmail-m_7813362712244704330gmail-m_1410067329230056467gmail-p2" style="font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:12px;line-height:normal;margin:0px;color:rgb(0,0,0)"><font face="times new roman, serif">And yeah, it seems vanilla's [rev2~] and [rev3~] are implementations of feedback delay networks like it's been said here on this thread. </font></p><p class="gmail-m_7813362712244704330gmail-m_1410067329230056467gmail-p2" style="font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:12px;line-height:normal;margin:0px;color:rgb(0,0,0)"><font face="times new roman, serif"><br></font></p><p class="gmail-m_7813362712244704330gmail-m_1410067329230056467gmail-p2" style="font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:12px;line-height:normal;margin:0px;color:rgb(0,0,0)"><font face="times new roman, serif">cheers</font></p></div><div><br></div><div><br></div><div><br></div><div> </div></div></div>
</blockquote></div>
_______________________________________________<br>
<a href="mailto:Pd-list@lists.iem.at" target="_blank">Pd-list@lists.iem.at</a> mailing list<br>
UNSUBSCRIBE and account-management -> <a href="https://lists.puredata.info/listinfo/pd-list" rel="noreferrer" target="_blank">https://lists.puredata.info/listinfo/pd-list</a><br>
</blockquote></div>