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

Mike Moser-Booth mmoserbooth at gmail.com
Mon Oct 7 03:25:46 CEST 2013


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/20131006/199a93e2/attachment.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: allpass2.pd
Type: application/octet-stream
Size: 5157 bytes
Desc: not available
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20131006/199a93e2/attachment.obj>


More information about the Pd-list mailing list