Why does a Music Server require high processing CPU power?


I noticed that some music servers use, for example, a dual multicore CPU’s running under a custom assembled operating system.  In addition, the server is powered by a linear power supply with choke regulation and a large capacitor bank utilizing the highest audiophile grade capacitors.  Various other music servers have similar high CPU processing capabilities.  

I know that music is played in real-time so there is not much time to do any large amounts of processing.  I also know that the data stream needs to free of jitter and all other forms of extra noise and distortion.   I believe that inputs and outputs are happening at the same time (I think).

I also know that Music Servers needs to support File Formats of FLAC, ALAC, WAV, AIFF, MP3, AAC, OGG, WMA, WMA-L, DSF, DFF, Native Sampling Rates of 44.1kHz, 48kHz, 88.2kHz, 96kHz, 176.4kHz, 192kHz, 352.8kHz, 384kHz, 705.6kHz, and 768kHz and DSD formats of DSD64, DSD128, DSD256 and DSD512 including Bit Depths of 16 and 24.  

Why does a music server require high processing power?   Does the list above of supported formats etc. require high processing power?  Assuming the Music Server is not a DAC, or a pre-amp, what is going on that requires this much processing power?   

What processing is going on in a music server?  How much processing power does a music server require?  

Am I missing something?   Thanks.   


hgeifman
@mlsstl, Neither do I and that is why I asked the question.  

Hi Hgeifman,

The question about lots of CPU processing is not necessarily the same as having multiple cores.

Scheduling work to be done on a CPU is complicated, and desktop OS’s are not designed to be real-time(RTOS) or to guarantee latency between the time something is requested and it’s processed.

Having multiple cores facilitates this if you can guarantee 1 core for streaming, and leave the other tasks, like waiting for a user event or indexing music.

In terms of things that seem to actually consume processing power, upsampling and equalization are the two things which can consume processing power, and this varies on the type of upsampling, and the complexity of the eq.

Simple parametric EQ’s are usually benign, while room correction and convolution can really soak up the processing time. As well, upsampling to DSD seems to be (based on Roon) a big CPU consumer.

I use an AMD A10 processor, with 4/5 PEQ’s and filters, upsampling PCM by 2x and the CPU load is really light. It’s overkill, for an 8 year old CPU. Uses about 5% of 1 thread, but if I do upsampling to DSD it will use up nearly 75% or more of it.

Of course, MQA decoding will also add to this a little.

So, it depends, but CPU power is cheap these days, and easier to design a system with guaranteed latency if you have multiple cores than if you don’t.

Lastly, it's important to note that the CPU must do many things at once.  The reading and decompression of data from a file or external streaming source, as well as providing that data to the metronome of the output signal.  More cores helps facilitate this too, but the total processing power, that is, the amount of computation that must occur on the chip may not actually be all that much.

Best,


E
Thanks for your thoughtful response Eric. You are correct to point out that numerous cores do not necessarily correlate to total processing power.  Nearly all the CPU-intensive activities you cite (except for equalization) are the responsibility of the DAC. I’d also like to point out that the latency issue you raised does not affect sound quality but the time it takes after pressing Play until the music starts.  So the question still stands, why so much processor for a streamer?

I think @misstl may have identified the real reason: “That'll impress some buyers whether the power is needed or not.“  it’s not needed except to justify a high price, and to differentiate your product from the competition.
@hgeifman Anecdotally, I can tell you the best sound quality I have yet experienced from Roon, was when I built a Roon ROCK off the spec for the Nucleus Plus (8th generation Intel i7 core, 1TB SSD, 16 GB RAM, 256GB internal SSD that hosts the OS; I came from an Innuos Zenith MKIII after extensive experimentation...Roon Core running on a stripped down Linux kernel, well, rocks! Incredible fidelity. Roon boots in less than 3 seconds and when browsing and using the UI, the perceived response is blazing fast. Love it!!  
 If you're using roon and have a lot of CDs ripped to a hard drive and use Roons upsampling and digital filters they reccomend at least an i5 or i7 or compatible. The notion of dual Xeons and 48gigs of RAM escapes me unless you're doing a lot more than hosting a home based music server. Most dedicated streamers like a Node2i do fine with ARM processors.