Multicore Audio Processing?

Official support for:
User avatar
4618 posts since 8 Sep, 2004 from Paris (France)

Post Thu Apr 08, 2021 6:53 am

436 posts since 3 Feb, 2017 from Quispamsis, New Brunswick, Canada

Post Wed Apr 14, 2021 4:13 pm

Thanks for the blog post!

I do have a question when it comes to multithreaded processing in series.

In the blog post, it states:
Blue Cat Audio wrote: Not all operations can be performed in parallel. With audio effects typically, when they are placed in series (one after the other), the next effect has to wait for the output of the previous effect, so there is no benefit using multiple cores...
I have a few cases where I need to be able to use more than 100% of a core's capacity to handle one input/output. Some of my plugins use 50-70% of a CPU core's capacity (think real-time spectral processing, de-reverb, or noise removal, etc...). In my DAW, I can route audio to different buses to circumvent the issue of having everything within one thread and leverage multiple buses that contain a subset of plugins running on their own threads within that audio channel on that bus.

In that same line of though, would it be feasible in the future to accomplish something similar with Blue Cat Audio plugins like Patchwork, Axiom, and MB-7 Mixer, and enable multi-processing within a serial chain or maybe through a virtual patch-bay like I'm doing in my DAW?

I appreciate the new CPU meter in Patchwork. Running in standalone mode in Windows 10, I can see that my single plugin chain with a single mono input/output sometimes hit 150%.

I've been able to load a few patchworks in parallel with a subset of my chain in each and use my RME interface's loopback feature to get this to go below 100% in each instances, but it would be a lot cleaner and easier to accomplish the same thing in one instance of patchwork. I know I could have done the same in one instance with two separate chains, but I couldn't tell the CPU load for each chain since the meter is for the instance itself and not the individual chains.

User avatar

Topic Starter

4618 posts since 8 Sep, 2004 from Paris (France)

Post Thu Apr 15, 2021 6:10 am

As stated in the blog, you cannot use multiple cores to process effects in series. Even in your DAW, if you are using several aux busses in series, they have to wait for each other, so there is no performance gain, unless extra latency is added every-time.

Please note that the meter may have peaks above 100% and yet no drop outs occur. This may happen with some audio drivers that have extra safety buffering, so rare occasional CPU spikes are not a problem for them.

Return to “Blue Cat Audio”