.. a few very useful workarounds I've developed for my daw, so you probably won't find them anywhere else

Thursday, December 27, 2012

Add your fave Win VST plugins to the mix

FINAL UPDATE 04.09.2014 (refined the tutorial to reflect a much easier install)

There are plenty of nice free and commercial VST plugins available only for Windows. As probably most of you already know, they could be used in your OS X DAW with Wine (JackWASIO, VFX). Or with a virtual machine (VirtualBox, Fusion). Or a networked Win machine.. I've thoroughly tested every single one of these options only to hit disappointment. Initially this post was all about painstakingly setting up a VST host in wacvst.

But instead of refining and updating the wacvst post as intended, I finally came to a more decent conclusion. Actually bringing back a three years old idea of mine and improving it so I can share it with you, would be the only way to go in using the smoothest and easiest to setup method of having Win VST plugins in the mix as well.

Initially prepared and tested successfully on 10.6.8 and later on 10.8.5. Based on your feedback it should work on Mavericks as well. Please take note that functionality with various DAWs is something I won't cover and discuss apart from generic guidelines. It should work with any DAW and it's up to you how you set it up. And I won't discuss any stuff that's already covered in this tutorial so please read it thoroughly before asking any questions.

Patience is your best friend. In reading
thoroughly, not in the actual time it takes to set this up which shouldn't be more than half an hour at most. It might look confusing at first but I'm confident you will be happy with the outcome. Let's get started:

(in the event of developer links being down or taken off, all links provided here are direct download links to copies of the original files, hosted on dropbox)

Plugwire is beerware, if you need the "pro" version with up to 16 stereo channels, please click the Donate button on the top right corner of this blog and I'll get back to you. You will still need the AudioPort Universal bundle (trial or bought) and if you want to save your setups, a Windows license for energyXT.

Mount plugwire.dmg and drag the plugwire folder to Applications. Drag the plugwire app in the Dock then drag the AudioPort Host msi file in plugwire to install it.

Few users have previously reported an install error: "No new executables found!". If you drag the msi package in plugwire and the install window won't show up (plugwire sits open in the Dock for a few seconds then quits) just make sure your application firewall is not blocking plugwire from making loopback connections.

Start plugwire and enter the trial key provided by the developer in the readme file bundled with the AudioPort Universal package. AudioPort Host should now be running.

Quick test in Juce Plug-in Host:

Before getting to the real business of using plugwire with your DAW, I strongly suggest to try to understand how this whole setup works based on the quick demonstration with Juce Plug-in Host.

Mount PluginHost.dmg and drag to Applications. Start PluginHost, go to "Options/Change the audio device settings" to configure your audio, then scan your AU plugins as shown on the left. Besides the default Apple AU plugins and others you might have installed, Wormhole2 and AudioPort should show up in the list.

Double-click on both AudioPort modules and click Connect. You should be connected now to AudioPort Host and in the AudioPort Host window the "File/Open recent file" option should be available, load the default plugwire project then double-click on the energyXT module.

You should hear now your audio file and on the second channel you can also play some keys along with it if you have a controller active. If not, just focus on the Juce Plug-in Host window and play some keys on your computer keyboard.

Now for the most important part, using Win VST plugins, just click on the "1" button to load them as you see on the right.

You can close plugwire from the plugwire menu on the top left of your screen: plugwire/Quit.

Installing plugins:

Just drag your plugin's setup file (executable) in plugwire and install, your plugin should be now in the VSTplugins folder.

Some installers will place manuals in the Documents subfolder. Then there's the VSTplugins subfolder where you should copy those without an installer (dll). You can even drop them whilst plugwire is already running.

Setting it up with your DAW:

On a track you want to process consider the Wormhole2 and AudioPort plugins as the IN and OUT pair of an insert unit, as you can see in the Juce Plug-In Host window from the main screenshot of this post. The actual insert unit is one channel in plugwire on which you load Win VST plugins.

Wormhole2 sends audio to plugwire using streaming over network and AudioPort fetches the processed audio from plugwire in the same manner. Obviously there's no actual streaming over a physical network, but the concept is exactly what makes my setup completely different from any other solution out there in that we can use simultaneously 16 independent plugwire stereo channels.

Start plugwire and in your DAW load a pair of Wormhole2 and AudioPort on the tracks you want to process.

Connect to 127.0.0.1 all the AudioPort instances you've loaded making sure you start with selecting channel 1+2 as in the screencap then choose for each the next unused channel from the list of channels.

Load the default plugwire project in AudioPort Host and finally in your DAW choose in the Wormhole2 instances the corresponding numbered channels. In AudioPort Host double-click on the energyXT module and you're good to go.

You can MIDI map in energyXT all your plugins' parameters. Check the IAC Driver part in the Win VST instruments section below. Same goes for a controller if you use one.

Bouncing/freezing:

The only way I would recommend for any DAW is to arm a new track and record the processing that takes place in plugwire. If you won't need the original tracks anymore it's important to record starting with the track assigned to the last used plugwire channel, then the previous and so on. I'll explain why in the notes section below. For Ableton Live users there is a way of using its freeze feature which I could append to this tutorial later on if requested. It's mostly based on my 1st post (direct mode).

Important notes:

If you can't see any channels in Wormhole2, load the pair of Wormhole2 and AudioPort plugins on the tracks you want to process before starting plugwire.

The AudioPort instance connected to 1+2 must be connected at all times otherwise the other channels will be unusable even if they are connected. So make sure you don't unload it or you don't delete any track which contains it. Also make sure before any recording that in this particular AudioPort instance (1+2) you click Disconnect then Connect to get rid of any latency. In real-time if you need click Disconnect/Connect as often as you feel the tracks are out of sync.

Never hit Save in AudioPort Host because correct saving is not possible whilst energyXT is in demo mode. It will actually save, but unfortunately rewrite the default plugwire project in that you will end up with an empty one. After you buy a Windows license for energyXT, I strongly recommend though saving your projects from within
energyXT
and not AudioPort Host, otherwise plugwire
would most probably crash
at loading those projects.

Don't expect every single Win VST plugin to work, few might randomly crash plugwire like some of the included good old Eric Beam plugins. I'm very confident however that the vast majority of Win VST plugins out there should work flawlessly.

This setup works only for 32-bit Windows VST plugins. For AudioPort and Wormhole2 plugins in 64-bit only OS X DAWs, have a look at 32 Lives

Quick video demo (plugwire pro):

Win VST instruments:

For instruments we won't be needing the Wormhole2 plugin. Just the AudioPort and for sequencing the IAC Driver: "Device is online" checked in Utilities/Audio MIDI Setup/MIDI Studio/IAC Driver Properties.

Start plugwire then in your DAW set your MIDI track's output to IAC Driver Bus 1. Open an instance of AudioPort on an empty audio track where to fetch your Win VST instrument's audio output and connect it to 127.0.0.1. In AudioPort Host load the default plugwire project, right-click on the energyXT module to make sure in MIDI devices Bus 1 is selected then double-click on the energyXT module.

In the energyXT window click right next to the Open button then New/Empty project. Drag the bottom right corner of the energyXT's window and you should see 2 modules: Master In and Master Out. Right-click in that area and choose your instrument from the plugins list. Make sure its MIDI input is connected to the Master In module and its audio output to Master Out. Now you should be able to play, record and MIDI map your instrument.

And finally here's a fairly detailed user video on how to install plugwire and play with instruments:

Say you have some audio track you want to process with Win VST plugs. Before starting the plugwire app, in your DAW you load on that track first Wormhole2 AU and then AudioPort AU as you would normally load plugs, one right after the other.

The audio signal enters Wormhole2 AU which passes it outside your DAW to plugwire then AudioPort AU fetches it back from plugwire.

Start plugwire, then connect the AudioPort AU to 127.0.0.1, channel 1+2. Now load in AudioPort Host the default plugwire project you see in the list of recently opened files. Focus back on your DAW and in Wormhole2 AU choose in the list of channels 01+02. Now you should hear your track.

Go back to AudioPort Host and double-click on the energyXT module and a mixer would pop-up. There is where you load your Win VST plugins, by clicking on the "1" button.

We can do this for up to 16 stereo tracks simultaneously so we are actually able to mix in real-time with Win plugs as well. There you go, cheers!

Hmmmm..... I get to Quick test in Juce plug in host: "then scan your plug ins as shown on the left" - I don't know if someones update the software but there isn't a scan function nor even an available plug in list to check for an options box.

Thanx for this great tip, but somehow Plugwire doesn't seem tot connect to the Audioport Plug-in in Logic... First, Audioport Plug-in connects to 127.1.1.1 instead of 127.0.0.1, after changing back to 127.0.0.1 'Open recent files' is greyed out in Plugwire, saying 'Please connect to a remote host' (I'm assuming that means audioportAU?)

I got exactly the same problem with Logic Express 8 on Lion (10.7.5). Testing with JUCE Plugin Host worked great, but when I insert the AudioPort plug-in in a channel in Logic, the pre-defined IP address is always 127.1.1.1. Even if I enter 127.0.0.1 manually, it's impossible to establish a connection to the AudioPort Host application. Logic seems to block the local network connection somehow.In Ableton Live 8 i was able to connect the AudioPort plug-in with the host but i couldn't get Wormhole2 to work, as both the VST and AU version of the plug-in always cause Live to freeze completely.

Okay, I wasn't sure about 127.1.1.1 being the default setting. It was just confusing me a little bit...I did some further testing today and with Ardour and Reaper everything seems to work quite stable on Lion! I still couldn't get it to work in Logic but I came up with a workaround: I set up a filter graph in JUCE which consists of an instance of the AudioPort plug-in which picks up the audio stream from the host in plugwire and an instance of Wormhole2 which sends this stream back to Logic. This isn't really an elegant solution as it requires two more instances of Wormhole2 for every channel you want to process, but at least it works for the moment... ;)

This is quite complicated. Since it's such an important topic, you should consider making a video walkthrough. I am stuck at the part where it says "File/Open plugwire.filtergraph provided in quicktest.zip, double-click on AUAudioFilePlayer module, load some audio file, check Loop, Click the Play button and leave that window open."just confused

So I may be stuck at the same point...File/Open plugwire.filtergraph...open in Plugwire I'm assuming...except that File/Open is grayed out and reads 'Please Connect to a remote host"...everything was going so well...Hope you can help at this point...fyi, I think this is fantastic and I am very excited to get it working!

Hi, I am following your steps to the T.. but now when I open the energyXT in AudioPort Host, it opens a blank xt window, unlike the one in your photo with the 01+02 mixers. So I am not getting any audio :(

The weird thing is it worked the first time it opened and looked just like yours.. I could even play the piano sample.. PLEASE HELP!!

I can confirm Mountain Lion (8.2) MacBook Air mid 2012 compatibility with Live 8.3.4. It gives me 28ms delay compared to dry signal. I have fiddled with the wormhole settings (sync/latency) and once i got it to 14ms, but i could not recreate it reliably. It also sometimes drops connection, also when switching WiFi on/off (if anyone would want to do that while producing :) )

Thanks for your feedback! So Wormhole freezes Live 8 on Lion according to Rob but it works with Live 8 on ML, that's odd.

Clicking Disconnect/Connect in the 1+2 AudioPort AU instance before any recording or in case of any other problem is what I strongly recommend. Fiddling with Wormhole's settings won't have any major effect

I'm running Ableton Live 8 and I'm wondering, does this process only work with fx vsts? Because I managed to get Image Line's Harmor synth running. Now I have a few questions:

1) Does it matter if I do this on an Audio Track or a MIDI Track?2) On a track in Ableton, I put wormhole au, then audioport au. I opened plugwire, connected audioport au to 127.0.0.1, went to plugwire to load the file but the 'open' option was greyed out. Help please?

at first, thank you for this description, but it should be more useful this also translate into german language e.g.

do you've positive experiences loading and using Pluggo, Mode, Hipno vsti,vst (cycling74.com) by using this tool? (for information: of course at this time I've load the trial_vers of audioport - installed in SL 10.6.8)

This is amazing piece of software engineering and great guide enennu !!!

I can confirm:

Running PC VST FX (TAL-Chorus-LX.dll) works on OSX 10.8.5 on Macbook Air (September 2013 - i5@1.3Ghz) in Logic 9.1.8 (32-bit) using Built-in audio output. I was sending Logic ES-E synth into the PC VST FX. Works ! The latency is there but its pretty usable.

Running PC VSTi SYNTH - Shareware G-Storm VSP 330 emulation (VSP-330r2_05.dll) also works but with limitations. Trigering notes from Logic 9.1.8 MIDI track via Apple IAC Bus Driver crashes Plugwire.app with PC error dialog box saying "The program audioport_universal_TRIAL.exe has encountered a serious problem and needs to close. We are sorry for the inconvenience." So I cant wire any MIDI from Logic into Plugwire using Apple IAC Bus Driver on my setup. However in AudioPort Host Universal (inside Plugwire.app) i can right-click on energyXT and in MIDI devices i can select directly my hardware midi controllers (NI Maschine MK2 or KORG Microkey) and they trigger VSP-330r2_05.dll inside energyXT just fine - the audio from the PC VST SYNTH is sent to Logic 9.1.8 "listening audio track". So if we can fix the crashing of Apple IAC Bus Driver and audioport_universal_TRIAL.exe when sending notes from Logic it would be 100% success here on OSX 10.8.5, Logic 9.1.8 (32-bit), Macbook Air (September 2013)

Thank you so much for this article ! I tried this with Reaper 4.55 32 bit on OSX 10.9 and it works perfectly. Tested it with the Cygnus-SF and DSK Ethereal Pads plugins. I had some trouble with the Reaper 64bit version, since it was unable to recognise the Wormhole plugin. I know, for the instrument VSTs I don't need Wormhole, but I wanted to make sure the installation works. I would like to say thanks again with a small donation.

Great work! Quick question - can this work with MIDI plug-ins as well? I have a Win-only arpeggiator from which I would like to receive MIDI from my host. I can send MIDI via IAC bus into EnergyXT, and I see that the last EnergyXT output in the AudioPort Host window is a MIDI output. But can this be connected back out via IAC bus, or does AudioPort work with audio only?

Thanks again for publishing your findings.I will donate asap. For logic users on mac.I have got as far as getting audio port connected using a logic audio channel.To activate the connection you will need to physically drag any audio file you have in to the channel and then hit play on your logic transport bar.Then click connect on audio port while logic is playing and it will connect.If you dont put audio in the logic audio channel audioport wont work. I still don't know how to get logic to talk to audio port for the midi.Audio is fine,but i suspect logic is grabbing all the midi ports for the usb m-audio keyboard. So some how I would need to get logic to send midi to audio port and xt plugins via iac midi. Apart from that all works fine on ableton 9 on mac osx leopard. Just need to figure out how midi up logic to talk to audioport.

Thank you for the idea you created.I have expanded on your idea for Logic 9. I made a video for it below.https://www.youtube.com/watch?v=ExNkKQXPINg&feature=youtu.beI will donate and thanks again for putting your ideas in public,thats how we make the world move forward.So now midi and audio work with your idea in logic 9 mac osx 10.6.3 and any osx I think.From Forwardthinker

Logic 9 update: Just to update,you no longer need to put audio in the audio channel. audio port will connect if you activate the orange input icon and press play on the transport bar and then hit connect on the audio port plugin..If you cant see this orange input icon on the arranger sequencer main screen go to (View--->configure track header and select the orange looking i button called input monitoring for the channel you want to use).Also I have found if you dont create a multi instrument in the environment---->clicks a ports then you will run into problems with logic and audioprot connection,usually timing out or logic overload error. from forward thinker

Hello. Thanks for the tutorial. Although the generic setup seems to be right, I can't load oatmeal VSTi (http://www.vstplanet.com/News/photos/Oatmeal/oatmeal38-1.zip). It simply give me an unknown error while loading and can't show its main screen, like it couldn't load preferences or a skin. All necessary files are copied to VST plugin folder... Any idea? Thank you!

Hi, got the "38.1 specific bundle" from KVR and dropped its contents to the VSTplugins folder, it loads the GUI and can change skins etc. Other than that I can't help you sorry. Again, please don't expect me to test every plugin out there, thanks