Intermittent clicking noise on USB output to OPPO-BPD015


I installed the latest version of Volumio on my Raspberry 3. I must say it’s a great piece of work!

I am using the USB output from the Raspberry to the USB input of OPPO-BPD105. Everything works sorta OK except I keep getting the intermittent clicking noise while playing back music. But, when I use the USB output from my MacBook and input to OPPO-015, the playback is very clean. And the quality is much better than what I got from Raspberry. So I guess the problem is NOT the OPPO. It’s most likely my Raspberry setup.

Can someone help me out and shed some light on what I can do to improve? Thanks!

Some more background:

  • Raspberry is playing music from a NAS drive
  • I played with buffer size from 128K all the way up to 8 MB. It does not seem to help.
  • On playback setting, I use the simplest settings, i.e., no re-sampling and etc…

Tonight I tried to play the file from a USB thumb drive plugged into the raspberry. It played perfectly!

No clicks- playing music files from a USB thumb drive plugged into the raspberry
Many clicks - playing music files from a NAS drive through the raspberry
Just a few clicks - web radio from raspberry

Now I am very puzzled. Which part of the raspberry goes wrong?..
Please help…

After some study online, it seems to point to the hardware limit of RPI: ethernet and USB ports share the same UBS origin. To utilize the DAC on the OPPO-105, one will have to buy a DIGI+ and use the TOSLINK or Coax… It’s a let-down to me… Bummer!
I wonder if there is any plan to produce RPI3 Model C and have this problem fixed?

Is it possible to check the effect, or not, of using a wired connection to your NAS? I understand the inherent design problems of joint usb/ethernet of the RPi, but I wondered if this was actually a wireless thing.

I gave up on Raspberry for this use case. There’s enough hardware out that will do the job - like the little ALIX boards from PC Engines which will run Volumio x86. Power consumption is just a little over RPi, used hardware is cheap and you can always recycle those as router/firewall or whatever.

Or you could just go for an atom-based Intel NUC5CPYH or some older model.

Given the hardware limit of Raspberry Pi 3, i.e., USB output and ethernet sharing the same USB bottleneck, I am wondering if there is anything in the software side to mitigate the problem.

A few things come to mind:

  • Give USB output the highest priority so the ethernet activities will not degrade the USB output. Of course, one needs to increase the buffer size.
  • To push the idea to the extreme, one can implement 100% buffer in Volumio and then turn off the WIFI interrupt till the playback is done.
  • Capture and analyze the USB digital output data and give insight on when pops and clicks occur what exactly happen. And then back paddle to figure out how to eliminate the problem.
  • How does Volumio handle data error event? Is there any resend in case of data corruption? Is there any debug mode that one can see the resend log?

Am I too crazy?

Also, some USB DACS seem to do just fine, according to the input in the forum but my OPPO-105 does not, This makes me wonder if there are many intrinsic differences in the designs of USB DACs, such as buffering on the playback side…

Since web radio produces less clicks than music from your NAS (of which I assume has higher bitrate than the common radio stream) it is really likely a hardware related problem. So if you haven’t already, you could try going wireless with a USB wifi adpater and see if that helps.

I think for standard lossless network-to-USB-DAC playback, i.e. 16bit/44.1kHz, the hardware should be more than sufficient. High resolution audio has always been a problem for me on RPi 2, though.

Also you might want to check different players like an openELEC or OSMC images to see if the problem persists. Since Kodi uses a software mixer in standard setup, the output path is a bit different. Would be interesting to know if the audio output is OK that way (though it should be of somewhat lesser quality).

@asddsa, you are right on! Thanks!
I tried your idea. I used a USB wireless adapter to by pass the RPi 3 built-in WiFi. And the result is satisfactory, i.e., the clicks have much much reduced! And I am noticing much higher WiFi signal in Volumio’s network page. I guess by using an external USB WiFi the load to the Ethernet/USB controller chip has been reduced and therefore clicking noise is reduced.

P.S. I also did a stress test: rescan the library while playing back. And it does not cause any problem! (When I use the built-in WiFi adapter and let Volumio do the re-scan, the clicking noise is unbearable!)

P.S. again: After very careful listening, I conclude the clicks are still there but it’s very mild and subtle. From my perception, it’s like very mild pops from vinyls. It does not bother me much. But it’s just perfect. Maybe, for the next step, I should just switch to SPDIF. Asus Tinkerboard looks very good from spec. It has separate USB and Ethernet controls. Also it has native 96K/24bit capability. Does anyone have any success story?
So much for my excitement on using RPi has a high end music playback device. Music is about pursuing perfect. RPi is limited by it’s weakest link…

I don’t know much about the ASUS board but you could grab a piece of used x86 hardware off ebay and install the x86 image. Old Intel NUC or ALIX boards or whatever can be purchased at around $/€ 50. After spending too much time with RPi I went that way and it worked just out of the box, even with 24/192 and DSD via DoP.

What’s your budget and size limit for the device? Power consumption is a concern I assume?