Pianoteq needs all the 4 cores if you want to play seriously. Pianoteq is a curious case because it sitdown just in the limit of RBPi 3B+ process capacity. I mean … If you have a well configured zynthian and plays Pianoteq seriously, it will use the 4 cores and you will be in the limit. If you play really hard or “abuse” the sustain pedal, you could get XRuns (or not!), but certainly you will be using the 4 cores at a quite high %, so if you reduce the number of cores, you certainly will get a lot of XRuns.
I’m pretty sure that Moddart people have done a good work with the parallelization, but you have to think that Pinoteq runs a quite complex mathematical model on real-time. I supposse this implies solving (aprox.) some (many!!) differential equations, what probably means doing lot of operations with huge matrix (i hope quite sparse!). This is a kind of problem that can be parallelized “more or less”, so they do it. Most of zynthian engines only use 1 core because parallelization is not possible or not affordable.
Of course, the RBPi4, when it comes, should solve our performance problems.
Moreover, we could imagine some ways of improving the performance of Pianoteq, that Moddart people could try if they think it could be profitable for them:
Using the RBPi GPU for massive math calculation also could solve the problems (or perhaps an external TPU or VPU??), but Moddart should be convinced that this is profitable for them. And this is another interesting question …
I mean … Moddart has released an ARM version of Pianoteq, what is really great for us, of course. Not too many commercial plugins manufacturers are doing such a thing. True?
But … why they did it? IMHO, that probably means they are interested in embbeding Pianoteq engine in commercial hardware products, licensing their technology to bigger actors. Imagine the next generation of digital pianos, not powered by sample engines, but accurate and much more flexible physical modelling software
OK … no more speculation ;-DD