Saturday 2 December 2023

Do bit-perfect digital sources affect a USB DAC's sound quality? [2023 Edition - phone, Raspberry Pi, MiniPC, laptop]

In the image above, we see embedded some pictures of contemporary, expensive (>US$10k) digital audio devices. Each one of these are just streaming or server boxes that can take data over your network or internal storage and pass them along to a DAC with no actual conversion. Typically, these "high end" audiophile products (for example some featured here) are not asked to perform DSP, thus passing the data in a "bit-perfect" fashion. Furthermore, these expensive devices do not include an internal CD/DVD/SACD/BluRay mechanical reader. They're basically computers with hard drives or SSD storage and software to index and manage your music library. You'll typically be connecting them to your favourite external DAC most popularly through USB although proprietary interfaces (eg. Wadax's optical), ethernet, S/PDIF coax/optical, and i2S could be other options.

The other day, a family member was in need of a replacement phone so I gave them my Huawei P30 Pro which I've been using since 2019 and got a Google Pixel 8 Pro. After transferring the apps and data over, I figured I'd try to see if USB Audio Player PRO on the Pixel 8 Pro would work with the very high resolution Sabaj A20d 2022 DAC (ES9038PRO converter) which the Huawei phone previously did not. It worked, reminding me that Android USB hardware and drivers can result in different levels of USB DAC compatibility.

With the phone connected to the DAC, and given that it has been awhile since I've put together a "shootout", let's see if there's any evidence now in the 2020's of potentially audible differences between source devices playing to a very high-resolution USB DAC. Not that I have a $10k streamer lying around here, but a $1000 phone could be different from a sub-$100 Raspberry Pi, right? ðŸ˜‰

[FYI: years ago, I did a test similar to this using various mostly S/PDIF outputs connected to the same ASUS Essence One DAC.]

Let's look at some data.

For the testing, let's select a few audio "streaming" devices that we can connect to the Sabaj A20d 2022 DAC using a generic white USB-A to USB-C 3' cable. For the Pixel 8 phone, I'll use the USB-A to USB-C converter that Google conveniently included in the package (meant for data transfer such as upgrading from another phone if you don't have a fast wireless connection):

As you can see, for this kind of work, some Guinness Extra Stout helped set the mood. ðŸ˜‹

So what I will do is connect each digital device to the Sabaj DAC with the same USB cable. Let's use the E1DA combination of the Cosmos Scaler prototype, and Cosmos ADC for very high-resolution measurements (thanks again Ivan for the gear!). I figure for this test, let's just use good-'ol RightMark as a tool to capture a range of numerical and graphed overlay results, and we'll also look at the time-domain/jitter performance with the 24-bit 48kHz Dunn J-Test with default DPLL setting 5 on the Sabaj DAC.

Notice that the devices on the table are quite different. Unless specified, the player software settings are "bit-perfect":

Google Pixel 8 Pro smartphone (2023) - latest Android 14 OS, USB Audio Player PRO software, FLAC test files on the phone internal storage.

Raspberry Pi 4 "Touch" (2019) running recent Volumio 3 software, FLAC test files on a USB memory stick.

Beelink EQ12 Intel N100 MiniPC (2023) - Windows 11 OS, current Roon 2.0 build (set up using headless Roon Bridge as discussed, ASIO or WASAPI driver as indicated), all DSP off unless indicated, streamed over WiFi from a Windows Server 2019 machine in the home network using the RAAT protocol.

Microsoft Surface Pro 3 Intel i5-4300U laptop (2014) - Windows 10 OS, foobar2000 player, ASIO driver, FLAC test files on internal SSD. Playing while charging, not off batteries.

Among the devices, we have different CPUs (ARM-based and Intel x86/64), machines of various ages, different classes of devices, different OS, different audio player software, test data on SSD, internal storage, USB stick, or streamed over WiFi using Roon. What do you think the test results show?

Here's the RightMark data from the XLR output of the Sabaj DAC:


Like a unique fingerprint, based on the numbers, we can easily guess that each of the test conditions show output from the same DAC. I think the astute audiophile will recognize that these numbers must come from a very high resolution device! 120+dB dynamic range, better than 0.0001% THD, better than 120dB stereo crosstalk!

And we can graph out the data for frequency response, noise floor, crosstalk, and IMD+N sweep:


Notice that there's basically no difference! In fact the only difference is that yellow tracing on the frequency response curve where there's a little dip at 2kHz. This is the "Beelink W11 -0.1dB@2kHz" tracing where I purposely added a narrow -0.1dB, Q10, parametric dip using Roon's DSP setting at 2kHz as a simple "sensitivity" test - this is the only non-bit-perfect stream among them. Since RightMark is not doing a continuous frequency response sweep for this particular test, it doesn't quite capture the exact shape of the -0.1dB dip. However, clearly it still found the difference in a way that's much more sensitive than human ears can detect such a slight, narrow change!

Perhaps something you might not have seen before, notice that even with the Roon DSP on ("Beelink W11 -0.1dB@2kHz" data), we don't see changes like worsening noise or increased distortion (eg. IMD+N sweep). Modern DSP processing is done at very high resolutions like 32 or 64-bits. Do not be afraid of digital processing somehow automatically worsening sound quality. IMO, a "perfectionist" audiophile is one who understands, appreciates and seeks "high-fidelity" sound quality which might include needing to change the signal in order to improve quality in his/her specific room. A neurotic phobia of DSP is simply not a beneficial attitude to hold.

We know balanced output is more resistant to noise, so here's the data using the RCA outputs of the Sabaj DAC, same source devices:



Single-ended RCA output's lower resistance to noise is reflected in the numbers and graphs (notice the low-level 60Hz mains hum and 180Hz 3rd harmonic). Nonetheless, regardless of which USB streamer/computer/phone is connected to the Sabaj DAC, there's no difference to be concerned about. Even with the extra sensitivity to noise, there's no reason to worry whether it's the Pixel phone running off batteries or the other devices plugged into the wall; that low-level 60Hz hum is likely from the DAC itself or picked up over the RCA cables, not from the digital source devices.

So, if noise level, frequency response, and distortions are invariant, how about the time-domain performance? The dreaded jitter has been highlighted as a source of audible difference by so many concerned audiophile reviewers over the years, and touted by manufacturers as why their streamer can sound "better":

As you can see, there's again nothing to worry about!

With modern asynchronous DACs (like the Sabaj's XMOS USB controller) where internally the data is buffered and sent precisely to the DAC, in theory and practice, we see that it is very resistant to timing errors from the source device. The DAC's internal clock is what is important, not the source device's clock. External USB re-clockers like the Innuos Phoenix USB (US$4,300) are highly unlikely to make any meaningful difference and more than likely a waste of money.

Having said this, notice though that at a microscopic level, we can still see small variations in the J-Test. In particular, look at the base of the primary 12kHz signal when connected to the Raspberry Pi 4 "Touch". Notice that it does look a little rougher than the other devices, suggesting that the Pi might have more jitter. It's possible that this is because the audio data is read off the USB stick while also streaming to the DAC over USB. Regardless, these microscopic sidebands and noise "skirt" are below -140dB from the primary signal peak. This would be impossible to hear and at best reflect maybe a handful of picoseconds jitter.

The Raspberry Pi 4 J-Test anomalies are the kind of stuff GoldenSound found in this hyped video as if there's anything of concern. Seriously folks, the level of jitter we're seeing these days is irrelevant among technically competent DAC designs, and human ears/brains are highly insensitive (as usual, listen for yourself).

Notice Roon streaming over WiFi through the Beelink EQ12 MiniPC performed beautifully in both the RightMark results and J-Test. No issues with noise; which some people back in the day needlessly worried about with WiFi, and no issue with jitter - as long as the WiFi connection is reliably fast enough without buffer underruns of course.

Summary:

Well, as I've said many times over the years, *Bits Are Bits*, audiophiles. And as time goes by with better devices, that ideal of digital perfection becomes even more true!

Get yourself a good DAC, and bit-perfect software (foobar and Roon obviously work great) and stop worrying. There are many excellent DACs out there; just have a look at the objective performance as an indicator of good engineering and listen for yourself. I chose the Sabaj A20d 2022 (currently ~US$400) for testing here arbitrarily and could have basically shown similar results with other devices demonstrating the "digital source invariance".

A balanced design will reduce noise, so I recommend that for best high-resolution performance but by no means essential since the RCA results look great as well. I would hope that most modern asynchronous DACs show this level of invariance with whatever streamer or server you're pairing with it in 2023. No guarantees though and I'd be careful with exotic designs (for example, some of the NOS DACs or ones not using modern USB microcontrollers), unless objectively tested.

Remember that S/PDIF Coax and TosLink are not asynchronous interfaces and are more prone to jitter. Even there, as with the Sabaj S/PDIF measurements, jitter should be very well controlled these days.

This of course leads us back to question "Why do we need to spend a lot of money on expensive audio streamers and computers?" like the Wadax (US$68k+), Taiko ($32k+), Aurender N30SA ($25k), Innuos Statement ($19k+), even Grimm MU1 ($10.5k with an i3 NUC inside!), Melco, Pink Faun, Baetis, etc... By all means, buy them for the appearance, build quality, reliability, company support, adequate storage, software interface, features, and "pride of ownership" if you believe there is reasonable value.

Do NOT buy them because they supposedly "sound better". If you're being sold the idea of sonic superiority, I'm sorry to say, you're being sold a fantasy. There's no evidence for such a thing from these companies, spokesmen, or reviewers other than low-quality testimony. There's also no evidence that they even can sound any different based on engineering principles unless they deviated from bit-perfect playback. As usual, beware the hype (also see here).

In my personal experience, I have never heard bit-perfect devices sounding different other than when there's obvious hum or electrical interference intruding into the DAC output. This is unlikely these days with a good DAC unless you have a complex set-up with potential ground loops using single-ended output (USB isolators like the Topping HS02 or Intona might help, avoid IMO useless stuff like the AudioQuest JitterBug). I have also never heard of any controlled blinded bit-perfect A/B listening tests comparing expensive streamers/computers with something simple like a Raspberry Pi connected to a high-quality USB DAC. Worth trying of course, but I would say the objective results are very conclusive already!

One last thing, just in case you were wondering...

No change of the jitter pattern in Windows when comparing the XMOS ASIO and native WASAPI drivers using Roon and streamed over WiFi.

If you're interested in further reading from a few years back, the data in this post reiterates the findings from 2018 (tested with Raspberry Pi 3 B+ vs. Intel i7 computer).

Happy December, audiophile friends! Hope you're starting to enjoy the holiday/end-of-year season and relaxing to some excellent music as well.

-------------------------

BTW, the Google Pixel 8 Pro is a pretty nice phone. Feels sturdy in hand, very fast speed, good low-noise cameras - 5x zoom with optical image stabilization is good, very bright screen, good battery life that can last me 2 days of normal use. The battery sharing feature (charge other Qi-compatible devices inductively) worked well and kept my daughter's iPhone alive when we were out today.

As I suggested recently, the pace of demand for ever-more sophisticated consumer technology is slowing so it's good to see that Google claims they will support this model with updates for the next 7 years to 2030 or so.

Google Pixel 8 Pro and Huawei P30 Pro.
I must say that the Huawei still feels great in the hand as it's slightly thinner and has a cool iridescent 
color. 🙂

8 comments:

  1. great article!
    things have not changed since 2018. Bits Are Bits. Balanced connections are better than unbalanced; you can use both, there's no life at -120dB.
    BUT many audiophile buy VERY expensive streamers, connect them to more expensive DACs using.... asynchronous spdif cables !!!!!
    Maybe integrated streamers-dacs perform better.
    Thanks again, GianDi (Italy)

    ReplyDelete
    Replies
    1. Greetings Gian,
      All kinds of things that happen in this world that are hard to understand and indeed they still happen. :-(

      Thankfully, we're just talking about consumer electronics and things we do for entertainment!

      Indeed, I've seen those stories as well of guys spending $$$$ and still just using ancient S/PDIF for their data transfer; an interface that originated back in the mid-1980's. Mind blowing that some would insist further that this is the "best" interface despite the limitations including inaccuracies of using the embedded bit clock and this somehow "sounds the best".

      I've long believed that for many people, especially the older audiophile groups, there are all kinds of factors at play:
      1. Some lack education as to how things actually work so can be easily be misinformed by manufacturer claims, salesmen, magazine reviewers, who themselves do not necessarily seem very technically aware.

      2. Some do not know how "high-fidelity" sounds like, so will approach this hobby as "euphonophiles" and are searching for an idiosyncratic sound that's best for them - no problem so long as we can all appreciate that this kind of pursuit/sound likely may lead to colored presentations, or overly "smooth", or maybe rolled-off so as to reduce high-end "harshness". Good for them if that makes them happy, but doesn't really educate audiophiles at large.

      3. Some could just have poor hearing. I've come across audiophiles who I know are not "golden ears" but speak as if they are! These are uninsightful people who literally could be making bad choices and speak as if they know the topic or have "experienced" things to suggest we should all try something that's not grounded in reality. Some of the audiophile reviewers over the years I believe are in this category and make ridiculous claims; yet their ideas persist as part of the culture that never verified the claims. Vinyl beliefs and all the superlatives of sound quality are wonderful example of this kind of nonsense IMO!

      I think each of us just need to do what we can to continue to educate and show evidence where we can... In time, hopefully this will change the culture even if there are financially-driven incentives for some to work against truth and understanding.

      Delete
  2. Hi, Archimago!

    If you're trying new apps on the Android, I've tested a few recently for an article for a online hi-fi magazine and two stood out. USB Audio Player Pro is great of course, as it bypasses the Android resampling trough USB.

    1) Hi-Fi Cast is excellent if you have any Chromecast Audio devices, as it sends a continuous stream and allows for gapless playback trough this protocol (and it allows you to access NAS servers).

    2) Symfonium is the most beautiful music player I've seen so far, even more than Roon, and has a great UPNP/DLNA protocol, gapless if the streamer on the other end is also gapless. Also, it works very well with external servers - I've tried all of them and Jellyfin is the best, by far - you can put it on a NAS or a Windows PC and control everything trough your phone with this app.

    Anyway, I hope I'm not bothering you with this as it's a little off-topic and it does interest you. As always, I love reading your posts, keep them coming.

    Cheers,

    ReplyDelete
    Replies
    1. Wonderful comment Jorge!
      Thanks for the tips on the Android apps. Appreciate sharing ideas like these since I'm sure all of us have different needs and it's great that there's increasing diversity of capabilities that can work best with some of our busy daily lives and different set-ups.

      I'll give them a look and listen maybe over the holidays ;-).

      Delete
  3. I enjoyed reading this and seeing the results, thank you. I have two streamers in daily use. One is an Orange Pi PC2 (arm with 1 GB RAM, OS on microsd) and the other a Dell Wyse 3040 thin client (Intel Atom with 1 GB RAM, built in 8GB emmc). Both run Debian stable and gmediarender UPnP renderer and output via USB to DAC. They consume negligible power, never use all their RAM and the CPUs only really depart from lowest frequency for more than a few seconds if the OS is being updated. And of course the output is bit perfect, exactly as expected. And they're fanless and silent. I've always been amazed at people building dedicated audio "audiophile" PCs and really believing they need expensive or powerful kit. I know to run Roon then you need a bit of power but to stream data to a dac you need nothing more than the most basic hardware with a reliable ethernet port. Since the Linux world moved towards pipewire and wireplumber for audio handling it has become incredibly capable on tiny, headless machines. The only very modest hardware I've found unsuitable was a 1st generation Raspberry Pi whose ethernet and USB ports are actually all on one USB controller. Pretty horrible idea and it made nasty noises.

    ReplyDelete
    Replies
    1. Nice comment Julian,
      Yeah, looks like you're all set and can be proud that you're listening to bit-perfect music streamed at low cost and far below the energy-wasting monsters like the IMO gaudy-looking Wadax or Taiko which is simply an extreme waste of dual Xeon processors; nothing to do with extremely "good" sound!

      A blind A/B test between either of those monsters vs. your Orange Pi PC2 I bet would be absolutely frustrating for the unfortunate test subjects. 😞 Would be interesting to those of us looking at the stats and wanting to see if there's any statistical significance though!

      I believe that if there were benefits to expensive streamers sounding better, there would be financial incentives for them to run blinded A/B tests and show us the results. The fact that there isn't already tells us based on what the Industry is not doing.

      Delete
  4. But why would one ever want to run in bit-perfect mode, ie running wihout a DSP? Roomcorrection and a subjective curve is always needed for any speaker setup, and I've never heard a pair of headphones that didn't sound better without a few EQ tweaks.
    In other words, bit-perfect is for noobs :)

    ReplyDelete
  5. Great analysis as always, Archimago!

    IMO, best about Google Pixel devices is that you can run GrapheneOS on them. It cranks Pixels' security level up significantly to become the industry benchmark, especially on Pixel 8 (Pro) due to powerful hardware memory tagging feature of the new ARMv9 CPU cores. It also is extremely privacy friendly but sandboxed Google Play services are available when required [ https://grapheneos.org/features#sandboxed-google-play ]. Hence, also Pixel Camera app can be installed from Google Play store to not miss out on the industry's leading camera algorithms (for photography).

    Should the question arise, why GrapheneOS is available to Pixel devices exclusively, read the linked English paragraph: https://www.kuketz-blog.de/weshalb-grapheneos-aktuell-nur-google-pixel-geraete-unterstuetzt/

    I wish other OS like Windows or macOS could be debloated and hardened, as well for increased privacy, that easily.

    BTW, I just received my 'Jcally JM6 Pro' USB-C headphone adapter and it works great on my Pixel. Apple adapters, which are known to perform well in their class, are unfortunately being throttled by 1) Android OS and in countries where applicable, further by 2) EU law. However, I would like see an objective verification of the JM6 Pro's performance; regarding its stated THD+N of "only" -95dB.

    All the best! :)

    ReplyDelete