Hi all,
I'm trying to use a variable fractional delay in one of my patch. I've tried to use vd~ , but was not really convinced by the results I obtained. It seems I need a better method.
Does anyone knows other PD external that could implement fractional delay with variable delay length?
By the way: I'm tring to have a look at the litterature related to that subject... I don't even know what method have been used in vd~ ... The only thing I've read in the corresponding help patch, is that the interpolation method used by that component does an interpolation over 4 values. Does anyone know the name of the method used by that component? It would allow me get better clues on its theoretical efficiency, and to know if spending some time to program/test some alternative method would be usefull...
Any help would be appreciated. Thanks!
On Sat, Feb 28, 2009 at 8:25 PM, David Doukhan david.doukhan@gmail.com wrote:
I don't even know what method have been used in vd~ ... The only thing I've read in the corresponding help patch, is that the interpolation method used by that component does an interpolation over 4 values. Does anyone know the name of the method used by that component? It would allow me get better clues on its theoretical efficiency, and to know if spending some time to program/test some alternative method would be usefull...
vd~ appears to use the same 4-point interpolation method as tabread4~, which is just a cubic polynomial fit through 4 points. Other methods of finding interpolation polynomials for improved response were discussed a few months ago in the thread on different tabread4's. Let me know if you need anything.
Chuck
http://lists.puredata.info/pipermail/pd-list/2008-06/062878.html http://lists.puredata.info/pipermail/pd-list/2008-06/063256.html http://lists.puredata.info/pipermail/pd-list/2008-06/063303.html
I did a lot of analysis on the functions, involved. big math lecture is here: http://lists.puredata.info/pipermail/pd-list/2008-07/063601.html tables and transforms: http://lists.puredata.info/pipermail/pd-list/2008-07/063489.html
Algorithm is here in d_delay.c:
262 while (n--) 263 { 264 t_sample delsamps = x->x_sr * *in++ - zerodel, frac; 265 int idelsamps; 266 t_sample a, b, c, d, cminusb; 267 if (delsamps < 1.00001f) delsamps = 1.00001f; 268 if (delsamps > limit) delsamps = limit; 269 delsamps += fn; 270 fn = fn - 1.0f; 271 idelsamps = delsamps; 272 frac = delsamps - (t_sample)idelsamps; 273 bp = wp - idelsamps; 274 if (bp < vp + 4) bp += nsamps; 275 d = bp[-3]; 276 c = bp[-2]; 277 b = bp[-1]; 278 a = bp[0]; 279 cminusb = c-b; 280 *out++ = b + frac * ( 281 cminusb - 0.1666667f * (1.-frac) * ( 282 (d - a - 3.0f * cminusb) * frac + (d + 2.0f*a - 3.0f*b) 283 ) 284 ); 285 }
Hallo, David Doukhan hat gesagt: // David Doukhan wrote:
I'm trying to use a variable fractional delay in one of my patch. I've tried to use vd~ , but was not really convinced by the results I obtained. It seems I need a better method.
Does anyone knows other PD external that could implement fractional delay with variable delay length?
By the way: I'm tring to have a look at the litterature related to that subject... I don't even know what method have been used in vd~ ... The only thing I've read in the corresponding help patch, is that the interpolation method used by that component does an interpolation over 4 values.
There are some more details in Miller's book: http://crca.ucsd.edu/~msp/techniques/latest/book-html/node113.html
A classic document is Jon Datorro's "Effect Design Part II: Delay-Line Modulation and Chorus" available here: http://www.stanford.edu/~dattorro/research.html
Frank Barknecht Do You RjDj.me? _ ______footils.org__
thanks for these answers... i'll investiguate those points!!!
2009/3/1 Frank Barknecht fbar@footils.org:
Hallo, David Doukhan hat gesagt: // David Doukhan wrote:
I'm trying to use a variable fractional delay in one of my patch. I've tried to use vd~ , but was not really convinced by the results I obtained. It seems I need a better method.
Does anyone knows other PD external that could implement fractional delay with variable delay length?
By the way: I'm tring to have a look at the litterature related to that subject... I don't even know what method have been used in vd~ ... The only thing I've read in the corresponding help patch, is that the interpolation method used by that component does an interpolation over 4 values.
There are some more details in Miller's book: http://crca.ucsd.edu/~msp/techniques/latest/book-html/node113.html
A classic document is Jon Datorro's "Effect Design Part II: Delay-Line Modulation and Chorus" available here: http://www.stanford.edu/~dattorro/research.html
Ciao
Frank Barknecht Do You RjDj.me? _ ______footils.org__
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list