Hi,
I've realised that when using vd~, even if you ensure the execution order so that you can have a delay of less than one block, any delay less than one _sample_ will result to a delay of one sample.
Why so?
I guess it is related to the 4-point interpolation, because in order to compute the first point you need one extra point that is not available at delay 0. However, I don't see how that completely explains a one-sample delay: this only affects the very first sample of the delayed signal, there's no reason to have the whole signal delayed one sample.
With tabread4~ for example, when you feed a value <1 you get the value of sample 1 (i.e. the second sample) (which is not the correct behaviour either, imho, but anyway it only affects the first sample), but for any value >=1 you get the interpolated value with no delay...
What am I missing?
thanks m.
Matteo Sisti Sette wrote:
Hi,
I've realised that when using vd~, even if you ensure the execution order so that you can have a delay of less than one block, any delay less than one _sample_ will result to a delay of one sample.
See the helpfile for block~ for example, or the example patch for Karplus Strong synthesis!
Peter
Peter Plessas escribió:
See the helpfile for block~ for example,
Can't see the relevant part in it
or the example patch for Karplus Strong synthesis!
If you're talking about G04.control.blocksize.pd, I can't see in what it is relevant either. It is about shortening the minimum delay of a feedback delread-delwrite loop below one block by reblocking.
Here I'm talking about no feedback loop and no reblocking, just a delwrite-delread (with forced execution order so you have zero block delay) that has a minimum of one-sample delay apparently related to interpolation but that I cannot see why it should exist
Hi,
On Mon, Apr 26, 2010 at 10:46:23AM +0200, Matteo Sisti Sette wrote:
I guess it is related to the 4-point interpolation, because in order to
compute the first point you need one extra point that is not available
at delay 0. However, I don't see how that completely explains a
one-sample delay: this only affects the very first sample of the delayed
signal, there's no reason to have the whole signal delayed one sample.
Except the problem of time machines: When interpolating around a non-delayed signal, you are interpolating around the time "now" and so you would need at least one sample from the future, whhich hasn't happened yet.
This is not only valid for the "first" sample, as in a constantly updating delay line there is no "first sample".
Frank Barknecht Do You RjDj.me? _ ______footils.org__
Hi, On Mon, Apr 26, 2010 at 12:19:48PM +0200, Frank Barknecht wrote:
Except the problem of time machines: When interpolating around a non-delayed signal, you are interpolating around the time "now" and so you would need at least one sample from the future, whhich hasn't happened yet.
This is not only valid for the "first" sample, as in a constantly updating delay line there is no "first sample".
Forgot to say: This is briefly described in Miller's book: http://crca.ucsd.edu/~msp/techniques/latest/book-html/node113.html
Frank Barknecht Do You RjDj.me? _ ______footils.org__