Hi Robert,
If you are only dealing with convolution for 2 channels, "you should have adequate processing power.
This is assuming your filters are not hyper complex.
I would first ensure the NUC is set to Performance Mode (check your bios, settings will be something like performance, balanced, power saving etc), and I would also remove 2x up sampling (this will do nothing for sound quality), if you still need CPU processing power you could review and minimise tap count (leave that to last).
To provide some background, when a convolution is made one typically needs to enter/select a tap count. The Tap count sets the maximum number of sampling points used to reproduce the target correction. The software used to create your convolution, will have this as a user selectable setting.
Roon will confirm also confirm tap count during playback…
The more taps, the more CPU processing/load required.
I provide two examples here.
My system taps @ 96khz (Notice 1:1 relationship with Sample Rate)
@ 44.1khz
I typically run with a 1:1 ratio (sampling rate to taps), which provides good balance of filter accuracy to target curve. Many people run taps well in excess of this, but for well executed correction it should be more than adequate. Its good to think of the tap count like the sampling rate for music, its the maximum number of points used to sample the target curve correction (which is then applied to the signal during playback). The higher the taps, the more accurately the target curve can be sampled/executed.
The goal IMHO is to use an adequate number of taps at each sampling rate, accurately reproducing the equalisation filter without over taxing the CPU.
EXAMPLE:
I have provided three tap counts; 6144 taps, 48,000, and 192,000 for the same 192khz low frequency crossover. The convolution correction executes 1x LR 36db minimum phase low pass, 17 constant Q EQ’s, 2 shelving EQ’s.
Blue = Target curve
Red = Filter result/accuracy based on tap availability
Red = 6144 taps. Moderate optimisation.
Inaccuracy starts from 300hz.
Red = 48000 taps. Moderate optimisation.
You can see here, much better accuracy with moderate optimisation.
Red = 1920000 taps, so 1:1 Sample rate : Taps.
Moderate optimisation. Very accurate.
Zoomed @20hz.
Overview - Essentially perfect.
Actions I would try:
I would personally remove 2x up sampling.
x2 will not be adding anything to SQ, IMHO. This will also save much needed CPU processing power.
Check your Roon processing speed? what is it now?
In regards to experiencing dropouts or stalling at higher rates? this is odd indeed, what DAC are you using? Consumer or Pro? Does your DAC need a fixed sample rate?
I don’t use Rock. I run Ubuntu with Roon Server installed. From my experience Rock is slightly more efficient, gaining a few processing cycles. Rock is worth considering, I personally found Windows much slower and demanding on resources Vs Ubuntu or rock. I would never use Windows for a music server.
IMHO, a modern NUC should have no issue processing convolution for 2 channels, assuming your not up sampling to DSD and running an insane count of taps.
My NUC is only a series 3 i5, and runs in ECO mode.
As a side note:
I can execute the same convolution filters at 96khz, 96,000taps using CamilaDSP on a Pi4 running Ubuntu. This includes resampling to 96khz as CamilaDSP requires a fixed SR.
In fact running the Pi4 as a Roon bridge with CamilaDSP executing convolution works perfectly…. but the PC is considerably more powerful executing identical single core DSP.