I have some serious reservations regarding methodology used in these tests.
Most notably, the spectrum charts for Pandora look awfully lot like output of a moderately-shitty software resampler.
I simply used aplay on all devices to play the file and that worked fine.
Did you pass
-D=hw to make sure you're sending the audio directly to the hardware, bypassing all software filtering in alsa?
aplay -D hw:0,0 AudioTest.wav
This won't work with ED's file since the DAC can only accept stereo data.
If that's so, I would suggest converting the file to stereo with SoX or whatever. This way we're sure nothing else is mangling the stream before it is sent to the hardware.
For that dmix can be used, which seems to keep the sample rate:
Actually, dmix is not capable of doing any format conversions. In fact, it sets a single format (sampling freq + sample format + channel count)
in stone for all inputs and the output. Unless you configure it differently, the default parameters are: 48kHz, 16 bits signed, 2 channels.
If you want to send a different format than dmix is set for, you need to use the
plug plugin, which converts between formats as needed...
aplay -D plug:dmix AudioTest.wav
but I have no idea if it doesn't alter the audio some other way..
...which is exactly what you are doing here. That line is creating a pipeline that sends audio first to the
plug plugin for format conversion, and then to
dmix. Note that this will convert everything to whatever format is set for dmix (probably the alsa default, if not set otherwise).
Regardless of the input format.
If you want to just do minimal format conversion and not mixing (and not be restrained by the format set by the mixer), then the right line is:
aplay -D plug:hw file.wav
This will only do the conversions necessary to fit the supported HW formats, i.e.: if HW supports the sampling rate and channel count but not the sample format, only the sample format will be converted.