<div dir="ltr">Yeah, I tend to use them for feedback loops because they only need to be the block size. Though now that I think about it, you don&#39;t need them in this case. You can just feed [vd~] in to [delwrite~] without that silly order forcing I did.<div>
<br></div><div>.mmb</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Sun, Oct 6, 2013 at 8:43 PM, Alexandre Torres Porres <span dir="ltr">&lt;<a href="mailto:porres@gmail.com" target="_blank">porres@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">awesome, thanks a lot, really helpful. I was suspecting something like that, but couldn&#39;t get to this implementation. <div>
<br></div><div>And then, one question, doesn&#39;t the feedback given by tabsend theoretically count as a second delay line?</div>
<div><br></div><div>cheers</div></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><br><div class="gmail_quote">2013/10/6 Mike Moser-Booth <span dir="ltr">&lt;<a href="mailto:mmoserbooth@gmail.com" target="_blank">mmoserbooth@gmail.com</a>&gt;</span><br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">It&#39;s not that either implementation is wrong, they are just two ways of doing the same thing. The version that uses two delay lines is the Direct Form I. By doing some rearranging of the filter, you convert it to the Direct Form II, which only uses one delay line. The end results are the same, just one is more efficient.<div>


<br></div><div>Look inside [pd allpass] in the attached patch for an ASCII art illustration of it.</div></div><div><div><div class="gmail_extra"><br><br><div class="gmail_quote">On Sat, Oct 5, 2013 at 3:35 PM, Alexandre Torres Porres <span dir="ltr">&lt;<a href="mailto:porres@gmail.com" target="_blank">porres@gmail.com</a>&gt;</span> wrote:<br>


<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">on curtis roads&#39; computer music tutorial, page 418, it shows the same formula, but the figure of the design seems to contradict it. I&#39;m confused. I don&#39;t seem to get the same result with one delay line. maybe if you send me a patch that sounds the same as cyclone&#39;s allpass I can check it.<div>



<br></div><div>cheers</div></div><div><div><div class="gmail_extra"><br><br><div class="gmail_quote">2013/10/5 Alexandre Torres Porres <span dir="ltr">&lt;<a href="mailto:porres@gmail.com" target="_blank">porres@gmail.com</a>&gt;</span><br>



<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">i dont think there is one way or proper way of doing this, and it is a general form, from an equation you can find in other references. So, I don&#39;t know why, but Max/Cyclone&#39;s allpass use this one: y(n) = -g x(n) + x(n)-(DR/1000) + g y(n)-(DR/1000) </div>



<div><div>
<div class="gmail_extra"><br><br><div class="gmail_quote">2013/10/5 Chris Clepper <span dir="ltr">&lt;<a href="mailto:cgclepper@gmail.com" target="_blank">cgclepper@gmail.com</a>&gt;</span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">




<div dir="ltr">That means cyclone&#39;s allpass~ is not done properly.  Why not do it the standard and more efficient way?  When it comes time to do dozens of allpasses it will make a difference.<div><br></div><div><br></div>





</div><div><div><div class="gmail_extra"><br><br><div class="gmail_quote">On Sat, Oct 5, 2013 at 1:00 PM, Alexandre Torres Porres <span dir="ltr">&lt;<a href="mailto:porres@gmail.com" target="_blank">porres@gmail.com</a>&gt;</span> wrote:<br>





<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">but this way it won&#39;t be the same as cyclone&#39;s [allpass~], the way I did it is equivalent to it (and max&#39;s).<div>





<br></div><div>cheers</div></div><div><div><div class="gmail_extra"><br><br><div class="gmail_quote">
2013/10/3 Chris Clepper <span dir="ltr">&lt;<a href="mailto:cgclepper@gmail.com" target="_blank">cgclepper@gmail.com</a>&gt;</span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">






<div dir="ltr">You only need one delay line for the allpass.<div><br></div><div>feedforward = input * -gain</div><div>feedback = delayout * gain</div><div>delayin = input + feedback</div><div>output = delayout + feedforward</div>







<div><br></div><div><a href="http://www.spinsemi.com/knowledge_base/effects.html#Reverberation" target="_blank">http://www.spinsemi.com/knowledge_base/effects.html#Reverberation</a><br></div>
</div><div><div><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Oct 3, 2013 at 11:29 AM, Alexandre Torres Porres <span dir="ltr">&lt;<a href="mailto:porres@gmail.com" target="_blank">porres@gmail.com</a>&gt;</span> wrote:<br>







<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">i hope i guess i figured it out on how to implement it with delay lines. see attachment. And I realize you can&#39;t do this with [fexpr~] or [biquad~] because the sample delay length is kinda big for that, right?<div>








<br></div><div>cheers</div></div><div><div><div class="gmail_extra"><br><br><div class="gmail_quote">2013/10/3 Alexandre Torres Porres <span dir="ltr">&lt;<a href="mailto:porres@gmail.com" target="_blank">porres@gmail.com</a>&gt;</span><br>








<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">cool, but do you know how to implement cyclone&#39;s [allpass~] with it? <div><br></div><div>It&#39;s really unclear to me what is the relation of this pass filter with the one you can generate with biquad coefficients, or with raw poles/zeros objects for that matter.</div>









<div><br></div><div>Well, one way or another, it&#39;s also unclear to me how to do it with delay lines.<br></div><div><br></div><div>seems that it is related to a comb filter, right?</div><div><br></div><div>cheers</div>









</div><div><div><div class="gmail_extra"><br><br><div class="gmail_quote">2013/10/2 Chris Clepper <span dir="ltr">&lt;<a href="mailto:cgclepper@gmail.com" target="_blank">cgclepper@gmail.com</a>&gt;</span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr">Allpass for reverb is easy to do with delwrite~ and vd~.  I used 32 of them today to recreate a famous &#39;deep space&#39; reverb.</div><div class="gmail_extra"><br><br><div class="gmail_quote"><div><div>









On Wed, Oct 2, 2013 at 1:53 AM, Alexandre Torres Porres <span dir="ltr">&lt;<a href="mailto:porres@gmail.com" target="_blank">porres@gmail.com</a>&gt;</span> wrote:<br>
</div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div><div dir="ltr">hi there, i see the biquad&#39;s coefficients can be set as an allpass filter, generated by frequency and &quot;Q&quot; parameters. But can it do the same as cyclone&#39;s [allpass~] filer? If yes, them how since the parameters for [allpass~] are different (delaytime and such).<div>











<br></div><div>One way or another, I guess that my real question is: how to implement [allpass~] from vanilla objects?</div><div><br></div><div>thanks</div></div>
<br></div></div>_______________________________________________<br>
<a href="mailto:Pd-list@iem.at" target="_blank">Pd-list@iem.at</a> mailing list<br>
UNSUBSCRIBE and account-management -&gt; <a href="http://lists.puredata.info/listinfo/pd-list" target="_blank">http://lists.puredata.info/listinfo/pd-list</a><br>
<br></blockquote></div><br></div>
</blockquote></div><br></div>
</div></div></blockquote></div><br></div>
</div></div></blockquote></div><br></div>
</div></div></blockquote></div><br></div>
</div></div></blockquote></div><br></div>
</div></div></blockquote></div><br></div>
</div></div></blockquote></div><br></div>
</div></div><br>_______________________________________________<br>
<a href="mailto:Pd-list@iem.at" target="_blank">Pd-list@iem.at</a> mailing list<br>
UNSUBSCRIBE and account-management -&gt; <a href="http://lists.puredata.info/listinfo/pd-list" target="_blank">http://lists.puredata.info/listinfo/pd-list</a><br>
<br></blockquote></div><br></div>
</div></div></blockquote></div><br></div>
</div></div></blockquote></div><br></div>