[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