It'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.
Look inside [pd allpass] in the attached patch for an ASCII art illustration of it. On Sat, Oct 5, 2013 at 3:35 PM, Alexandre Torres Porres <[email protected]>wrote: > on curtis roads' computer music tutorial, page 418, it shows the same > formula, but the figure of the design seems to contradict it. I'm confused. > I don't seem to get the same result with one delay line. maybe if you send > me a patch that sounds the same as cyclone's allpass I can check it. > > cheers > > > 2013/10/5 Alexandre Torres Porres <[email protected]> > >> 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't know why, but Max/Cyclone's allpass use this one: y(n) = -g x(n) + >> x(n)-(DR/1000) + g y(n)-(DR/1000) >> >> >> 2013/10/5 Chris Clepper <[email protected]> >> >>> That means cyclone'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. >>> >>> >>> >>> >>> On Sat, Oct 5, 2013 at 1:00 PM, Alexandre Torres Porres < >>> [email protected]> wrote: >>> >>>> but this way it won't be the same as cyclone's [allpass~], the way I >>>> did it is equivalent to it (and max's). >>>> >>>> cheers >>>> >>>> >>>> 2013/10/3 Chris Clepper <[email protected]> >>>> >>>>> You only need one delay line for the allpass. >>>>> >>>>> feedforward = input * -gain >>>>> feedback = delayout * gain >>>>> delayin = input + feedback >>>>> output = delayout + feedforward >>>>> >>>>> http://www.spinsemi.com/knowledge_base/effects.html#Reverberation >>>>> >>>>> >>>>> On Thu, Oct 3, 2013 at 11:29 AM, Alexandre Torres Porres < >>>>> [email protected]> wrote: >>>>> >>>>>> i hope i guess i figured it out on how to implement it with delay >>>>>> lines. see attachment. And I realize you can't do this with [fexpr~] or >>>>>> [biquad~] because the sample delay length is kinda big for that, right? >>>>>> >>>>>> cheers >>>>>> >>>>>> >>>>>> 2013/10/3 Alexandre Torres Porres <[email protected]> >>>>>> >>>>>>> cool, but do you know how to implement cyclone's [allpass~] with it? >>>>>>> >>>>>>> It'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. >>>>>>> >>>>>>> Well, one way or another, it's also unclear to me how to do it with >>>>>>> delay lines. >>>>>>> >>>>>>> seems that it is related to a comb filter, right? >>>>>>> >>>>>>> cheers >>>>>>> >>>>>>> >>>>>>> 2013/10/2 Chris Clepper <[email protected]> >>>>>>> >>>>>>>> Allpass for reverb is easy to do with delwrite~ and vd~. I used 32 >>>>>>>> of them today to recreate a famous 'deep space' reverb. >>>>>>>> >>>>>>>> >>>>>>>> On Wed, Oct 2, 2013 at 1:53 AM, Alexandre Torres Porres < >>>>>>>> [email protected]> wrote: >>>>>>>> >>>>>>>>> hi there, i see the biquad's coefficients can be set as an allpass >>>>>>>>> filter, generated by frequency and "Q" parameters. But can it do the >>>>>>>>> same >>>>>>>>> as cyclone's [allpass~] filer? If yes, them how since the parameters >>>>>>>>> for >>>>>>>>> [allpass~] are different (delaytime and such). >>>>>>>>> >>>>>>>>> One way or another, I guess that my real question is: how to >>>>>>>>> implement [allpass~] from vanilla objects? >>>>>>>>> >>>>>>>>> thanks >>>>>>>>> >>>>>>>>> _______________________________________________ >>>>>>>>> [email protected] mailing list >>>>>>>>> UNSUBSCRIBE and account-management -> >>>>>>>>> http://lists.puredata.info/listinfo/pd-list >>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>> >>>>>> >>>>> >>>> >>> >> > > _______________________________________________ > [email protected] mailing list > UNSUBSCRIBE and account-management -> > http://lists.puredata.info/listinfo/pd-list > >
allpass2.pd
Description: Binary data
_______________________________________________ [email protected] mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
