[PD] [biquad~] as cyclone's [allpass~]?

Mike Moser-Booth mmoserbooth at gmail.com
Mon Oct 7 07:34:59 CEST 2013


Sure, no problem.

.mmb


On Sun, Oct 6, 2013 at 10:24 PM, Alexandre Torres Porres
<porres at gmail.com>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 <mmoserbooth at gmail.com>
>
>> 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 <porres at gmail.com
>> > 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 <mmoserbooth at gmail.com>
>>>
>>>> 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 <
>>>> porres at gmail.com> 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 <porres at gmail.com>
>>>>>
>>>>>> 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 <cgclepper at gmail.com>
>>>>>>
>>>>>>> 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 <
>>>>>>> porres at gmail.com> 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 <cgclepper at gmail.com>
>>>>>>>>
>>>>>>>>> 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 <
>>>>>>>>> porres at gmail.com> 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 <porres at gmail.com>
>>>>>>>>>>
>>>>>>>>>>> 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 <cgclepper at gmail.com>
>>>>>>>>>>>
>>>>>>>>>>>> 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 <
>>>>>>>>>>>> porres at gmail.com> 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
>>>>>>>>>>>>>
>>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>>> Pd-list at iem.at mailing list
>>>>>>>>>>>>> UNSUBSCRIBE and account-management ->
>>>>>>>>>>>>> http://lists.puredata.info/listinfo/pd-list
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Pd-list at iem.at mailing list
>>>>> UNSUBSCRIBE and account-management ->
>>>>> http://lists.puredata.info/listinfo/pd-list
>>>>>
>>>>>
>>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20131007/6659aee8/attachment.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: allpass2.pd
Type: application/octet-stream
Size: 5181 bytes
Desc: not available
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20131007/6659aee8/attachment.obj>


More information about the Pd-list mailing list