0

I want to resample some single .wav files, say A440hz to C. I do not know where to begin and was looking for something to accomplish this. I was looking into Hermite Interpolation, but don't know if that is what I need or not. I don't really know anything about DSP.

A Point in the right direction would be helpful. Like for the sounds to remain "clean" sounding.

user781657
  • 193
  • 1
  • 2
  • 9
  • You might want to take a look at SoX and libsox: http://sox.sourceforge.net/ – Paul R Jan 26 '12 at 05:55
  • "say A440hz to C" You mean you want to do pitch transpose? That's quite much more complicated than mere resampling. http://stackoverflow.com/questions/5390957/explanation-of-interpolate-hermite-method – leonbloy Jan 26 '12 at 15:05

1 Answers1

0

Interpolation is one form of resampling. One suitable interpolation to avoid aliasing artifacts in the frequency domain is to do Sync interpolation, usually with a windowed Sinc kernel, where the width of the window, and thus the interpolation kernel, depends on the desired signal-to-noise ratio.

The polyphase resampling method, or interpolated polyphase method, is one implementation of this method that uses a precalculated table of the interpolation kernel by phase. But if you don't care about real-time performance, for simpler window functions you can calculate the windowed Sinc interpolation kernal "on the fly" for each interpolated point, thus allowing any interpolation rate, and even time variable interpolation rates.

I have pseudo-code (actually BASIC code) for this here.

hotpaw2
  • 70,107
  • 14
  • 90
  • 153