No subject


Fri Oct 4 14:02:58 CEST 2013


the all-pass filter from Robert Bristow-Johnson's EQ Cookbook. You can
calculate the biquad coefficients for it like this:

w0 = 2*pi*frequency_in_Hz / sample_rate
alpha = sin(w0)*sinh(ln(2)/2*Q*w0/sin(w0))

fb1 = 2*cos(w0) / (1+alpha)
fb2 = (-1+alpha) / (1+alpha)
ff1 = -fb2
ff2 = -fb1
ff3 = 1

.mmb


On Sat, Oct 5, 2013 at 12:31 PM, Alexandre Torres Porres
<porres at gmail.com>wrote:

> > the phase response given in phaseshift's help file suggest otherwise.
>
> it's more like the response from miller's H14 example...
>
> So I guess you can have a 2nd order one (lie phaseshift) by putting two of
> these together, right? And I suspect it doesn't really need to have
> anything to do biquad just for being "2nd order", huh?
>
> cheers
>
>
> 2013/10/5 Alexandre Torres Porres <porres at gmail.com>
>
>> Anyway, next on my list is finding out how to implement max's
>> [phaseshift~], which is also an allpass filter. There's no Pd clone for it
>> so it seems, right?
>>
>> Well, it doesn't really what it is other than a 2nd order filter. From
>> that I could think you can generate it with [biquad~], but the phase
>> response given in phaseshift's help file suggest otherwise.
>>
>> any contributions welcome
>>
>> thanks a lot
>>
>> 2013/10/5 Alexandre Torres Porres <porres at gmail.com>
>>
>>> 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
>
>

--001a11c33fe6d2256004e804e9e9
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">From looking at the helpfile for [phaseshift~], this sound=
s very much like the all-pass filter from Robert Bristow-Johnson&#39;s EQ C=
ookbook. You can calculate the biquad coefficients for it like this:<div><b=
r>
</div><div>w0 =3D 2*pi*frequency_in_Hz / sample_rate</div><div>alpha =3D si=
n(w0)*sinh(ln(2)/2*Q*w0/sin(w0))</div><div><br></div><div>fb1 =3D 2*cos(w0)=
 / (1+alpha)</div><div>fb2 =3D (-1+alpha) / (1+alpha)</div><div>ff1 =3D -fb=
2</div>
<div>ff2 =3D -fb1</div><div>ff3 =3D 1</div><div><br></div><div>.mmb</div></=
div><div class=3D"gmail_extra"><br><br><div class=3D"gmail_quote">On Sat, O=
ct 5, 2013 at 12:31 PM, Alexandre Torres Porres <span dir=3D"ltr">&lt;<a hr=
ef=3D"mailto:porres at gmail.com" target=3D"_blank">porres at gmail.com</a>&gt;</=
span> wrote:<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex"><div dir=3D"ltr"><div class=3D"im">&gt;=A0th=
e phase response given in phaseshift&#39;s help file suggest otherwise.<br>=
<div class=3D"gmail_extra">
<br></div></div><div class=3D"gmail_extra">it&#39;s more like the response =
from miller&#39;s H14 example...</div>
<div class=3D"gmail_extra"><br></div><div class=3D"gmail_extra">So I guess =
you can have a 2nd order one (lie phaseshift) by putting two of these toget=
her, right? And I suspect it doesn&#39;t really need to have anything to do=
 biquad just for being &quot;2nd order&quot;, huh?</div>

<div class=3D"gmail_extra"><br></div><div class=3D"gmail_extra">cheers</div=
><div><div class=3D"h5"><div class=3D"gmail_extra"><br><br><div class=3D"gm=
ail_quote">2013/10/5 Alexandre Torres Porres <span dir=3D"ltr">&lt;<a href=
=3D"mailto:porres at gmail.com" target=3D"_blank">porres at gmail.com</a>&gt;</sp=
an><br>

<blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-=
left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;p=
adding-left:1ex"><div dir=3D"ltr">Anyway, next on my list is finding out ho=
w to implement max&#39;s [phaseshift~], which is also an allpass filter. Th=
ere&#39;s no Pd clone for it so it seems, right?=A0<div>

<br></div><div>Well, it doesn&#39;t really what it is other than a 2nd orde=
r filter. From that I could think you can generate it with [biquad~], but t=
he phase response given in phaseshift&#39;s help file suggest otherwise.<br=
>


<div class=3D"gmail_extra"><br></div><div class=3D"gmail_extra">any contrib=
utions welcome</div><div class=3D"gmail_extra"><br></div><div class=3D"gmai=
l_extra">thanks a lot<br><br><div class=3D"gmail_quote">2013/10/5 Alexandre=
 Torres Porres <span dir=3D"ltr">&lt;<a href=3D"mailto:porres at gmail.com" ta=
rget=3D"_blank">porres at gmail.com</a>&gt;</span><br>


<blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-=
left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;p=
adding-left:1ex"><div dir=3D"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=3D"gmail_extra"><br><=
br><div class=3D"gmail_quote">
2013/10/3 Chris Clepper <span dir=3D"ltr">&lt;<a href=3D"mailto:cgclepper at g=
mail.com" target=3D"_blank">cgclepper at gmail.com</a>&gt;</span><br><blockquo=
te class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left-widt=
h:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-le=
ft:1ex">



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




<div><br></div><div><a href=3D"http://www.spinsemi.com/knowledge_base/effec=
ts.html#Reverberation" target=3D"_blank">http://www.spinsemi.com/knowledge_=
base/effects.html#Reverberation</a><br></div>
</div><div><div><div class=3D"gmail_extra"><br><br><div class=3D"gmail_quot=
e">On Thu, Oct 3, 2013 at 11:29 AM, Alexandre Torres Porres <span dir=3D"lt=
r">&lt;<a href=3D"mailto:porres at gmail.com" target=3D"_blank">porres at gmail.c=
om</a>&gt;</span> wrote:<br>




<blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-=
left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;p=
adding-left:1ex"><div dir=3D"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 kind=
a big for that, right?<div>





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





<blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-=
left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;p=
adding-left:1ex"><div dir=3D"ltr">cool, but do you know how to implement cy=
clone&#39;s [allpass~] with it?=A0<div>

<br></div><div>It&#39;s really unclear to me what is the relation of this p=
ass 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 h=
ow 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=3D"gmail_extra"><br><br><div class=3D"gmail_quot=
e">2013/10/2 Chris Clepper <span dir=3D"ltr">&lt;<a href=3D"mailto:cgcleppe=
r at gmail.com" target=3D"_blank">cgclepper at gmail.com</a>&gt;</span><br>
<blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-=
left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;p=
adding-left:1ex">
<div dir=3D"ltr">Allpass for reverb is easy to do with delwrite~ and vd~. =
=A0I used 32 of them today to recreate a famous &#39;deep space&#39; reverb=
.</div><div class=3D"gmail_extra"><br><br><div class=3D"gmail_quote"><div><=
div>






On Wed, Oct 2, 2013 at 1:53 AM, Alexandre Torres Porres <span dir=3D"ltr">&=
lt;<a href=3D"mailto:porres at gmail.com" target=3D"_blank">porres at gmail.com</=
a>&gt;</span> wrote:<br>
</div></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0=
.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-s=
tyle:solid;padding-left:1ex"><div><div><div dir=3D"ltr">hi there, i see the=
 biquad&#39;s coefficients can be set as an allpass filter, generated by fr=
equency and &quot;Q&quot; parameters. But can it do the same as=A0cyclone&#=
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=3D"mailto:Pd-list at iem.at" target=3D"_blank">Pd-list at iem.at</a> mail=
ing list<br>
UNSUBSCRIBE and account-management -&gt; <a href=3D"http://lists.puredata.i=
nfo/listinfo/pd-list" target=3D"_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></div>
<br>_______________________________________________<br>
<a href=3D"mailto:Pd-list at iem.at">Pd-list at iem.at</a> mailing list<br>
UNSUBSCRIBE and account-management -&gt; <a href=3D"http://lists.puredata.i=
nfo/listinfo/pd-list" target=3D"_blank">http://lists.puredata.info/listinfo=
/pd-list</a><br>
<br></blockquote></div><br></div>

--001a11c33fe6d2256004e804e9e9--



More information about the Pd-list mailing list