Thursday, December 27, 2012

Add your fave Win VST plugins to the mix

FINAL UPDATE 01.09.2014 (refined the tutorial as I've changed the version of the wrapper and made the installation process much easier, hopefully this fixes the "no new executables found" error for some Mavericks users)

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 (my final Wineskin setup including the energyXT 1.4.1 VST plugin demo)
AudioPort Universal (AudioPort plugin and AudioPort Host trial)
Wormhole2 (Wormhole2 plugin, download the free osx binaries)
Juce Plug-in Host (free AU host to quickly test plugwire)
quicktest (to quickly load in Juce Plug-in Host)

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.

Double-click to unpack AudioPort Universal, then unpack AudioPort Plug-in Setup MAC and install it. Unpack Wormhole2 and put Wormhole2.component in /Library/Audio/Plug-Ins/Components.

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 itStart 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.

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.

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:

Credits and thanks:

doh123, XT Software, plasq, Raw Material Software, Audio Impressions, PhoenixInFlight, Eric Beam, fandango, Oxygen Team, Binassmax, Evermor Design, rekkerd, Create Digital Music, Variety of Sound, Synthtopia, MacMusic, VST Cafe, DigitalRustMusic

62 comments:

  1. Hey thanks for taking the time to explain in detail.

    I just find a little difficult to understand the setup with DAW.

    Would you tell me where exactly load each of those 3 plugins?

    Thanks in advance.

    ReplyDelete
    Replies
    1. 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!

      Delete
    2. if I work this function in pro tools? OSx10.6.8? please answer :)

      Delete
  2. thanks but so difficult for load VST and looks like only in AU host? not VST host like Cubase or Nuendo?

    ReplyDelete
    Replies
    1. Very good point. "AudioPort Plug-in Setup MAC" installs AudioPort VST as well. Unpack Wormhole2 and put Wormhole2.vst in /Library/Audio/Plug-Ins/VST. Now you're good to go.

      Delete
  3. 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.

    ReplyDelete
    Replies
    1. In Options you should click first on "Edit the list of available plug-ins..."

      Delete
  4. Hi,

    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?)

    Any help would be greatly appreciated!

    Thanx, Gr.Dries

    ReplyDelete
    Replies
    1. Unfortunately, I can't help you with Logic. Can you try with another DAW?

      Delete
    2. 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.

      Delete
    3. So this is the first confirmation of functionality with Lion.

      With some problems, the biggest one, it doesn't work with Logic but I need more confirmations. If it really doesn't work or you actually need to set Logic up differently with it.

      The second problem, Wormhole doesn't work with Live 8 on Lion but I need more confirmations on this too. At least you can use the instruments part.

      Unless it's already saved like that in some project as with the quick test, you have to enter 127.0.0.1 manually over de default 127.1.1.1

      Delete
    4. 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... ;)

      Delete
    5. Thanks for feedback! I'm confident there must be an easier way with Logic, for it to work as it's supposed to work, maybe some more experienced Logic users will figure it out. Cheers!

      Delete
  5. 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

    ReplyDelete
    Replies
    1. Where are you stuck more exactly? I'll be happy to post a video made by users.

      Delete
    2. 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!

      Delete
    3. No, File/Open in Juce Plug-in Host. Cheers!

      Delete
  6. 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!!

    ReplyDelete
    Replies
    1. Delete the plugwire folder and start over. Make sure this time you never click Save in AudioPort Host. Please read the "Important limitations" section more carefully

      Delete
  7. Is there a way to load a simple DDL plugin, I tried droping them into the "Eric Beam" folder, but they wont show up in plugwire

    ReplyDelete
    Replies
    1. Sorry, a dll plugin like "retro delay" for example, thanks!

      Delete
    2. If it's "retro delay" from e-phonic, I'm just looking at it in plugwire. Just drop the dll file in the VSTplugins folder, other than that I can't help you sorry

      Delete
  8. Wow, every industry pro I know has seen this, ground breaking stuff

    Having a bit of trouble loading my own plugin effects, most are not exe files

    I tried deleting the Eric Beam folder inside the plugwire folder, but it is still showing up

    is it possible that the vstplugin folder is being read somewhere else on the computer?

    ReplyDelete
    Replies
    1. If it's deleted it definitely shouldn't show up, I don't really get what you mean.

      Delete
  9. Hi,

    Absolutly love this, works great. Is there a way to synch to your hosts BPM, or type in the bpm in XT or Audioport?

    Cheers

    ReplyDelete
    Replies
    1. Thanks. See the important notes section.

      Delete
  10. Hi There , amazing work! wanted to ask you how you installed EnergyXT and how i could go about reinstalling a legit version of 2.5 so I could save.... thanks in advance:))
    Happy New Year!

    ReplyDelete
    Replies
    1. The license you bought for 2.5 should work for 1.4.1 as well.

      Delete
  11. 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 :) )

    ReplyDelete
    Replies
    1. 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

      Delete
  12. I finally got running with Logic Express 8 and Live 8 too. Now I can confirm full functionality on Lion as well!

    Thanks for your great work in putting together plugwire. This is by far the most convenient solution for running Win VSTs on Mac I came across! ;)

    ReplyDelete
    Replies
    1. Hi Rob, Can you explain to us how have you done it to make it work with Logic?

      Delete
  13. 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?

    Otherwise this seems to work really well ! thanks bro :)

    ReplyDelete
    Replies
    1. For instruments only in Live, put the External instrument device on a MIDi track, set its MIDI output to IAC, then load AudioPort next to it and connect it to 127.0.0.1

      Delete
  14. 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)

    thanks and regards

    ReplyDelete
    Replies
    1. you can try the google translate option at the bottom of this page

      Delete
  15. Hello,I found out the way to use with Logic,The tip is the Audio track have to put some audio (something or dummy),and just play it,then click the connect,the host will be connected.

    ReplyDelete
  16. THANKS! works great, i was looking for something like this for YEARS!!! Again, thanks a lot!

    ReplyDelete
  17. Thanks to James from Los Angeles for the first donation!

    ReplyDelete
  18. First 16 stereo channels plugwire has been shipped to Senne from Gent!

    ReplyDelete
  19. So is there anyone who have tired to play win vst instruments in Logic 9 with plugwire?

    ReplyDelete
  20. YES.
    But it does not work for me. I stuck at connecting to audioport.
    It just won't connect..

    Jan

    ReplyDelete
    Replies
    1. Are you using Logic by any chance? There's confirmation in previous comments from other Logic users, maybe they could help.

      Delete
  21. 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)

    ReplyDelete
    Replies
    1. Thanks a lot for your detailed feedback, I wish more people would at least do the same if not donating but there you go. Pity about IAC, can't help you with that. Cheers!

      Delete
    2. UPDATE to my last post (October 16, 2013 at 7:23 AM): IAC MIDI from Logic 9.1.8 (32-bit - OSX 10.8.5) into PC VST SYNTH still crashes AudioPort Host Universal (inside Plugwire.app) but the exact same setup WORKS WITH PreSonus Studio 2.5.1 (32-bit - OSX 10.8.5) - sending midi from PreSonus Studio DAW into PC VST SYNTH via IAC with no problems !!! I will certainly DONATE !!! This setup works fine in PreSonus Studio 2.5.1 (32-bit - OSX 10.8.5) including IAC MIDI. I also feel like getting better midi and audio latency with the PC VST SYNTH using PreSonus Studio DAW compared to Logic...

      Delete
    3. Again many thanks for your feedback, I'm glad everything works for you now. Enjoy!

      Delete
  22. Thanks to Brian for the generous donation!

    ReplyDelete
  23. And many thanks to Rotislav from Prague for the most generous appreciation!

    ReplyDelete
  24. 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.

    ReplyDelete
    Replies
    1. Thank you for feedback and donation! Plugwire 16 stereo channels version coming your way, enjoy and let me know if you run into any problems!

      Delete
  25. 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?

    ReplyDelete
    Replies
    1. Pity that the MIDI out pin is unusable as far as I can see.

      Delete
  26. 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.

    ReplyDelete
  27. 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.be
    I 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

    ReplyDelete
    Replies
    1. Thanks a lot for the video, enjoy!

      Delete
  28. 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

    ReplyDelete
  29. another plugwire pro sent to Ricard from Valencia!

    ReplyDelete