I experience the same thing. I’ve also found that I can reproduce the problem by toggling Roon’s upsampling on while playing a 44.1 kHz track.
Here’s my configuration:
# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: sndrpihifiberry [snd_rpi_hifiberry_dacplus], device 0: HiFiBerry DAC+ Pro HiFi pcm512x-hifi-0 [HiFiBerry DAC+ Pro HiFi pcm512x-hifi-0]
Subdevices: 1/1
Subdevice #0: subdevice #0
# uname -a
Linux the-bar-pi 5.4.51-v7+ #1333 SMP Mon Aug 10 16:45:19 BST 2020 armv7l GNU/Linux
I don’t have the same problem with my HiFiBerry DAC2 HD. I don’t believe I’ve experienced this with my AMP2 either. Something unique to the DAC+ Pro hardware since I think the AMP2 uses the same driver.
I thought I might be able to reproduce the issue locally using SoX, but both of these commands produce a tone that I can hear on the DAC+ Pro:
# play --bits 16 --rate 44100 --channels 2 --null synth 1 sin 440 vol -10dB
Encoding: n/a
Channels: 2 @ 16-bit
Samplerate: 44100Hz
Replaygain: off
Duration: unknown
In:0.00% 00:00:01.02 [00:00:00.00] Out:44.1k [ | ] Clip:0
Done.
# play --bits 24 --rate 192000 --channels 2 --null synth 1 sin 440 vol -10dB
Encoding: n/a
Channels: 2 @ 24-bit
Samplerate: 192000Hz
Replaygain: off
Duration: unknown
In:0.00% 00:00:01.00 [00:00:00.00] Out:192k [ ====|==== ] Clip:0
Done.
SoX can save the output of these generated tones to files:
# sox --bits 16 --rate 44100 --channels 2 --null a-16-44.wav synth 1 sin 440 vol -10dB
# sox --bits 24 --rate 192000 --channels 2 --null a-24-192.wav synth 1 sin 440 vol -10dB
# ls -l a-*.wav
-rw-r--r-- 1 root root 176444 Nov 7 11:20 a-16-44.wav
-rw-r--r-- 1 root root 1152080 Nov 7 11:21 a-24-192.wav
I can then play these two files back-to-back locally with:
# play a-*.wav
…and this also works as expected (I hear both tones). However, when I import these two files into Roon and play them to the DAC+ Pro via Roon, I only hear the first tone.
As a workaround, enabling DSP Upsampling with “MAX PCM RATE (POWER OF 2)” seems to allow everything to play, but I’m really curious to know why the DAC+ Pro and Roon are interacting this way…especially now that I know that this is not unique to my setup.