Resampling an audio signal I am trying to resample an audio signal in my application. It will be between 48kHz and 96kHz audio (both upsampling and downsampling).

Looking at the Wikipedia page for resampling I see there are two approaches:


Decimation and upsampling
Polynomial interpolation e.g. Lagrange


My questions are:


The upsampling Wikipedia page states


  Smooth out the discontinuities with a lowpass filter, which replaces the zeros.


How does inserting L-1 zeroes between the original sample and then passing it through a low pass filter magically replace the zeroes to become interpolated samples?
If I decide to use polynomial interpolation (Lagrange) do I need to use a low pass filter when downsampling to remove the high frequency signals that are above the Nyquist frequency? What about during upsampling? Why or why not?
All the implementations of resampling I see on the internet are "IIR" filters. Are there any "FIR" resampling filters? If so, why is one seemingly more popular than the other?
My application works by resampling 'chunks' of audio randomly instead of a continuous stream (which is why I want to use a FIR resampling filter as there is no continuity). Is this a good idea or should I change my application to use a IIR resampling filter on a continuous stream of audio?


Thanks all
There are some excellent papers on this topic you might want to read.

Sampling-50 years after Shannon, M Unser - Proceedings of the IEEE, 2000

Splines: A perfect fit for signal and image processing, M Unser - IEEE Signal processing magazine, 1999

Interpolation and decimation of digital signals—A tutorial review, RE Crochiere, LR Rabiner - Proceedings of the IEEE, 1981.