Vienna Ensemble Pro 5.4.14074
OS X 10.11.3/Logic Pro 10.2.2
Various Mac Pro machines
Some of this has been addressed elsewhere in the forums.
I've been testing Vienna Ensemble Pro as a solution for a composer's workstation using four machines: a Mac Pro for Logic, 2 Windows 7 machines for samples, and another Mac Pro for Pro Tools. I am using an adaptation of the Multiport setup.
All instruments are hosted in Kontakt.
The ethernet switch is correctly clibrated.
Our top priorities are very low latency for live MIDI throughput and as-tight-as-possible timing on playback.
Results with Vienna Ensemble have been very impressive. Live MIDI throughput latency is extremely low. On playback we are able to achieve a much higher voice count than in our current setup, all while maintaining a 128 sample buffer size in Logic's Audio Preferences. Audio returns into Logic are close to sample accurate.
However, the system starts to fail under these conditions:
- An External MIDI instrument track is selected
- That External MIDI track is sending MIDI data into a Vienna Ensemble Pro instance via the Multiport Environment
- The local machine or external sampler that is the destination of the track in step (2) is also recieving a lot of MIDI data from playback tracks, and many Kontakt voices are in use during playback
- The transport is active and lots of MIDI is being sent from Logic into VE Pro
- Any MIDI input (even a single note-on) is sent into the track from step (2)
- Logic will immediately overload, stutter, and crackle. Logic will throw an error message like "Sample Rate 40,353 detected," the transport has to be stopped, and MIDI panic has to be triggered to resume work.
The OSX activity monitor shows even core usage across the real cores; the Logic CPU/HD monitor shows the highest numbered core at full use and the first 3-4 cores at moderate load. Logic's Multithreading setting can be in any state; the issue remains.
The satellite machines show no performance overload or peaking. They are robust dual-cpu Intel Xeon units with 64 GB RAM.
If the track at step (2) is sending to a VE Pro instance on a machine that is not receiving a lot of MIDI data, the issue at step (6) will not happen.
Some of this can be solved by increasing Logic's I/O Buffer Size. However, increasing even to 1024 samples does not eliminate the behavior. Also, increasing the buffer size eliminates the wonderfully quick MIDI throughput. Since the behavior requires a total stop of playback and MIDI Panic it is more annoying than the issues we face using a different setup.
I tested Vienna Ensemble Pro 5 on a Windows 10 machine running Cubase 8.5+ and found none of the behavior at step (6) above.<<(SOMEONE AT APPLE SHOULD TAKE NOTE OF THIS. AS OF AT LEAST 2013 AUDIO PERFORMANCE IS BETTER UNDER WINDOWS THAN OSX)
I also did the above test running Cubase 8.5+ on OSX and the behavior was more-or-less the same.
Since my use requires Logic I am curious:
- Is the issue at step (6) above something to do with Vienna Ensemble on OS X, Core Audio, Audio Units, Logic, or something else?
- If the answer to (1) is Core Audio, Audio Units, or Logic how can I best describe this behavior to Apple?
- Would an Audio Unit 3 Vienna Ensemble Pro build resolve this behavior?
Currently the behavior at step (6) makes Vienna Ensemble a not-workable solution for this workstation. However, Vienna Ensemble Pro 5 does seem like the best way to host large sample libraries.
Maybe there will be a Logic update that supports AU v3 soon?
FYI: I tested this using many instances of Cinesamples Piano In Blue and Spitfire Audio Mural strings, each of which use a lot of voices. Using a Logic I/O buffer of 128 samples, when live MIDI was not being input VE Pro was able to process 20 actively playing Mural instruments; about 1200 voices! With live MIDI input that number of Mural instruments that could be active before overload was 2-3.