[Stk] Applying bandlimited interpolation using STK
Perry R Cook
prc at CS.Princeton.EDU
Sun Apr 5 17:56:31 PDT 2009
Hey Rich,
If you speak and read C code, check out my
srconvert.c code at:
http://www.cs.princeton.edu/courses/archive/spr09/cos325/src/TimeStuf/srconvrt.c
This does windowed, table-lookup, band-limited sinc
interpolation, time varying if you like. You'll need
the waveio.h file located in the same directory if you
want to actually compile and run this.
Cheers,
PRC
----- "Rich M" <rmarsch at bu.edu> wrote:
> 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
>
>
>
> _______________________________________________
>
> Stk mailing list
>
> Stk at ccrma.stanford.edu
>
> http://ccrma-mail.stanford.edu/mailman/listinfo/stk
More information about the Stk
mailing list