rodio
rodio copied to clipboard
SineWave generates heavy amounts of ringing because of improper downsampling
This is one of the two issues found in #201.
With the fix in #202 what still occurs is when the input sinewave is 48000 (the default) and the automatically selected sound output device is using 44100 Hz and the rodio::sink or rodio::queue (fed through play_raw) are used then the output has heavy amounts of aliasing/ringing from improper downsampling to 44100 Hz.
This should be a perfect sine wave at 3000 Hz but instead has the banding seen which is quite audible.
This is caused by the fact that the sample rate converter doesn't use a fourier transform in its sampling. I'm not sure what the intention of the sample rate converter is but it doesn't appear to be for converting sample rates.