Thank you for your donation!


Cloudsmith graciously provides open-source package management and distribution for our project.


Raspberry Pi Zero W: pops or clicks
#11
@_mAo_

Calling it a "USB DAC with DSD1796" doesn't actually tell us very much. Since it's a USB DAC, the actual chip is hidden behind the USB controller on each end of the cable as well as by the Linux USB driver.

I see in your usb-devices output

Code:
P:  Vendor=20b1 ProdID=000a Rev=06.60
S:  Manufacturer=XMOS
S:  Product=HIFI-Ref

The first two lines concern the XMOS USB controller on your DAC. It's essentially the same information as shown for my Khadas Tone Board which has an XMOS XU208 controller (I can't explain the big difference in "Rev" numbers but I don't know what that number means when we have the same controller chip used in products from two different vendors).

Code:
P:  Vendor=20b1 ProdID=000a Rev=01.04
S:  Manufacturer=XMOS
S:  Product=Khadas Tone Control

I've used this DAC quite successfully but only with RPis model 3Bs and model 4Bs. If I can manage to find appropriate cables and adapters to get from the microUSB port on an RPiZeroW to the USB-C port on the Khadas Tone Board  I'll see if I can repro your issue.

There are hardware, firmware, and software differences between the model Zero and the model 4 so there lots of places to go wrong with confidence  Tongue


Regards,
Kent
Reply
#12
Lightbulb 
Today I made a test with a fresh Moode 6.52 and a Pi Zero. Connected is an Apple USB C DAC with an adapter. The maximum rate I have available is 192/24.
Still a Pi Zero fan I was quite relieved that no pops were recognized. 
This means in turn I want to get rid of my Pi 4 which does not perform better but consumes almost four times the power for the same task and just heats up the room  Sad
Reply
#13
@_mAo_

OK, so I've tried and failed to repro your issue using my USB Khadas Tone Board connected to an RPi ZeroW.

It plays ripped CD tracks fine at 16bit / 44.1kHz and also with SOX resampling set either to 24bit / 192kHz or to 32bit / 192kHz. No clicks or pops.

Since 24bit is not one of its sample formats, ALSA/SOX upsamples it to 32bit and, hence, 24bit and 32bit resampling is the same for me.

Code:
//alsacap outout

Card 1, ID `Control', name `Khadas Tone Control'
 Device 0, ID `USB Audio', name `USB Audio', 1 subdevices (1 available)
   2 channels, sampling rate 44100..768000 Hz
   Sample formats: S16_LE, S32_LE, SPECIAL, DSD_U32_BE
   Buffer size range from 16 to 262144
   Period size range from 8 to 131072

pi@moode0w:~ $ cat /proc/asound/card1/pcm0p/sub0/hw_params
access: RW_INTERLEAVED
format: S32_LE
subformat: STD
channels: 2
rate: 192000 (192000/1)
period_size: 24000
buffer_size: 96000

I do notice that if I ask the RPI ZeroW to do something else significant while playing a track I'm likely to experience some fribble in the output and see underrun messages in the mpd log, e.g.,

Code:
Jul 04 15:23 : alsa_output: Decoder is too slow; playing silence to avoid xrun

Clearly the single-core CPU is being pressed (not just in the total usage but in the amount of context switching going on).

There's nothing special about my setup. Stock moOde 6.5.2 with no tweaks, vanilla switching power pack from Canakit, ordinary cables.

Based on this experience I have no advice I can offer you other than you may want to explore other DACs.

Regards,
Kent
Reply
#14
PS - regarding eco-friendliness

I looked up some numbers on other peoples' websites.

An RPi4B running a stress test at 400% CPU load (e.g., all 4 cores pegged at 100%) consumes 6.4 watts, which we can presume is dissipated into the room. That's about 20 percent more than an RPi3B+ consumes running the same test.

A human being at rest generates roughly 60 - 100 watts of heat which is also dissipated into the room, so the presence of a human being is ten times worse for indoor climate control!

As for power consumption, 6.4 watts x 24 hours/day x 365 days/year = 56 kWh. 

The average cost of electricity to a residential customer in the USA in April 2020 was 13.1 cents/kWh. Hence, that RPi4B running full out 24/7/365 consumes roughly US$7.50 worth of electricity. That's about the cost of treating my sweetie and me to a Starbucks Caffè Latte once a year.

I think conservation is a big deal. I was employed as an experimental physicist in alternative energy systems R&D for a decade of my life. But seriously, folks, RPis aren't the problem. 

Regards,
Kent
Reply
#15
@TheOldPresbyope
Thanks for your support and considerations.
I am not an avid green. and there are certainly other problems.
in any case I try to do as little as I can: I switch the various devices off without leaving them on standby for example.
a pi3 or 4 certainly has more components than a zero, so even the only production cost is different ... especially if a product does the same thing with less ...
we are 7 billion. we have to change the way we think.
Unity is strength.
but this is off topic. Smile
Reply
#16
Fully agree. It will not ruin one from a financial perspective.

And actually, it was not my intention to start a discussion like, resources are limited and scaling effects from thousands of Pis.

But nevertheless, I find it somehow reassuring that a small Pi Zero can do this specific job as well.
Moreover, I really appreciate that Raspbian and Moode developers doing a good job to limit necessary resources for these applications.

Maybe for information, two measurements I did to compare the two variants for the same task:
Moode 6.5.2, USB DAC (powered via the Pi), Wifi (no LAN) and headless streaming 192kbit/s Radio:

Pi Zero ~0.8 W
Pi 4      ~3.1 W

Measured w/o power supply losses, i. e. on the 5V DC side.

So everybody can decide on its own if it is significant. Indisputable however, the Pi 4 gets quit warm (hot) even under this low load conditions, having impact on housing, power supply etc.
Reply
#17
I have the same problem. Raspberry Pi Zero W + USB DAC with XMOS XU208 Moode 6.4.2
When I installed Moode 4.4, the problem was solved. Now there are no pops or clicks.
Reply
#18
pardon me tagging along with this thread.

I own pi zero w and last year I discovered moode. I started with 6.30 iIIRC and made to 6.42 before switching to 6.5x. I use external dac (topping d10) via USB otg and pi is powered either power usb adapter or power bank (5v 2.4A).

at first I notice click / pop or glitch so I tried all I can, raise buffer, set governor to performance and USB UAC2 Fix=ON. playback from local files, spotify renderer or uPNP from  foobar2k. after all those tweak it fixed. No pop or audio glitch. I can even use sox 24bit/96k medium quality without problem. only occasional pop when I raised sox to high quality or sampling beyond 96k. I'm pretty happy with the performance of this little pi

after I updated to 6.5x I notice audio glitch. So I reflash my backup image and be happy again
however after trying 6.7 I made a mistake and lost my backup 6.42 image completely so I tried older image
6.5/6.6= glitchy
6.42= glitchy
6.30= glitchy
6.30 update to 6.40 = glitchy

I tried all i can except change dac (only have 1 dac) change sd card, same, change usb cable, same

after I lost my best moode image i ventured to other dist, Runeaudio (unlistenable glitch too much), volumio (can't even have proper replaygain), PicorePlayer (Don't know how to use.. LMS, squeezebox? what is that?) so my choice is to get back to moode and to be honest I really like moode above anything else.

I wonder what went wrong? I install nmon and look at the terminal while listening to music, try to find IF there is simple correlation between glitch and cpu usage / disk disk read write. Yes it glitch when theres 100% cpu or heavy write, but random pop / click still happens when pi is in low usage.

all this issue makes me wonder if buying a new pi 4 will solve everything, but I really like my pi zero as a simple solution to my music playback.
Reply
#19
Today I briefly test my pi zero w with friend's Fiio Q1 dac amp and for a few minutes i hear NO glitch. alas I can only test for a few minutes because mpd seems not to recognize the dac after a while and reboot did not help either. This motivates me to do a usb cable Y hack (one usb to pi and one to power source. I use this before to help power the dac while I'm using phone otg) and power the dac independently.

still glitch. back to square one
Reply


Forum Jump: