I have just recompiled squeezelite with resampling, then removed pulseaudio to test piping to alsa directly (after upsampling). It works. Squeezelite offers a nice range of upsampling options, so we may even get a 'bonus' in terms of upsampling capability:
SoX 14.4 High Quality:
|
No options (this is the default setting)
|
SoX 14.4 High Quality (Aliasing Enabled):
|
-b 90 -a
|
SoX 14.4 VHQ Linear Phase:
|
-v -s
|
SoX 14.4 VHQ Intermediate Phase:
|
-v -s -I
|
SoX 14.4 VHQ Minimum Phase:
|
-v -s -M
|
We can either use brutefir's alsa output, or perhaps better, pipe into aplay, which has has pretty good control of the output device:
squeezelite -o - -r 96000 -R X -f 32 | sudo aplay -D hw:0,0 -r 96000 -f S32_LE -c 2
In this test, I've confirmed that the output card (0,0) really does stick at 'native' 96000 sampling rate and 32-bit words. Conceptually a pipeline like squeezelite | brutefir | aplay should work well. I'll focus on aplay for final output because it has known ability to adjust buffer timing, etc, which is needed for some async USB dacs.
Regards,
Mervin