Sample rate conversion is the process of converting a digital signal from one sampling rate to another, while changing the information carried by the signal as little as possible.
Source: Wikipedia
SRC is often used in DACs. The reasons are explained here.
In PC audio it is needed when your soundcard supports 48 kHz only and you play a (ripped) CD (44.1 kHz).
The mathematics are complex. If you can read this ( Shannon's sampling theorem ):
You might try The Digital Audio Resampling Home Page'', by Julius O. Smith III.
Infinite Wave tested a lot of implementations.
Some examples of a swept sine wave with -6 dbFS peak amplitude, spanning the frequency range from 0 to 48 kHz for 8 seconds
Secret Rabbit Code 0.1.2 (ZOH)
Logic8 (Tiger)
R8brain Free
Obvious SRC implementation has its impact on sound quality.
Benchmark Media provides an example of the impact of sample rate conversion in OSX 10.4.6
A 16-bit 10k sine wave played through iTunes on OSX 10.4.6, without any sample-rate conversion.
A 16-bit 10k sine wave played through iTunes on OSX 10.4.6, with sample-rate conversion from 48 kHz to 44.1 kHz.
The distortion seen in this graph is solely caused by sample-rate converting from 48 kHz to 44.1 kHz. As seen in the graph, the signal-to-noise ratio went from 130 dB to less then 80 dB!
Win7 has its problems to.
This issue occurs because the sample rate converter uses linear interpolation when it converts audio files. This behavior creates noise on the audio file that is sensitive to the human ear.
Audio file sounds distorted after you convert the sample rate in Windows 7 or in Windows Server 2008 R2 - Microsoft Support
Uli Brüggemann did a very nice experiment.
Upsample the original 44.1 to 176 and back to 44.1
The conversion has been done using a sinc-filter with 65536 taps
The same procedure using Adobe Audition
The same procedure using SRC (Secret Rabbit Code) using cPlay
Obvious both Audition and Secret Rabbit Code are unable te reconstruct the original signal.
Shows you that sample rate conversion can have a profound impact on sound quality.
Most of the time sample rate conversion is about converting the sample rate and/or the bit depth to another value.
This is done entirely in the digital domain, hence a plain mathematical thing.
A DAC can use ASRC.
It decouples the timing of the input stream from the timing of the DA conversion.
This is about getting rid of input jitter.