Can't use Roon upsampling DSD

Normally run Hqplayer with Roon.Was looking forward to 1.3 for upsampling capabilities.Can run Roon with HQplayer with any filter to upsample to DSD 256 no issues shows processing speed of around 7000.Try to upsample to DSD 256 with Roon processor speed .7 and stutters.DSD 128 will play but processor speed shows only 1.2.Disappointed.

Roon currently only uses a single Core for playback of a single zone. HQP has a PipelineSDM setting that uses multi-core. Roon will be implementing something similar.

1 Like

It is all about the filter/modulator combination and processing power. In terms of required processing speed, Roon is ‘heavier’ than the less demanding HQ Player filters (say poly-sinc 2s in HQP) – and ‘lighter’ than the more demanding HQP filters (poly-sinc non 2s and xtr).

What CPU is in your Core – and which filters do you use in HQP?

EDIT: That – and what @andybob says. Especially. :slight_smile:

1 Like

Have a Xeon 6 core twelve thread CPU.Use all regular filters not -2s filter to upsample to 256 no issues

Hope they bring this out sooner then later as I’m sure I’m not the only one with this issue.Thanks

The “7000” number isn’t comparable to the “0.7” number, since Roon isn’t able to measure the cost of HQPlayer’s DSP. Roon is showing you a ridiculous number because it’s measuring the cost of transmitting the audio to HQPlayer (i.e. nearly nothing)

I can manage DSD256 upsampling using a 5yr old desktop i7 (3700k) at ~1.3x in Roon. It also works in HQPlayer.

Total CPU usage during HQPlayer playback is 12%. With Roon, it’s 14%. So not a huge difference, but there’s some room for improvement for sure.

The thing you want is multi-core support. Usually on >4-core CPUs Intel reduces the performance of each core (to keep heat/power manageable), so you’re fighting the fact that your cores are probably much slower (individually) than mine.

Just a comment about expectations: HQPlayer is an entire product designed around pushing the state of the art in upsampling forward. It costs more than a year of Roon, and–basically–focuses only on that one thing. It takes advantage of multi-core CPUs, and GPUs, too. It’s also been in development/production for years while our DSP offering has less than a month in production. The Roon<->HQPlayer integration isn’t going anywhere. If you need features that only it has, by all means–continue to use it. In the mean time, we’ll continue to evolve.

Thanks for the reply.My comment wasn’t meant to be negative.I love Roon and will always be a supporter,and i,m happy will all the improvements that have been made.

Thanks for clearing that up. I knew my i7 (6700K) iMac was smokin’ hot, but I didn’t think it was that hot. Now I understand why I’m seeing that crazy-high number.

We did some optimization work on the SRC/DSD stuff this week. No multi-core yet, but we’re taking advantage of some more advanced CPU features to run operations in parallel in a single thread. I can pull off 44.1k->DSD256 on a 5th gen i3 NUC now–I bet it will work fine on your XEON once it rolls out.

Just like to add a DSD256 upsampling data point for processing speed using i5-6600 CPU (music from local HDD) for Linux Build 209:

192kHz -> DSD256: 1.2x for Minimum Phase, 1.3x for Linear Phase

I’m slightly surprised to find that the phase affects it, while 5th / 7th order setting does not seem to affect the processing speed in my test, unlike a previous report:

The min-phase/linear-phase filters have the same computational requirements–same filtering code + same filter order.

5th/7th order makes a very small difference, but the difference is mostly lost in the superscalar characteristics of the CPU (the 5th order modulator can’t fully utilize the capabilities). Memory performance is also significant for the SDMs.

1.2 and 1.3 are essentially within measurement error, especially if your CPU has frequency scaling turned on. The measurement is a simple “time it took to process audio / amount of audio processed”, so if the 3GHz CPU is running at 2GHz it’s going to read differently.

Since my last post, we built support (not yet released) for splitting up work across 2 cores, which (combined with the aforementioned performance work) makes DSD512 practical on a NUC 5i5’s and DSD256 practical on NUC 5i3’s without compromising quality at all.

(This signal path was captured on a NUC 5i5 running a pre-release of ROCK. I’m not sure I’d recommend the i5 for DSD512, but it’s possible, and I’m able to live with it).

1 Like

This prompted me to go back and retry, which I hadn’t done since the initial release of v1.3. I can now reliably upsample to DSD128 with a minimum-phase filter and 7th-order modulator. For whatever reason — I suspect it’s because I’m using a 2011-vintage i5 and not a more recent one — I can’t upsample to DSD256 (phase and modulator choice don’t seem to matter) for more than 10 seconds or so without getting the “loading slowly” message and Roon skipping to the next track. So for now, I’m back to HQP for my upsampling/filtering needs.

That said, I’m pretty ready to try ROCK on a NUC i5 — mostly just waiting for the release and some user comments to come in. It would also be great if Roon could upsample DSD source material without an intermediate PCM conversion.

3 posts were split to a new topic: Can’t see any DSP option in my Roon iPhone app

Now I get 2x when running Linux Build 216 on i5-6600 to upsample to DSD256. That’s a significant improvement.

With build 216 can do DSD 256 no problem.CPU load 8%.Thanks.

Thought I should post here to echo what others are saying: With Build 216 (and also switching from Roon Core to RoonServer), on my mid-2011 i5-based Mac mini, I can now upsample all source material to DSD256 using the “Smooth, Minimum Phase” filter and the “7th Order (CLANS)” sigma-delta modulator. Processing speed is showing as >2.5x. Still comparing how things sound vs upsampling/filtering in HQPlayer (running on a quad-core i7-based iMac), but I’ve already concluded that any differences are very subtle. I’m really impressed with what this Roon build delivers.