A Big Mac and a Side of Plug-Ins
Byline: Orren Merton
With the introduction of the Core Audio and Core MIDI architectures and the Audio Units (AU) plug-in format, Mac OS X was destined to be the musician's dream operating system. In particular, the AU plug-in format promised all the features of existing, real-time plug-in formats as well as better performance and increased stability. Developing or converting plug-ins to the AU format was expected to be extremely easy as was adapting host applications to support it. Best of all, the plug-in format wars would be over as everyone nestled comfortably under the umbrella of AU. Dream on.
Digidesign has opted not to support the AU format, sticking with Audio Suite (AS), Real Time Audio Suite (RTAS), Time Division Multiplexing (TDM), and Host-based Time Division Multiplexing (HTDM) - all of which require Digidesign hardware. Steinberg, developer of the heretofore dominant native plug-in format Virtual Studio Technology (VST), has indicated that it intends to host AU format plug-ins in its Cubase and Nuendo software; however, no specific time frame has been announced. Starting with Hypersonic, Steinberg is also including AU adaptors with its VST plug-ins. MOTU has added AU support to Digital Performer, but also retained the MOTU Audio System (MAS) format. Sample editors such as Peak, Spark, and DSP-Quattro supported both VST and AU. Only a few developers, including Emagic (a wholly owned Apple subsidiary), have thrown all their eggs in the AU basket.
Instead of reducing the number of plug-in formats, Mac OS X has added one more to the mix. Furthermore, many Windows-based developers have not found the AU format easy to develop for, and the rollout of AU plug-ins has been slow. Finally, as with other plug-in formats, not all AU plug-ins function equally well in all host applications. Full functionality still depends on the host's AU implementation, and that is as variable as it has always been.
Nevertheless, the situation is not as bleak as it might sound. Almost every major plug-in is now available in most of the popular formats. For plug-ins not available in AU or RTAS format, FXpansion offers wrappers - the VST-AU converter and the VST-RTAS converter - that wrap VST plug-ins in a shell for use in AU and RTAS hosts. For Digital Performer users, Audio Ease offers VST Wrapper 4, which allows VST plug-ins to be used in Digital Performer. As an added Mac OS X benefit, when an errant plug-in brings down your host application, it does not force you to reboot your computer as was frequently the case with OS 9.
ORDER FROM CHAOS
One of the improvements in the handling of plug-ins of any format in Mac OS X is the way in which plug-ins are managed. In OS 9, every host application had its own plug-ins folder, usually located in the individual application's folder or in the system folder. Some applications could share a plug-ins folder with other applications - usually through the use of Aliases - but most could not. Furthermore, an application's plug-ins folder might contain plug-ins that run only in that application and that cause other applications to crash if included in their plug-ins folder.
In Mac OS X, all plug-ins reside in one of two locations: the Local directory (/Library/Audio/Plug-Ins) or the User directory (~/Library/Audio/Plug-Ins). The former location (often incorrectly referred to as the Global directory) is for plug-ins shared by all users, whereas the latter is for plug-ins available to only a single user. Plug-ins that are proprietary to specific applications are now built into the application rather than being installed in one of the plug-ins folders.
Centralized plug-ins folders offer welcome relief from the frustration of installing each plug-in in as many folders as there are applications to host it. Some Mac OS X hosts (Ableton's Live, for example) offer the best of both worlds, allowing you to choose where they look for plug-ins. In those cases, you can often set the host's preferences to look only in its own plug-ins folders or to include the centralized ones. In short, whereas keeping track of formats has gotten more complex, managing plug-ins has gotten easier in Mac OS X.
THE WRAPPER RAP
As previously mentioned, you may be able to use VST-format plug-ins in hosts that don't support Steinberg's VST format by converting them to a supported format with wrapper software. At present there are VST wrappers for AU and RTAS from FXpansion and for MAS from Audio Ease. Unfortunately, there are no wrappers currently available to make AU plug-ins available in VST-only hosts (such as Ableton's Live or Steinberg's Cubase and Nuendo) because sufficient demand has not yet materialized.
FXpansion's wrappers are standalone applications that convert VST-format plug-ins to new plug-ins in the chosen format (see Fig. 1). You can configure the wrappers to convert only those VST plug-ins in a special VST plug-ins folder located next to the converter application or to convert all plug-ins in the Local and User VST plug-ins folders. You can also control whether they put the wrapped versions in the Local or User area. AU and RTAS host applications then treat the wrapped plug-ins like regular AU and RTAS plug-ins.
In AU hosts, there will be a VST-AU hierarchal submenu added to the AU plug-ins list, which contains all the converted plug-ins (see Fig. 2). In Pro Tools, all the RTAS plug-ins appear in one long menu, with the converted VST plug-ins found at the bottom of the menu beginning with the prefix VST. The only indication that you are using a converted plug-in is a small menu bar at the bottom of the plug-in's control panel for accessing its VST presets.
VST Wrapper from Audio Ease works differently. The VST Wrapper is itself a MAS plug-in and is installed in the MAS plug-ins folder like any other MAS plug-in. Instead of creating new, wrapped versions of the original plug-ins, VST Wrapper opens up a portal to the VST plug-ins folder. A VST Wrapper submenu appears in the MAS plug-ins list, from which you can access all your VST Plug-ins. When you instantiate a VST plug-in, it will appear inside a VST Wrapper shell that provides access to its presets (see Fig. 3).
With few exceptions, the wrapped versions of the plug-ins work quite well. They support host tempo synchronization, automation, and multiple outputs where appropriate and are stable. Furthermore, the wrapped plug-ins do not add any significant CPU load or suffer a performance hit.
I converted VST versions of PSP Audioware's MixPack and VintageWarmer, Prosoniq's North Pole, Waldorf's PPG, ReFX's Claw, and VirSyn TERA 2.0 using FXpansion's VST-AU converter. I then tried them in both Logic Pro 6.4.1 and Digital Performer 4.12. I converted the same plug-ins with the VST-RTAS converter and used them in Pro Tools LE 6.2.3. Automation worked properly in all cases. VirSyn TERA's 16 outputs were available within Logic and Digital Performer (Pro Tools LE does not support multiple outputs from software synthesizers). Audio Ease's VST Wrapper 4 fared equally well in wrapping those VST plug-ins for use as MAS plug-ins. Automation worked, presets were accessible, and no additional latency was noticeable.
I chose to convert VirSyn TERA 2.0, which is also available in AU and RTAS formats, to see if there were any functional differences between the native and converted versions. I found both versions to be identical in every respect except preset handling - in the native version, TERA handled the presets, whereas in the converted version, the wrapper handled them.
The only problems I ran into with any of the converted plug-ins were with the graphics. In the VST-AU version, animation of the keyboard graphic at the bottom of the Waldorf PPG plug-in lagged behind when playing fast keyboard runs. Interestingly, the RTAS-wrapped version of the Waldorf PPG plug-in did not have that problem. VST Wrapper exhibited no keyboard graphics problems, but it did display some graphics glitches when choosing presets from within the PPG's preset menu instead of from the VST Wrapper's preset bar. According to Audio Ease, those glitches can be circumvented by choosing VST Wrapper's Use Separate Window option.
For the six plug-ins I tested, I found VST Wrapper and VST-AU converter to work equally well. If you're a Digital Performer user, VST Wrapper 4 does not require you to run conversion software each time you add or update a VST plug-in. Additionally, VST Wrapper 4 does not require a second conversion from AU to MAS format - the conversion takes place automatically within Digital Performer. On the other hand, if you want to use the converted plug-ins in other AU host applications, FXpansion's converter is the better choice.
One downside to using wrappers is that there will often be some lag between the release of a new plug-in and the time when the wrapper is tested and perhaps modified to accommodate the plug-in. Another downside is that it is impossible to test every VST plug-in, and plug-ins from some smaller developers may get overlooked. Inevitably, there will be VST plug-ins that do not behave properly when wrapped. Nonetheless, using wrappers is a viable and effective way to access most VST plug-ins from within AU, RTAS, and MAS hosts.
Some plug-ins require time to work their magic. Examples include look-ahead processes such as linear-phase equalization and compression-limiting, which analyze the audio before processing, as well as plug-ins that run on DSP cards such as Universal Audio's UAD-1 or TC Electronics PowerCore. The latency so introduced by those plug-ins can cause processed audio tracks to be out of sync with unprocessed audio and MIDI tracks. Live input processed by those plug-ins will also be out of sync for both recording and monitoring.
When processing recorded audio, you can compensate for latency by manually time-shifting the tracks being processed. Some applications will automatically compensate for latency that is produced by plug-ins by delaying the unprocessed tracks. Cubase and Nuendo can compensate for any delay caused by plug-ins on any track type during playback. Logic can compensate for plug-in delay on audio tracks and audio instrument tracks, but not on any other kind of track. Recently released Pro Tools TDM 6.4 software automatically compensates for delay caused by TDM plug-in latency, busing, and routing within the Pro Tools mixer. Pro Tools also auto-compensates for RTAS plug-ins latency. Digital Performer offers manual delay compensation.
Although wrappers do not themselves cause any delay, you may need to wrap a delay-causing plug-in to use it in your desired host. For example, if you are a Pro Tools user, you can use only the UAD-1 or TC PowerCore plug-ins with the VST-RTAS wrapper, and in that case, you will have to deal with the delay that these plug-ins cause.
The dream of a single plug-in format for all Macintosh audio applications is as distant as ever. VST wrappers allow you to use VST plug-ins in Pro Tools, in AU hosts, and as MAS plug-ins in Digital Performer. The wrappers work quite well and are nearly transparent to the user. Unfortunately, only VST plug-ins can be wrapped at the moment, which is great for AU, MAS, and RTAS users, but not so good for users of hosts that do not support any of those formats. If you want to use your favorite AU in Cubase or Live, you're out of luck.
Users can and should keep pressuring audio host software developers to put politics aside and get behind a single format. But until that day, the availability of wrappers, the increased stability of Mac OS X, and the advantages of the Core Audio and Core MIDI architectures are good consolation prizes.
Orren Merton is the author of Logic 6 Power (Muska & Lipman, 2003) and a longtime soldier in the plug-in format war trenches.
COPYRIGHT 2004 PRIMEDIA Business Magazines & Media Inc. All rights reserved.
COPYRIGHT 2004 Gale Group