DSD512 stuttering


I’m having a problem playing DSD512 files via Volumio. If I stream files up to DSD256 every works perfectly, but with DSD512 I get stuttering (play music for 1 second, stops for 1 second and so on).

I have the following setup:
RPi3 running Volumio 2.378
RPi3 connected to an isolator (Ian’s IsolatorPi), a FIFO (Ian’s McFIFO) and then a 9028 based DAC (Twistedpearaudio). Volumio is set to output to I2S Generic DAC, with Direct DSD On.
I use Audirvana+ to stream music to the RPi (the DSD512 music file I’m using to test the DSD512 capability is already upsampled to DSD512, so the bottleneck is not the computer’s CPU while upsampling).
The RPi is connected to the router via ethernet cable, and the computer streaming the music is connected to the router wirelessly (802.11ac).
I disabled the wireless network option on the RPi via Volumio in case it would help, but nothing changed.

Is there something I’m missing that might prevent Volumio/RPi3 from playing the DSD512 files?


1 Like

I’ve tried to further isolate the stuttering problem and I found that the reason the sound plays for a second and then off for a second is that the IsolatorPi loses the incoming signal from the RPi every other second (keeps on alternating between receiving a signal and no signal). This does not happen when I stream DSD256 files to Volumio on the RPi.

I tested the PSU while streaming DSD512 and it maintains a steady 5V output (so no sagging with the bigger DSD512 load). I’ve also tested the RPi connected to the network via ethernet and via wifi while streaming DSD512, with the laptop connected via ethernet and wifi as well, but the outcome is the same.

Could it be a problem with the RPi (3B model) not being fast enough to receive DSD512 (waiting to receive the new 3B+ model)? Using SSH I can see that while streaming a DSD512 file the mpd process is at 103% (about 75% with DSD256). Or could it be a bug on how Volumio handles DSD512 when installed on a RPi?

There might be 2 problems here:

  • Your network bandwith may not be enough
  • You’re tryig to play DSD 512 which is not supported by your DAC (the high CPU load of mpd makes me think this way) so it gets resampled to PCM

Hi Michelangelo,

I finally figured out my mistake in implementing the IsolatorPi thanks to Ian: I was trying to output DSD via I2S on the Rpi3. Hence the conversion to PCM and high CPU load like you wrote.

I am now trying to output from the RPi to an Amanero via usb, but the only way I can get the DAC to receive DSD is by enabling DSD over PCM in Volumio which obviously doesn’t work for DSD512. Direct DSD results in Volumio converting to PCM before sending it to the Amanero.
I updated the Amanero firmware to 2003be_71A which should be able to handle native DSD in Linux up to DSD512 but I think that Volumio doesn’t recognize the capability since it converts all DSD to PCM.

This is what I get with lsusb:
Bus 001 Device 004: ID 16d0:071a MCS
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

cat /proc/asound/card*/stream0:
Amanero Technologies Combo384 Amanero at usb-3f980000.usb-1.4, high speed : USB Audio

Status: Stop
Interface 2
Altset 1
Format: S32_LE
Channels: 2
Endpoint: 5 OUT (ASYNC)
Rates: 32000, 44100, 48000, 88200, 96000, 176400, 192000, 352800, 384000, 705600, 768000
Data packet interval: 125 us
Interface 2
Altset 2
Format: S32_LE
Channels: 2
Endpoint: 5 OUT (ASYNC)
Rates: 32000, 44100, 48000, 88200, 96000, 176400, 192000, 352800, 384000, 705600, 768000
Data packet interval: 125 us

Am I right in assuming that Volumio doesn’t recognize the Amanero as a native DSD capable device? In which case, is there something I can modify to change that?