In this article, freelance audio engineer and musician Walter Everton considers the steps required to use Vienna Ensemble Pro. VEP helps take the load off DAWs like Pro Tools by running CPU intensive virtual instruments on a separate computer. Over to you Walter…
What Is Vienna Ensemble Pro?
Before I start, in case you are not aware of VEPro, it is a cross-platform network solution used in studios and production facilities around the world. This mixing and hosting application is designed to enable you to set up a multiple computer network with both Macs and PCs without the need for extra MIDI and audio interfaces – all you need is a simple Ethernet cable. Even when you’re using only one computer, Vienna Ensemble Pro can improve your work-flow with functions such as “Preserve” that keeps all your plug-ins and samples loaded while switching from one project to another – a huge time saver
Vienna Ensemble Pro support their own sample players as well as all of your third-party VST/AU instruments and effects plug-ins and mix them in stereo and surround (up to 7.1), with full parameter automation and optional one-click integration with Vienna MIR Pro.
VEPro is a fantastic tool for expanding and distributing the power for your DAW. Especially for me being a Pro Tools user, I now have access to VST and AU plugins without having to deal with any sketchy workarounds to get them working inside Pro Tools.
Why Use VEPro
However, what has become far more important to me as a DAW composer/orchestrator is the ability to have my entire Virtual Instruments library loaded at once. This is the original reason I started using VEPro to be able to load my entire virtual instrument library into ProTools to orchestrate with.
However, I could not get past the EastWest Hollywood Orchestra Violas before Pro Tools would become unresponsive and/or crash. In researching solutions, I found VEPro to be a perfect solution after working out some of the quirks.
VEPro allows me to retain the complexity of stemming my MIDI orchestration without needing to build a Pro Tools session every time from scratch. It also means I can add in more virtual instrument libraries more easily as I acquire them without having to worry too much about whether I have enough resources to run the instrument in addition to everything else I have loaded.
Finally, VEPro has the ultimate flexibility to turn any Windows or OSX machine into a host with the flexibility of adding as many hosts as needed (you’ll just need an additional license for each host).
What Hardware Do You Need To Run VEPro?
If I ever need more power from VEPro, all I will need to do is build another machine, and I’ll have plenty of expansion. This begs the question, though: What is a reasonable hardware configuration for VEPro, and how much should you expect from that hardware?
The first place I turned to was Vienna Symphonic Library’s web page on VEPro, which only had minimum and recommended specs and no real indication as to what to expect from either configuration. The manual is also no real help here, either.
So now this becomes an expensive experimentation game. JunkieXL (aka Thomas Holerman) has some fantastic videos on his YouTube Channel about his setup and a quick glimpse at what hardware he is using for VEPro. Clearly his multiple Vision DAW machines are capable of far more than I would need access to currently. However, the detailed specs of his systems are not apparent.
The next thing I tried was running VEPro on a VM of Windows I have running on a storage server. This was a terrible idea. Besides the fact that I could barely load any instruments, there were major operability problems that (my guess) had something to do with the need for low latency access to samples that VM’s are unable to handle. So scratch that idea, a dedicated computer was next.
My First VEPro Computer
My first dedicated computer was as follows:
Windows 10 Pro
Gigabyte X299 UD4 motherboard
64GB DDR4 2133MHz (16GB sticks)
Intel i7-7820X
3x Kingston SA400 SATA SSDs
Corsair PSU
Cooler Master MasterBox 5
As I started building my template in VEPro, I found that this was not enough for my entire library. I was hitting high CPU usage and what I now suspect were RAM limitations. Even though RAM usage was showing 80-90% during my testing, there were massive playback errors making the template unusable.
I think the reason for this was the virtual instruments were filling up as much RAM as they could, but when they ran out they just stopped loading, hence the issues.
VEPro Computer - Take 2
I built another computer, and this time I did not pull any punches:
Windows 10 Pro
Gigabyte X399 Designare EX motherboard
128GB DDR4 2666MHz (16GB sticks)
AMD Threadripper 1950X
1x Kingston SA400 // 2x CT500MX SATS SSDs
Corsair PSU
Corsair Carbide 270R
During this time, I consulted with Tobias Escher about some of the issues I was experiencing with pops, clicks and large amounts of latency during playback of samples through Pro Tools.
Latency And Clicks
An issue he noticed was that I was trying to run VEPro at 1 buffer of added latency in Pro Tools. In his experience, while VSL may say that VEPro can operate at any latency, realistically 2 buffers of added latency is as low as you can go. At the time, I was still using my Focusrite Liquid Saffire 56 as my main interface, and this was his next guess.
His final suspect was the MacPro Cylinder I was using as my DAW host (Quad Core Model). Therefore, I replaced both my computer and the interface.
First to go was the interface. I went from the Liquid Saffire 56 to an RME UFX+, and even while I still had my MacPro, 80% of the latency problem went away. Next, with the switch to an AudioLabs PC, the last bit of latency I was hearing during live playback was taken care of.
To be clear, there is absolutely nothing wrong with my Focusrite interface. In fact, I still use it via ADAT for additional IO on the RME UFX+. However, their firewire driver in this instance was a large part of the latency problem I was experiencing. This combined with the current generation hardware in my new Windows PC made it possible to have my entire virtual instrument library loaded at once. Success!
With this in mind, I would recommend the following to anyone trying to achieve a similar goal. It seems that with my current virtual instrument library, the 8-core Intel CPU with 64GB is well balanced. I am getting about 30-40% CPU and 66-80% RAM usage under the load of VEPro.
Now, I suspect with 128GB of RAM I would be able to load more Virtual Instruments to see a more balanced CPU/RAM usage. Thus, I would recommend through extrapolation a system with an 8-core CPU and 128GB of RAM.
The reason for this is because with my Threadripper build (at 16-core CPU) with 128GB of RAM under load, I am seeing 90-98% RAM usage and only 12-20% CPU usage. Clearly, I overpowered my Threadripper build with too much CPU and not enough RAM.
My Stress Test
This video shows my stress test with some fairly complex and complete orchestration that I programmed into ProTools.
Other Observations
I want to mention some other information, particularly about Pro Tools and VEPro. It is normal to see the CPU meter in Pro Tools spike, often to 100%, under my current orchestration template at idle. While I am still working on troubleshooting this with AVID, VSL, and iZotope (the issue seems to be that the Exponential Audio Reverbs that I am using have a bug/issue when so many instances of VEPro are feeding it audio), it has not been causing workflow crippling problems.
When building my template, I had run into issues where Pro Tools would become unresponsive and crash on startup, which I attributed to an issue with VEPro exceeding 32 audio IO and 16 MIDI ports in the DAW hosted settings. However, in verifying this while writing this article, I found that is no longer the case. I wanted to include this in case it might still be a bug under certain conditions.
Conclusion
In summary, RAM is far more important than the CPU core count. Furthermore, I would deduce a 4-core 8 thread CPU would max out 64GB of RAM for Virtual Instrument workloads.
In my own work, I have found that even under high RAM usage (95% or better), I have not been experiencing intolerable pops and cracks (only occasional ones). I also would anticipate with a more plugin centric setup in VEPro, that CPU cores would become more of an issue since you are not trying to load virtual instruments into RAM.
So, if your goal is to offload CPU intensive plugins to VEPro, I would suggest an 8-core processor (or better depending on how many plugins you are trying to use) and 16GB of RAM since the focus would be on the CPU resources and not the RAM resources.