[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