Thursday, June 4, 2026
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.

15 COMMENTS

  1. 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.

    • Hi Gordon,

      Thank you for that long comment, much appreciated. I edited it slightly for better readability by adding some white lines in between. I think that will help more readers to actually read what you wrote 🙂

      There’s one thing you say that caught my eye:
      “Your library interface should never be the same as your dac interface.”

      How should I interpret that, if you have a computer networked through ethernet where Audirvana is running and a streamer/DAC that is connected on the network as well, and you use UPnP to stream from Audirvana to the streamer/DAC?

      • 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

  2. 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 😀

  3. 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.

  4. 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?

    • 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)

    • Hi Tobias. Good questions.

      First of all, we don’t create our own streamer in this test. We add a music server to the chain, and still use a streamer. We don’t use much of the Volumio software in this case, but we still do and utilise all the work Volumio has put into designing the signal chain within the Motivo.

      We could have used the Primare NP5 Mk2 instead of the Motivo, or the Volumio Rivo, but those streaming bridges would need a very good power supply, the Dodo in our case, to prevent them from becoming the weakest link in the chain of this test and thus influence the outcome.

      We needed the Dodo power supply for the test setup. That’s why we chose the Motivo: we know it is optimal with its own power supply and it is a very high quality streamer. I think a lot of people underestimate how good it is.

      To return to the question: comparing the Motivo on one hand and a Raspberry Pi running Audirvana Core Player with the Motivo on the other hand, will result in a different sound signature, because of Audirvana software. If you compare like this, it will be hard to tell what attributes to the sound and draw any conclusion.

      But what would happen if we add a Raspberry Pi running Volumio software next to the Motivo and compare to using the Motivo stand-alone? Because that would be the right test to see what the effect of adding hardware and splitting tasks across computers will add. I don’t know the answer.

      I will try to see if I can use the Volumio software on a Pi to stream to a Volumio device, just like Audirvana can. I’m not sure if the Volumio software will be able to work this way, but there’s only one way to find out! If we compare like this, we would be able to conclude something. That will be a fun test, thank you for bringing up the suggestion.

      If you look at the high end market, to for example Antipodes music servers: they use different computers for different functions: storing music files, running the music library software and processing the sound.

      Also Grimm uses two computers in their players: one running Roon and one for the processing of sound. Of course, these expensive machines have a lot of custom hardware, it is not just tying together a few computers and a streaming board. From visiting Grimm (to be found in the archives of this website) we know they research and engineer a lot when creating their players. But, given that manufacturers like these split the music processing across different computers, each dedicated to specific tasks, you can deduct that doing this yourself has added benefits. But you also introduce new sources of noise as well, so it is not that easy to do it right.

      • 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!

      • I’ve tried to see if I can stream from a Pi running the Volumio OS to a Volumio Motivo. The answer is ‘no, you cannot’. Volumio OS cannot send a signal to another device using UPnP (like Audirvana or any other music player communicating over UPnP, being the UPnP server), it can only work as a UPnP renderer (meaning being the receiver of music streamed through UPnP).

        When connecting on USB, the Motivo isn’t seen as a USB DAC by the Volumio OS running on the Pi.

        So, unfortunately, I cannot test this scenario.