VST processing on network nodes


I have been making music with computers since 1995. VST has been around for many many years, and to this day, the same thing has always been the biggest issue: the processing power of a single box.

Processing power can vary greatly, as computers vary from tiny dual-core laptops to mega-monster desktops, depending on budget, preferences and working style. Therefore, the VST power available to users is still limited by the one machine users choose to make their music with. If you want more VSTs running, you’ll have to either spice up your machine or get a brand new one (also referred to as scaling up) - both are expensive, time consuming and very disruptive options.

In the past decade, people started piling up older but totally usable PCs, as newer generations only offered negligible performance improvements and the value of used computers went down. Also, gigabit wired networking became very economical. All those resources lying around waiting to be of service (what a waste!).

In the datacenter and cloud computing world, the industry started taking a Scale Out approach: instead of buying few and expensive machines to run business workloads (scaling up), the trend has moved to running smaller pieces of the workload on smaller machines but in higher number (scale out). This can be viewed as a “modular” approach.

With all those available resources and technological trends, it is only logical to expect the VST standard to provide a Scale Out processing feature, where cheap computers on a cheap local network can serve as VST processing nodes, providing virtually unlimited processing power for VST plugins without having to shell out huge amounts of time and money on new and more powerful machines. I personally don’t think a third party should step up to provide a solution to this (i.e., VSL Vienna Ensemble Pro), and even that solution has to work very hard around the “closed box” limitations of the VST standard. The absence of competition in this market is in fact misleading, as the reason for that is technical complexity and not lack of demand, because there is no doubt demand for a cheap and native solution is very strong.

Are there any plans to do something like this in the future?


I do not know what the future of VST is but this kind of solution seems a bit hard to achieve due to the real time nature of making music. Yes the datacenter and cloud computing world can scale this way but if you have to wait an additional 10ms for a result due to intra-network communication or whatever, it is not a big deal in this world… but in music that will translate into audible glitches.

I think that a far more practical way to scale would be to use the power of the GPU which could be harnessed to do computations (like FFT, etc…). To my knowledge, besides using the GPU to render the UI (in some cases) of the plugin, the sound generation never uses it. It is a massive amount of wasted computing power readily available (and very affordable)…


Vienna Ensemble Pro can do this over a simple network so clearly it can be done.

Perhaps VST shouldn’t provide a complete solution, but provide a native protocol that software makers can easily implement.