Here is a short comparison of the hardware 44.1 kHz sample rate, and resampling to 48 kHz in foobar2000 with the PPHS resampler, and
foo_dsp_resampler_0.8.0.zip from
here. All the tests were performed under the following conditions:
- loopback from the 1/4" headphone output jack to the line input
- WASAPI output, 24 bit resolution
- sound card configuration: 64-300 Ω gain setting, -6.5 dB volume for tests 1 and 2, -4.5 dB volume for tests 3 to 6, "sharp roll-off" DAC filter, 64x oversampling
- foobar2000 volume: 0 dB for tests 1 and 2, -2.02 dB for tests 3 to 6
For the first set of tests, I used a 7-bit (127 samples) MLS at 25% of the 0 dBFS level. This is a periodic waveform with a fundamental frequency of 347.24 Hz, and all harmonics have the same amplitude. So, the spectrum of the output of a mathematically "ideal" converter would have peaks at equal magnitude at integer multiples of 347.24 Hz up to 22050 Hz, and nothing else. However, a slower roll-off has the advantage of less ringing. Basically, the filter used has to make a trade-off between imaging/aliasing, rolled off high frequency response, and ringing. The SoX resampler also allows the choice between a linear or a minimum phase filter; the latter avoids pre-ringing, but has a non-flat phase response (the group delay increases at the highest frequencies). The hardware DAC filter, the PPHS resampler, and the default setting of the SoX converter are all linear phase. Cirrus Logic DACs (such as the CS4398 on the Xonar D1 and DX) tend to use a minimum phase filter. Differences in the filtering are not that important, though, converters that have a flat response and no significant aliasing in the audio frequency range are likely to sound the same in practice.
The results, from left to right and top to bottom:
1: 44.1 kHz sample rate, no conversion
2: PPHS resampler, 44.1 -> 48 kHz conversion, "ultra mode" is disabled
3: PPHS resampler, "ultra mode" is enabled
4: SoX resampler, 44.1 -> 48 kHz conversion, default settings ("normal" quality, 95% passband, "allow aliasing" disabled, 50% phase response)
5: SoX resampler, "best" quality
6: SoX resampler, "best" quality, "allow aliasing" is enabled
1, 2:
3, 4:
5, 6:
Only the PPHS converter in normal mode has noticeable aliasing, but it is still at a fairly low and likely not audible level. The PPHS "ultra" mode is rolled off very steeply, and it therefore rings the most. The increased noise floor in the hardware 44.1 kHz mode is quite apparent.
A second set of tests used two high frequency sine waves mixed in a way that the peak amplitude of the reconstructed analog signal is about +2 dBFS, to check for clipping in the DAC or the sample rate converters. The numbering of the graphs is the same as above. I did not include the last three pictures, as they do not look significantly different from the third one.
Without resampling, there is no major problem, although note that there would be clipping on the line output at the maximum volume. The second graph is the only case when I run the sample rate conversion in foobar2000 at 0 dB volume, and the output is indeed clipped. Decreasing the foobar2000 volume by 2 dB, and increasing the hardware volume by the same amount fixed the clipping. The effect might not be audible on music, but the workaround does not really involve a trade-off either, as the noise floor on the headphone output is not increased noticeably.
1, 2:
3: