Sure, no problem. .mmb
On Sun, Oct 6, 2013 at 10:24 PM, Alexandre Torres Porres <[email protected]>wrote: > cool, could you readapt the patch then? I'd appreciate that a lot as I'm > just not being able to nail it. It'd be really careful. Thanks > > > 2013/10/6 Mike Moser-Booth <[email protected]> > >> 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't need them in >> this case. You can just feed [vd~] in to [delwrite~] without that silly >> order forcing I did. >> >> .mmb >> >> >> On Sun, Oct 6, 2013 at 8:43 PM, Alexandre Torres Porres <[email protected] >> > wrote: >> >>> awesome, thanks a lot, really helpful. I was suspecting something like >>> that, but couldn't get to this implementation. >>> >>> And then, one question, doesn't the feedback given by tabsend >>> theoretically count as a second delay line? >>> >>> cheers >>> >>> >>> 2013/10/6 Mike Moser-Booth <[email protected]> >>> >>>> 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
