http://bugs.winehq.org/show_bug.cgi?id=14717
--- Comment #218 from Alexander E. Patrakov patrakov@gmail.com 2011-11-06 09:34:51 CST --- Quick note: my patchset is not ready for submission, because it sometimes adds clicks (due to integer overflow? will investigate later).
Testing method: open Audacity, set project rate to 96000 Hz, create a stereo track, fill it with a 30-second-long sine sweep from 0 to 48000 Hz at 0.8 amplitude. Export to a 32-bit wav file.
In winecfg, set the default sample rate to 44100 Hz.
Add this to ~/.asoundrc:
pcm.dump { type file file "/tmp/dump1.wav" format "wav" slave { pcm "hw:0" } }
pcm.!default { type rate slave.pcm "dump" slave.rate 44100 slave.format S16_LE }
Play sweep.wav through foobar2000, copy the resulting /tmp/dump1.wav file somewhere into a more safe place.
Restore the old .asoundrc. Configure audacity to display spectrograms with 2048 samples per point, Gaussian window (a = 4.5), 100 dB dynamic range, up to 22 kHz.
Open the copy of dump1.wav in audacity, configure it to display tracks as spectrograms by clicking on the triangle near the track. Anything except the bright diagonal line corresponds to unwanted frequency components added by a resampler.
Result: my resampler has a few vertical lines in the display, those correspond to the added clicks. There are also the unwanted diagonal lines corresponding to linear combination of the signal frequency and the old and new sampling rate (i.e. aliasing). The resampler by Andrew Eikum does not produce clicks, but, due to imperfect FIR (to be fixed later), has more aliasing.