To do multichannel playback, I have .flac (PCM) and .dsf (DSD) files--on a network music server using MinimServer 2--in 2.0, 5.0, and 5.1 channel formats. To play those files over the network in gapless way, I’ve been using LibreELEC (Kodi) on an intel i5 laptop, which transcodes the DSD to PCM and sends to Denon AVR-3808 via a mini-displayport to HDMI connection. The advantage of using Kodi is for gapless playback with a user-interface that allows easy browsing of many hundreds of albums, via a remote app on a tablet. One potential disadvantage of using Kodi is that it converts DSD64 to 352.8 khz PCM before sending over HDMI. (Denon AVR-3808 shows 192khz PCM from that stream and plays fine perhaps because PCM is converted from 352.8 to 192 khz for HDMI.) However, I don’t see the DSD-to-PCM conversion as a true disadvantage in my use case because when listening to 5.0 and 5.1 music, I use the Audyssey room correction in the Denon AVR, which cannot be done with DSD.
For DSD playback, one can also use certain Blu-ray players such as Oppo 103 or Sony UBP-x800m2. Both players can access files over network (and play SACD) and send DSD over HDMI to Denon AVR, some of which can play “DSD Direct” and “DSD Multi Direct” respectively with 2ch and Mch (I noticed for 5.0 or 5.1ch files, DSD Multi Direct on AVR-3808 requires 5.1 speakers including the 0.1 subwoofer. Without the sub, no direct DSD even if you’re playing 5.0ch file.) However playback by this method is NOT gapless for network files (regardless of whether HDMI carries PCM or DSD), and the user interface is cumbersome for browsing hundreds of albums (dozens is ok). The Oppo 103 has a more lengthy gap between tracks than does the Sony UBP-x800m2. The advantage of these Blu-ray players over Kodi is they are capable of sending DSD over HDMI. To play DSD files using the Sony Blu-ray player from Minimserver 2, one has to define the mime types in MinimServer 2. This is done in AdvancedProperties/Advanced/serverOptions with “mimeType.dsf=audio/dsd, mimeType.dff=audio/dsd”. This setting in MinimServer 2 allows playing 2ch and multichannel DSD over the network for the Sony UBP-x800m2.
As far as I know, DSD over HDMI can only be done with certain disc players such as the Oppo 103 and Sony UBP-x800m2 (and Pioneer UDP-LX800, Post 7)above, but not computer hardware such as laptops and raspberry pi. For computers, the DSD has to be converted to PCM for HDMI transport. I tried Volumio 3, using HDMI out to Denon AVR. With 5.0ch and 5.1ch, but not 2.0ch DSD files, there was a huge problem of music stuttering using Volumio 3 on a raspberry pi 4 making this not a viable option. Running ‘top’ at the linux command line showed that 5 channel DSD music was requiring 124% CPU (while the music stuttered) whereas 2ch music required 49% CPU and no stuttering. RAM use was minimal in all cases. I think the high CPU use might be the on-the-fly DSD-to-PCM transcoding, because 5.1ch flac files had 15% CPU usage. Because the CPU was getting maxed out on the RPi4, I next tried Volumio 3 on an intel i5 laptop. In this case 5.0 DSD only used 28% CPU and 5.1 DSD used 34% CPU, and with intel i5 there was no stuttering of audio sound. 2.0 and 5.1 DSD channels mapped to the speakers correctly, but 5.0 DSD did not map to the speakers correctly. [ for 5.0ch file channel→speaker: FL→FL, FR→FR, FCenter→RL, RL→RR, RR->FCenter] Volumio 3 sent 5.1ch 192khz PCM to the Denon AVR, for both 5.0 and 5.1 .dsf files (via Mini DisplayPort to HDMI). So the problem might have to do with Volumio 3 forcing 5.1 channels on a 5.0 DSD file and getting the channel mapping messed up in the process. For 2ch .dsf and .flac, Volumio 3 on RPi4 is just fine, providing gapless playback with a nice user interface on a tablet, and also capable of outputting DSD to a DSD-capable DAC by USB.
Two questions I’m wondering about.
First, are there any known problems or disadvantages of using Kodi in terms of proper treatment of the digital stream? Without measurements or further digital audio knowledge, it seems to me that the Kodi developers have done an excellent job on multichannel music, including support for DSD files.
Second, what are some other ways to obtain gapless playback of DSD multichannel files not yet mentioned on this thread, perhaps a method that has worked for you? What do you see as the advantages and disadvantages of your method?