PatchWork lightweight host gets multicore and Apple M1 support

Plug-in hosts and other software applications discussion
User avatar
KVRAF
4620 posts since 8 Sep, 2004 from Paris (France)

Post Tue Apr 06, 2021 6:29 am

Full news has already been posted in the effects forum here, but I thought it would be interesting to discuss here these new hosting features of Blue Cat's PatchWork 2.5, our lightweight plug-ins host and multi effects application (and plug-in).

It now comes with a new multicore processing engine and Apple M1 support as a preview (as shown in our benchmark comparing Apple M1 and Intel Macs for audio, the new M1 processor seems really promising for real time audio). So you can now load many more plug-ins in parallel chains, even at lower latencies.

Image

[All details in the effects section]

User avatar
KVRAF
8305 posts since 4 Jan, 2017 from Warsaw, Poland

Post Tue Apr 06, 2021 10:01 am

Wrong forum :)
Music tech enthusiast.
DAW, VST & hardware hoarder.
My "music": https://soundcloud.com/antic604

User avatar
KVRAF
18752 posts since 3 Feb, 2005 from in the wilds

Post Tue Apr 06, 2021 10:17 am

antic604 wrote:
Tue Apr 06, 2021 10:01 am
Wrong forum :)
Patchwork is a host and this is the hosts forum. Seems like the right place to me?

User avatar
KVRAF

Topic Starter

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

Post Tue Apr 06, 2021 10:32 am

pdxindy wrote:
Tue Apr 06, 2021 10:17 am
Patchwork is a host and this is the hosts forum. Seems like the right place to me?
That was indeed the idea :-)

User avatar
KVRAF
8305 posts since 4 Jan, 2017 from Warsaw, Poland

Post Tue Apr 06, 2021 10:40 am

Blue Cat Audio wrote:
Tue Apr 06, 2021 10:32 am
pdxindy wrote:
Tue Apr 06, 2021 10:17 am
Patchwork is a host and this is the hosts forum. Seems like the right place to me?
That was indeed the idea :-)
Sorry, I wasn't aware it's a standalone app as well :)
Music tech enthusiast.
DAW, VST & hardware hoarder.
My "music": https://soundcloud.com/antic604

User avatar
KVRAF

Topic Starter

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

Post Tue Apr 06, 2021 11:08 am

antic604 wrote:
Tue Apr 06, 2021 10:40 am
Sorry, I wasn't aware it's a standalone app as well :)
I guess it was definitely worth posting here then :-)

KVRian
835 posts since 27 Apr, 2005

Post Tue Apr 06, 2021 3:49 pm

Interesting. I own this plugin from buying the guitar bundle, but I wasn’t thinking of it as an instrument host. Does it route MIDI data within the plugin? If it does it could be a solution that would let me use Jamstix with a Separate drum sampler within Reason.

User avatar
KVRAF

Topic Starter

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

Post Tue Apr 06, 2021 11:39 pm

Yes you can indeed route MIDI between plug-ins (using internal MIDI ports), so many people use it to load both MIDI effects and virtual instruments in a single instance in hosts for which MIDI routing is too complex or not available.

Image

KVRian
1283 posts since 4 Jul, 2019

Post Tue Apr 06, 2021 11:58 pm

Can each chain have its own stereo audio outputs?
EDIT i see there are a possible 8 stereo outs in an old tute. Is that still the case?

User avatar
KVRAF

Topic Starter

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

Post Wed Apr 07, 2021 10:12 am

fairlyclose wrote:
Tue Apr 06, 2021 11:58 pm
Can each chain have its own stereo audio outputs?
EDIT i see there are a possible 8 stereo outs in an old tute. Is that still the case?
The application (or the instrument plug-in) can indeed have multiple outputs. While parallel chains were not originally designed to be used like this, you can indeed route the output of any chain to a different output, using the audio I/O options of the plug-ins.

KVRian
1283 posts since 4 Jul, 2019

Post Mon Apr 12, 2021 4:16 am

Blue Cat Audio wrote:
Wed Apr 07, 2021 10:12 am
fairlyclose wrote:
Tue Apr 06, 2021 11:58 pm
Can each chain have its own stereo audio outputs?
EDIT i see there are a possible 8 stereo outs in an old tute. Is that still the case?
The application (or the instrument plug-in) can indeed have multiple outputs. While parallel chains were not originally designed to be used like this, you can indeed route the output of any chain to a different output, using the audio I/O options of the plug-ins.
following on... something I would love to do is use Riffer ( or other sequencers ) that sync to host within the standalone Patchwork. In other words have some sort of clock generated by Patchwork that will start and sync sequencers. In this way I could use Patchwork as a standalone generative system within a live performance context (or just as a generative system). Is this at all possible?

User avatar
KVRAF

Topic Starter

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

Post Thu Apr 15, 2021 6:39 am

The PatchWork standalone application already has its own clock, and you can adjust the bpm in the audio/MIDI preferences. There is however no transport control (yet), so it would require that your sequencer has its own start/stop control.

KVRer
11 posts since 17 Sep, 2007

Post Thu Apr 15, 2021 8:48 pm

I have had trouble with mastering, because of the single audio thread thing. That is good for composition and live situations but for mixing and mastering, where latency is of no importance, the real time CPU (speed) performance is a quick bottleneck.
I have resorted to splitting mastering in many tracks. However, not every host handles threading the same way. In my case, Reaper works much better than Live, as Live gets me HUGE amounts of latency when processing even cascaded tracks.

Is PatchWork able to overcome that limitation when inserted as a VST plugin? Can it decide what thread to allocate the plugins its loading (so to balance processor use) or is this dictated exclusively by the host?

User avatar
KVRAF

Topic Starter

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

Post Fri Apr 16, 2021 12:25 am

As explained with more details in this blog post about multicore and parallel processing, there is no magic: you can process on multiple core effects that do not depend on each other.

It is not a matter of choosing the thread or CPU core to which a plug-in is affected: if it has to wait for the previous plug-in's output, it cannot be processed while the previous one is still processing, unless adding extra buffering and latency so that multiple buffers are processed in parallel (which PatchWork does not do).

PatchWork has its own reentrant thread pool, so it does not depend on the host to distribute processing on parallel chains. It relies on the operating system to do the load balancing on multiple cores, depending on overall system load (that's the most efficient way).

Return to “Hosts & Applications (Sequencers, DAWs, Audio Editors, etc.)”