Dave Chapman: > > The most common case will be downsampling 48KHz->44.1KHz, but there are > also users who need upsampling from various lower frequencies (e.g. for > use with audio books). > > So we're looking for pointers to any high quality (but fast!) resampling > code that could be used.
I recently did a lot of benchmarking between libsamplerate and mus_src in clm/sndlib. My result was quite interesting, the fastest mus_src sinc resampler where a lot faster than the fastest libsamplerate resampler. I don't have the results available right now, but I remember that mus_src performance wasn't very far from beating the linear resampler in libsamplerate. I did a lot of test with various types of data and compiler-options, so I don't think it was a coinsidence. However, it might have been because of some optimalization gcc was doing or something to do with the cache. The mus_src code is far smaller and easier to read than the one for libsamplerate. I did not hear any difference in soundquality, but I guess there might be a difference. Sndlib: http://ccrma.stanford.edu/software/snd/snd/sndlib.html mus_src is available in the file clm.c . libsamplerate: http://www.mega-nerd.com/SRC/ A third program is the original sinc-resampler from Julius Smith: http://ccrma-www.stanford.edu/~jos/resample/ I don't know how this one performs compaired to the other two though. --