Home Streaming Audio Software To the Core: what determines the sound of software?

To the Core: what determines the sound of software?

15
To the Core: what determines the sound of software?

Intro

Software is software and bytes are bytes, right? Why does Audirvāna Core Player, which runs on Linux, sound different from the program on Mac?

The announcement of the availability of Audirvāna Core Player for the Synology NAS made us want to test the software immediately. Quite quickly, we found that the NAS was too old to run Audirvāna smoothly. Fortunately, a Raspberry Pi 4 with 2Gb of memory was gathering dust in a drawer, so we decided to try to use the Pi. After some fiddling with Linux, the result turned out to be surprisingly different from Audirvāna on the Mac. It led to the article ‘that sounds analogue‘.

The question then is: why does it sound different? And can we figure out what factors are of influence on the sound differences?

This article addresses that question. Accompanying this article, we published a review of the Audirvāna Core Player.

The test design

We know that a power supply matters. But which computer you use does apparently too? To try to find out if that is true, we compare on three factors:

  1. The influence of the operating system used
  2. The processing power of the CPU
  3. The power supply

The advantage of using a Raspberry Pi is that you can swap the operating system easily by replacing the SD card. This makes side by side comparison easy to perform. Why do we take a look at the operating system? Damian from Audirvāna builds options to suppress processes on the OS into the Windows and Mac versions of Audirvāna, to avoid their negative influence on the sound. We compare a standard Raspberry Pi OS image with DietPi Linux, a stripped-down version of Linux. We use two of the same SD cards for this purpose.

CPU comparison is trickier. We cannot remove the CPU from the Raspberry Pi and click another one in its place. So the comparison cannot be a completely controlled one, but it can be done in a way that is representative of real life: we compare a Raspberry Pi 4B, a somewhat older Shuttle brand computer with an Intel Dual Core Celeron processor and a Gigabyte brand computer with a 4 core Intel i5 processor, which represents a lot of computing power. Of course, the build of these computers is different, but you get an idea of what processing power does to the resulting sound.

Changing the power adapter is easy for a Raspberry Pi, it uses a 5V external adapter.

In this test design we try to vary one factor at the time and keep everything else equal, within practical limitations.

Subscribe
Notify of
15 Comments
Newest
Oldest Most Voted
Gordon
1 year ago

Hi,

When I started USB Async (UAC 1.1) back in 2003 I thought here it is digital freedom from jitter and other problems with SPDIF. Was I more wrong.

In 2010 I was at Rocky Mountain and a bunch of us were talking about why software sounds different. When I returned to the office that next week I cleared my schedule and put the following test setup:
MacBook Pro (with bootcamp Windows)USB Analyzer | both a Tektronix 4K series with USB and I2S plug ins and a Beagle Protocol Analyzer | Wavelength Wavestream module (basically a test set XMOS for companies using my USB to I2S software) with an I2S header.

Using flat WAV files (just made it easier to see samples) I ran that into the test set captured the USB and I2S and compared it to the original file. Actually told a few companies they were not bit true, but they had fixes really quick.

So after I had the new software and I determined everything was bit true I looked at Jitter. Ok well my Symetricon didn’t really show any difference in jitter on the I2S. I used my modified Stanford SR770 (good for noise testing down to 10nVrms at 1Hz) and saw a little difference in the noise on the power rails even though the unit was self powered. This was one of the reason’s at that point I started to think of isolation in my products.

I swapped out the Wavestream for several dacs I had on hand from my company and others I had done software with in the lab system and tried a bunch of different software. I then ask Atkinson and Charlie Hansen (RIP) from Ayre. Both of them said your nuts it could be anything.
I took the setup down and went on my way, not really happy with the outcome.

Years later I had this problem were my fan on my MacBook Pro was spinning like crazy. I asked my buddies at Apple and they suggested I load iStat Menus which keeps track of everything, super utility. Found a rogue device driver for my battery backup was taking up one of my CPU’s to 100% deleted it, reboot and everything was fine.

I was designing the AudioQuest Cobalt and I was listening to music on my AKG702 and was happy with what I heard but I went back through the software wheel and then it hit me!!! Products like Audirvana pre-load and decode the file into memory and then when interrupted by the system it just returns with a pointer to the next block of samples. Audirvana system usage 0.3%. I set the default sample rate for the file (88.2) and ran iTunes and it was 43% ok maybe we have something here.

I went through all the software and go some interesting numbers. Then I said ok, JTEST to the Prism dScope III with the Cobalt. Sure enough some differences. I have a break out USB board by Tektronix for testing USB and on that is VBUS and Ground so I hooked the Standford up and could see a difference in the power supply noise to the Cobalt.

Ok but why a difference when I use a self powered or even an isolated USB with reclocker? These computers have a boat load of clocks and switching supplies regardless of who makes them. I started measuring noise on the mains and sure enough the % of cpu usage and noise correlated. That noise goes back to the panel and into the system amps, preamps and so forth.

Yes isolation helps really well but there are other things I learned.
1) WIFI which we knows is really a bad network connection with audio in mind.
2) Your library interface should never be the same as your dac interface. Your basically doubling up on the transmission and reception and it’s all synchronous. Not good!
3) Memory the more you have the better off you are!
4) Laptops better sounding than desktops. FCC standards for laptops are far better than desktops and also the engineering going into laptops over desktops is almost 10:1. Mainly for energy usage which from above can be a real difference.
5) The OS makes a difference but the application makes more.
6) Sample rate… funny but upsampling to really high rates is not a good idea. The dac chips really don’t sound better at 768 compared to 88.2 or 96. I think that is heat related plus how much work the CPU (yes they are processors now) can do between samples!

The big thing is…. computer audio is not a slam dunk. Trial and error can really make a big difference in the sound.

Have fun, and thanks great topic!
Gordon
Wavelength Audio, ltd.

Gordon
Reply to  Martijn (redacteur)
1 year ago

Correct, in that case you have 2 synchronous streams running against each other. This would not be an optimal setup. A better one would be local storage and then stream via Ethernet. Or USB DAC and pull from files or server over Ethernet. WIFI of course has 4x the traffic so I don’t suggest that to users.
Thanks,
Gordon

Tobias
1 year ago

I´m getting the feeling that you are concluding, or working from the hypothesis, that noise in the digital domain is mainly the problem when it comes to the variation in sound quality in the digital domain. The source of this noise could come from many different places, even software generated CPU noise, right?

What i find interesting is then the talk about taste, in this matter. Taste is of course taste… and we can´t change what people like and perceive. But at the same time, the best sound should be created if we have NO noise getting into to the DAC/Clock, from what i understand. (even if there always will be some level of noise) Then the DAC conversion has the best possibility to recreate that digital feed exactly correct as it was captured in the ADC process.

My thought is that we should at all cost (if we want or care) remove the noise in the digital domain and this should ideally never be driven from matter of taste. Otherwise it feels a bit like saying that i prefer that my vinyl records and stylist is dirty and therefore i keep them dirty, which is of course ok, but not something we want to suggest doing because you like it.

If we want to match the sound with our taste, that should ideally be done somewhere on the analogue side, at least not before the DAC, in my mind.

Just some philosophical thoughts 😀

Tobias
Reply to  Martijn (redacteur)
1 year ago

Thanks!
But the difference with digital is that it is always perfect. You can only degrade the sound on the digital side and never make something that is perfect even more perfect.
I agree that it is very simple and no magic: -Just keep the digital signal as clean as you possibly can, then your DAC will perform at its best, to its limitations.

This is similar to Vinyl, in concept. The pickup can only pickup what is in the groove and never make it better than the quality of that Vinyl. You can only degrade what is already there, not make it even better.

Yes, i have watched all Hans videos and i fully agree with them.

Tobias
Reply to  Martijn (redacteur)
1 year ago

Yes, i agree that a lot can go wrong in the conversion steps. That is where the problem is. If someone is saying that they prefer the sound when there is more measured noise on the clock, as you have shown, then i would argue that it is similar to saying that you prefer the sound when the Vinyl is dirty, which people normally don´t do.
It´s not actually a matter of taste what happens on the digital side just as it is not what happens on the playback medium/hardware when it is different levels of dirty.
I think many people are so used to the digital sound that they think it should sound like that and therefore sometimes say that it doesn´t make a sound improvement, or that they prefer something, even though it actually is less accurately reproduced in the DAC step. This is more of a fact then a taste thing, i am thinking.

Brad
1 year ago

You can also “split the processing” among the cpu cores of a single computer, which is what I’ve been doing with a 8Gb RPi4 running Audiolinux as a Roon endpoint. Starting with Allo’s SBC-based DigiOne and USBridge transports six years ago, I’ve played with several stripped-down OSs (DietPi, Volumio, PiCore Player, VitOS and, now, Audiolinux) and different players (Roon, AV, Squeezelite) to find what sounds best to me through my Meridian active speakers.

Isolated cores can make a difference.

Tobias
1 year ago

Amazing work Martijn and very interesting observations! As you have alluded to earlier I really like that you take the approach of “not knowing anything” when going into your tests and don´t assume anything. I make some assumptions my-self but its good that you don´t!
Maybe this question is out of topic, but i can´t get away from wondering what the plug´n-play streamer sounds like in comparison with fiddling around with these software´s yourself. I get that the Raspberry Pi is much cheaper, which is an interesting prospect if it sounds similar, or better, than the Motivo on its own, but does it?
Is it worth going down the software rabbit whole, from a sound quality perspective, if you already own a streamer, similar to the Motivo, with good power supply for example?

Tobias
Reply to  Tobias
1 year ago

To make my self more clear. Let´s say i use the Tidal App in Motivo which is not connected to any other computing device in the signal chain. Is it then worth exploring other software alternatives using a Raspberry Pi instead, if all the connected hardware in the signal chain is the same? (again, from a pure sound quality perspective)

Tobias
Reply to  Martijn (redacteur)
1 year ago

Thanks for the detailed answer. I really had concentrate and read several times what you where saying since the complication of the noise problem is really intricate and all the variables involved makes it hard to compare apples with apples, i see that now. Thanks again for your work for the audio community!

15
0
Would love your thoughts, please comment.x
()
x
×