DSD512 - Is this even possible? [yes, just needs more cpu]

No filters.

TIDAL->Bit Depth Conversion->Headroom Adjustment->Sample Rate Conversion->Sigma Delta Modulator->RPi/DietPi->iFi iDSD

Does Roon use all cores available to it or is this not even an issue in upsampling? Clock speed is probably the deciding factor, yes?

what processing speed do you get for DSD64/128/256/512?

Miska of HQP does say processor speed is important, your processor seems it would be capable tho. Could the Rpi be the issue? is it capable of passing 512 thru it? Try removing it and go direct from PC to dac and see. Also did you enable Roon to utilize all cores (forgot what it is called) in DSP settings that could be it to. I run a i7-6700K at 4 Ghz and have no issues up sampling to 512 with roon alone or in conjunction with HQP.

1 Like

DSD64-4.3 DSD128-3.1 DSD256-1.6 DSD512-0.8

There’s nothing else running on machine when I took these measurements.

Thanks for your reply.

The upsampling takes place on the server machine, so as far as capability RPi has yet to enter the picture.

The only place in Roon, that I can find, where it references number of cores is related to background analysis of music files, vis a vis metadata, and that only goes up to 4 cores. However, I don’t believe that setting is relevant in this case.

Yeah, that’s kind of a hassle, but I guess I’ll tinker with that.

Thanks

Roon uses 1 core per zone normally, or 2 if you enable “parallelize sigma delta modulator” setting and are doing DSD output. If you haven’t turned this on yet, try that first:

20 PM

In general, the “many slow cores” model like your XEON is not the best for Roon. Almost none of our users have this class of hardware, so putting in a ton of effort/complexity optimizing for horizontal scalability doesn’t make a lot of sense. This isn’t just about audio, either–for UI responsiveness it’s also advantageous to have faster cores rather than more cores.

DSD512 upsampling is stable for me on a NUC5i5–I’ve been running my headphones zone like this since before we released DSP features, and processing speed is pretty healthy:

Occasionally I will hose the system and get a dropout here or there if I try to do too much other stuff at the same time (too many zones, importing big batches of content, multithreaded analysis, etc). If I was designing a core specifically around this use case, I’d go a little bigger on the CPU than that.

On my bigger machines (i7-6920HQ, i7-7700k) DSD512 is very solid even with other loads going on at the same time.

1 Like

Yeah, I turned that on a long time ago and it did make a difference for all below DSD512.

Accepted. I’m not surprised. The only reason I have the machine is I bought it used for $160 and I wanted to try running some stuff in VMs, FreeNAS, PFSense, Roon, a Hacintosh, a couple WIN10s etc.

It’s been awhile since I had Roon Server on my i5 Mini, but it seems like I couldn’t run DSD512 there either.

Anyway, thanks for response. I guess when money allows I should get an i7. I’d definitely need it for HQPLayer, anyway.

Regards.

@danny - Thanks for your help.

Your VM setup might also be having an impact…just another thought. It might run better on bare metal, or you might be able to allocate more resources.

NO VMs now. Straight WIN10.:sunglasses:

Why only 2? Most fast processors today have 4.

So a Ryzen with 8 cores and 16 threads is total overkill since at most roon spreads the load over 2 cores? Those cores benefit HQP.

1 Like

Your skepticism is warranted.

For DSD, why even DSD256, let alone DSD512? Only DSD64 faces some debatable noise shaping and low pass filtering issues just above the audio band. By DSD128, those concerns have been rendered irrelevant.

High end D/A conversion long since has veered into the realm of “if possible, then necessary.”

AJ

1 Like

Hey Slim, is your background audio analysis still going? And at full throttle?

My old fanless sonicTransporter i7 doesn’t break a sweat with DSD512 so I can highly recommend that. I’ve since given it to my old man (my dad) since I’m only using one zone now and I’ve setup multi zone for him and it does DSD512 and other stuff quite easily in his setup.

Can you tell me, what is the benefit of DSD512?

I’m not really a technical or measurements guy. I prefer to trust my ears, having owned a DirectStream and Playback Designs and Hugo 2 DAC (all 3 have FPGA’s that up-sample to super high sample rates, way beyond DSD512).

But for those that love measurements, here are some by HQ Player’s Jussi with his iFi iDSD:

With the iFi DAC that I bought my old man, it did sound best going to the DAC’s maximum supported DSD sample rate and that was even before I knew Jussi had done some measurements.

1 Like

The majority of systems used to run Roon have 2 cores / 4 threads or less. NUCs are the typical archetype. We monitor these stats on an ongoing basis to drive these decisions.

There is overhead associated to splitting/joining work across cores. It is most efficient to run things on 1 core if they fit there. We enabled the split to 2 cores as a technique for making extreme DSD upsampling cases workable.

Unnecessary multi-core processing has other have negative consequences for the overall user experience. You want cores sitting relatively idle at all times so that when you load screens/search/focus, power up a remote, or kick off radio playback the capacity is there to quickly do the necessary burst of processing immediately.

No, that’s inaccurate. Roon uses more than 2 cores in a lot of ways…Roon uses at most 2 cores to handle audio processing for a single zone.

Library management happens on a separate thread, too. So does the UI. So does each folder you are watching. There’s a separate thread that handles communication with remotes, and zone management in the core too. Audio analysis can use all of the cores in your machine if you configure it to.

Plus, the vast majority of Roon users have multiple zones, which then spread their combined load across more than 2 cores.

Roon is balancing all of these needs (plus more I’m surely not thinking of)–there are lots of separate components which need their performance to be relatively decoupled. HQPlayer is a single zone product. Its job is to take over your whole machine to run one zone–we would be shooting ourselves in the foot if we viewed the problem that way.

In terms of future multi-core scaling improvements–

I would much sooner sink resources into making library and database management more parallel than just about any other part of the system, since this is where the most severe performance bottlenecks in the product live.

The most efficient avenues for improving DSP performance are still in the single-core domain–faster SDM’s, faster SRC, faster IIR filters. Responsible optimization efforts focus on the lower-hanging fruit first before spending big on architectural changes.

Hitting more extreme multichannel targets is interesting–but keep in mind that the great majority of multichannel systems in use with Roon are based on HDMI, and thus running at no higher than 192kHz, so they don’t present a severe performance demand. A small handful of people have access to ultra-high-rate DSD DACs like those from exaSound and Merging. They create more intense performance constraints when you want to turn the DSP knobs way up. HQPlayer remains an option for squeezing out more from extreme hardware configurations.

3 Likes

Greetings, brother. Long time.

Yeah, but I have 8 cores and if Roon only uses 2 cores per zone for upsampling, then I should be all right.

Still easy enough to check. I’ll get back to you.

1 Like

Greetings Slim ! Long time indeed. Did we tempt you into an iFi iGalvanic3.0 yet :joy: The dark side is always here to help

Only reason I ask about the background audio analysis (not ‘on demand analysis’ was when I had it on “Fast”, since it chews quite a bit of CPU, then when I was doing DSD512 up-sampling the processing rate would drop quite a bit.

But when I had background audio analysis on “Throttle” or when it was complete, then the processing rate was never an issue with DSD512.

It just came to mind so maybe something to double check.

Simplify, simplify.

Definitely going to try turning off background analysis.

1 Like

Turned off background audio analysis. Didn’t make a difference, processing speed was still 0.8.

Nice try, but I guess the answer is an i7. That’s alright, I’ve got an empty motherboard w/ram and in a case. All I need is the CPU.

Regards.

1 Like