[Stk] Applying bandlimited interpolation using STK

Rich M rmarsch at bu.edu
Sun Apr 5 15:51:14 PDT 2009


Hi,
I'm working on a Chorus effects program using STK. I can currently run 
linear interpolation to compute new samples between the ones I already 
have to create the effect, but I also understand linear interpolation is 
not an ideal form for audio.

I am interested in using Bandlimited Interpolation in my program, but 
I'm having a hard time understanding how to conceptually implement it. I 
am currently defining the interpolation functions on their own, separate 
from my other code, so I can test them in isolation.

I have read through the Digital Audio Resampling guide presented here: 
http://ccrma.stanford.edu/~jos/resample/ , and was seeking some 
clarification on this. (It seems like it was written more for hardware 
implementation than software?)

Anyways, my question is how exactly windowing plays into interpolation. 
I understand that it would be impossible to model the sinc function from 
-infinity to infinity. Since this cannot be done, how do I incorporate 
the window function? Do I compute a discrete range of values for the 
ideal sinc function and scale each by the corresponding window function 
value? Or do I replace the ideal sinc function with the corresponding 
window function?

Please excuse any ignorance or lack of knowledge I may seem to display 
here. I am an undergraduate Computer Science student working 
independently with digital signal processing and I'm trying my best to 
understand the underlying concepts involved in audio processing which 
are out of my realm of study.

Also I could use clarification on one more thing. From my research I 
have read that the chorus effect is implemented by variable-time delays. 
Using linear interpolation I have seen that it is simple enough to 
modulate the value of the delay length and then interpolate a value 
between two samples rather easily. I also read that chorus can be 
implemented by varying the sampling rate. From what I can deduce it 
seems bandlimited interpolation is used in this second sense, where the 
sample rate is modulated to find the value for an "imaginary" sample 
between samples. Is this a correct interpretation?

Thanks,
Rich



More information about the Stk mailing list