Hi all,
I'm currently trying to build an All-Pass filter with PD Vanilla. Thanks to your advices regarding delay lines (I refer to my last topic), I've finally compiled this patch that I recall by abstraction (see attachments).
To test it, I've generated a 1-sample impulse with an amplitude of 0,66; then, I've recorded the result of this filtering with a 0,5 feedback and I've analyzed it on Audacity. As you can see from the attached screenshot, the filter doesn't work as I expected: I mean that the n. 3 sample should have an amplitude value equal to the original impulse amplitude - that is 0,66 - and all of the next samples should have a lower amplitude. So, my question is: why this All-Pass doesn't work properly? What is the cause of this result?
I wait for your reply.
Greetings.
-
All-Pass Filter with PD Vanilla
-
your filter works fine. something is wrong with your test. here is a test patch for it
edit: sorry I didn't read the post carefully enoughthe n. 3 sample should have an amplitude value equal to the original impulse amplitude
why is this?
-
I'm still asking myself the same question!
Theoretically, when an All-Pass filter with a delay of one sample (~ 0,02... milliseconds) and a feedback index of 0,5 is "stimulated" with a one sample impulse whose amplitude value is 0,66, the resulting output should be a sequence of samples with the following amplitude values:
1. - 0,33
2. 0,66
3. 0,33
4. 0,165
5. 0,0825
etc.
If I'm wrong, please correct me. -
Maybe, I have found the issue: I have added a +~ object before the delwrite~ to "syncronize" both inputs of the delay line. Can you please test it with the print~ object? It seems a little bit weird but it only outputs zeros to my console - maybe because it is initialized before or after the pulse is generated.
Thank you in advance. -
http://cnx.org/content/m15491/latest/snd_reverb-schroeder-apf-impulse-response.html
the original impulse gain appears nowhere in this demo -
Damn, thanks a lot for this helpful video!
I see that in my previous post I didn't take the recursion of -g in account: I mean that the second sample should be 0,66 + (-0.33 * 0,5) = 0,495
Then, thanks again!