VST and VSTi How-to (for 32-bit systems)

Submitted by Daniel on Wed, 09/12/2007 - 09:11

VST and VSTi support can be hit and miss on free software systems, but some of the most popular plugins can be made to work well. In this how-to I describe installation of the Native Instruments B4 II Hammond organ emulator. The plugin is stable and CPU usage averages around 15% on a low-end Turion CPU, which is acceptable for a soft synth.

Controlling the B4 II plugin via the ALSA sequencer with output to Jack

Here's what to do on a 32-bit (i386) system. (Getting this to run smoothly on a native AMD64 install is going to take some work, but we're looking at it.)

1. Remove any current B4 installation, if you've used Wine or VSTs before. The B4 II is a great improvement over the original B4.

2. In Synaptic, open the Settings -> Repositories window and check you are using the 64 Studio testing branch, version 2.1~pre1 or later. Click 'Mark all upgrades', then 'Apply'. Then install the wine, wineasio and msttcorefonts packages. Once the installation is complete, close Synaptic.

3. As your normal user, not root, run these commands in a terminal:

# regsvr32 wineasio.dll
# winecfg

In the winecfg window that appears, click on the Audio tab, unselect OSS and select ALSA. There is no need to click the Jack option, even to use Wine with Jack (go figure).

4. We need a host application to sit between the plugin and the ASIO driver - in this example we're using VSTHost by Hermann Seib, which comes in both donationware and LGPL versions. To use the donationware version, which has more features, unpack http://www.hermannseib.com/programs/vsthost.zip under ~/.wine/c_drive/Program Files/

5. VSTHost requires a standard Microsoft library to run, which does not have an equivalent in Wine. Copy MSFC42.DLL from a Windows XP system to ~/.wine/c_drive/windows/system32/ or download it from http://activex.microsoft.com/controls/vc/mfc42.cab and use http://packages.debian.org/etch/cabextract to unpack it.

6. Download the B4 II demo from the Native Instruments site at http://www.native-instruments.com/index.php?id=b4ii (requires registration, if you haven't got one on their site already). Unpack it under ~/.wine/c_drive/Program Files/ and right-click on the installer icon. Choose 'Open with Wine'.

7. Run through the B4 II install, accepting all the defaults. When install completes and you are asked if you want to install the NI Service Center, say yes (the plugin won't run without it). When installation of Service Center completes, choose the option to run Service Center now.

8. Use the same username/password in Service Center that you registered with on the NI site. Then enter your B4 II serial number to unlock the full version, otherwise it will run as a demo.

9. Start the Jack server in Jack Control.

10. Right click on the VSTHost icon in the Program Files directory, and choose 'Open with Wine'. After a few seconds, it should start up (it will start quicker next time). Go to the Devices menu -> MIDI -> MIDI Input Devices. Select your hardware interface MIDI input port, or MIDI Through to use a software controller. Then go to Devices -> Wave and set the Output Port to ASIO.

11. Go to the File menu of VSTHost and select 'New Plugin'. Locate the VSTi version of the B4 II under its installation directory and click OK to load it. A small box will appear in the VSTHost main window, representing the plugin. Clicking the very small buttons in this box will bring up various options, one of which is the plugin GUI.

12. Go back to the Connections window of Jack Control and check that the audio outputs and MIDI inputs of VSTHost are connected to your interface. You should now be able to play the B4 II. If you can't, try clicking the organ keys in the B4 II GUI to see if any sound is produced.


28 comments posted
Installing TC Works
I just followed the steps outlined for the B4 and was able to install and load the Parametric EQ VST plugin from TC Works Native Bundle 3.1. The plugin launches under VSTHost and I correctly displays the GUI. I am new to linux audio, so I believe that the next step would be to test it under Ardour. Could someone point me towards some docs on how to recompile Ardour with VST support? Is VSTHost the appropriate layer to load VST plugins to be used by Ardour or am I missing something here? Thanks agin for your help! It looks like slowly but surely, VST plugins are coming to linux!!! Arto
Posted by artinian on Mon, 09/24/2007 - 01:41
Reaktor 5 works perfectly under VSTHost and 64Studio
I just installed Reaktor 5 under 64Studio and it worked perfectly under VSTHost. How can I attach screenshots on postings? Audio outputs via ALSA but only at 44.1 sampling rate. CPU Load is hovering around 28% for most of default Reaktor ensembles.
Posted by artinian on Mon, 09/24/2007 - 02:41
korg legacy collection
hey folks I have seen the korg legacy collection somewhat work. just the legacy cell and wave station are the only 2 plugins though. however you could do a new patch in legacy cell with either just the ms-20 or polysix and I am sure you could use them that way. awesome to have use of them in 64 studio hopefully you folks can get a 64bit soon then I can do all music production on one machine.
Posted by Nate on Tue, 09/25/2007 - 15:43
Ardour support for VST
Hi Arto, Ardour has its own VST support code available, but you should be able to use VSTHost with JACK, in which case you can patch the output into any track or bus in Ardour. If that works for you, there is no need to recompile Ardour.
Posted by Daniel on Thu, 09/27/2007 - 16:16
Ardour support for VST
Thanks Daniel! I followed your suggestions and outputted my Reaktor under VSTHost into Ardour via JACK - works great. By the same logic, would the same approach work if I want to apply reverb from my TC Electronics VST plugins to a track I am recording in Ardour? I guess the approach would be: patch the output of the track in Ardour into VSTHost and then patch processed output back into Ardour. Would this imply that the signal processed under VSTHost would have to imported in a different track in Ardour? Thanks for the advice and I am loving 64Studio. I've tried UbuntuStudio and JackLab (and though I admire the effort of those distros) must say that 64Studio has allowed me to actually start working creatively right off the bat, with a minimum of downtime. That includes the best working solutions for using VST plugins, in my experience... Thanks again!
Posted by artinian on Thu, 09/27/2007 - 17:00
VST Host in Wine
Hi, I could not make VST Host app running from the Wine application. I respected the usual procedure described in the article as copying MFC42.DLL in System32 folder. The error message from the terminal : wine: Call from 0x40595a to unimplemented function MFC42.DLL.6571, aborting Also, the sound was working just with Wineasio, but was of very poor quality.
Posted by sirven on Wed, 10/03/2007 - 03:09
VST Host in WIne
Hi Sirven, did you unpack the MFC42.dll with: http://packages.debian.org/etch/cabextract Arto
Posted by artinian on Thu, 10/04/2007 - 02:39
VSTHost in Wine
Yes, I did it. I have to inform that the file inside the package was an .exe, and not a DLL file. So I had to find it on the internet instead. My system and Wine is working eventhough I could not charge VSTHost from the Winefile screen. I have sound with Wineasio driver. I don't know if it is the driver or my soundcard, (an internal soundcard on motherboard), but the result is not very pleasing... with xruns and distorsion everywhere. I tried to set Jack consequently. Thanks, I appreciate your help. This first tutorial made me switch on 64Studio (32bits).
Posted by sirven on Fri, 10/05/2007 - 03:47
VSTHost in WIne
Hey Sirven, so you installed the DLL ok? cool. what happens when you try to launch VSTHost? Did you try launching it by right-clicking on your mouse and choosing Wine to launch VSTHost? To reduce xruns you have to play with the settings in Jack Control. Check out this tutorial: http://www.64studio.com/quickstart_jack One of the most important settings to play with in Jack Control is the "Frames". Try setting different values: 128, 512, ... and see if the xruns go away. hope this helps. Arto
Posted by artinian on Sat, 10/06/2007 - 03:26
I could not open it. Nothing happened. When I right click at the .exe they ask me for the right apps but Wine is not there in menu. So I had to find it into the list and I chose user/bin/wine. No error messages, but still nothing running.
Posted by sirven on Sun, 10/07/2007 - 22:00
Ok, so you installed the .cab file? If yes, what is not working - you don't hear audio, your VSTHost does not lunch? Arto
Posted by artinian on Wed, 10/10/2007 - 13:02
Problems with Wine - VstHost
Yes. I installed the .cab file but the one from your website was an .exe instead. I still can't get Vsthost working (nothing appears). With simple VST usage, I can get sound by it is of poor quality. I heard somewhere on the internet that newest version of Wine had major bugs when using musical applications. There might be a lot of work to do on this issue. So I decided to try Crossover Linux and I,m now testing it. We can get direct technical support from there when registered.
Posted by sirven on Thu, 10/11/2007 - 18:06
Problems with Wine - VstHost
Ok. Now I tested again my VSTi plugins in Wine with my new PCI Delta44 soundcard and it sounds great. One by one, it works just fine. But I did not have such results with FST. By looking at Crossover 6.2, I realize that it was the same software engine that Wine. So there is no big differences. I still can't get VSThost working, eventhough I tried to open it with wine from the Debian Menu (Right click). The jack server was running. I know that this software is now obsolete (not supported). Could it be an alternative to make several plugins working at the same time with an external sequencer ? Thanks.
Posted by sirven on Fri, 10/12/2007 - 17:55
hey Sirvan, if you are not using VstHost or fst, what are you using with Wine to get your plugins working? Just curious. Arto
Posted by artinian on Sat, 10/13/2007 - 16:17
I'm just using the plugins as an app in Wine. I launching it with is .exe. Before that I start the Jack server. You need to have Wineasio. It works perfectly - and sounds really good. The only thing is that you can't have many VSTi at the same time for a sequencer usage. I have the whole set of NI plugins virtual instruments.
Posted by sirven on Sat, 10/13/2007 - 16:45
VstHost beta 1.45
hey guys you need the new version of VstHost 1.45 with fixed the dropouts wehn you move the GUI. With wine 0.9.46 i have also opened 10 VstHost + Kontak2 stand alone asio version. All are full working here the all new screenshots: http://www.lionstracs.com/store/information_pages.php?info_id=24 cheers domenik
Posted by Domenik on Mon, 10/15/2007 - 17:53
For VSTs
I realized that you don't need VSTHost to get sound from your plugins. The main thing is Wineasio driver for Wine. If you want to use many plugins, you need a sequencer software that is a host for any VSTs. :-)
Posted by sirven on Mon, 11/05/2007 - 18:14
You have to run this .exe
You have to run this .exe only once - it will install required MSFC42.dll for use with wine. And ONLY after that you can use VSTHost.
Posted by alex_step on Fri, 11/09/2007 - 08:38
missing mfc42.dll (in case it helps)
Sirven at 10/11/2007 - 20:06O: Problems with Wine - VstHost Yes. I installed the .cab file but the one from your website was an .exe instead. I still can't get Vsthost working (nothing appears). I was experimenting the same problem. I even downloaded the mfc42.dll from internet but nothing happened. The solution is to open with wine the mfc42.exe. A frightening message appears, but click OK and you have the mfc42.dll you need to run the Vsthost.
Posted by Pablo on Fri, 11/16/2007 - 18:10
AmpliTube 2 Demo works
and it sounds very well.
Posted by Pablo on Fri, 11/16/2007 - 20:16
Using Vsthost
I found out that plugins will work without VSThost. Is somebody can tell why this is necessary to use ? Cheers.
Posted by sirven on Sat, 11/17/2007 - 06:06
Some VSTs also run stand-alone
Hi Sirven, the reason is that some plugins (like the B4 II) are capable of running both as VST's and as stand-alone Windows applications. You only really need VSTHost if your plugins cannot run stand-alone. Having said that, VSTHost is a convenient way to run multiple plugins chained together as a single instrument. Cheers!
Posted by Daniel on Tue, 11/27/2007 - 15:31
Using Vsthost... well, you don't need to...
You can use nearly any ASIO-compatible Windows application. "ASIO" (Audio Streaming I/O) is a specific driver model created and used by Steinberg which has gained wide acceptance in the Windows world, since it provides a much higher audio throughput than the DirectSound or Multimedia Extensions drivers. With wineasio, it's finally possible to use Windows ASIO applications in a WINE environment and still get an acceptable performance. The other Steinberg technology that's widely used is "VST" (Virtual Studio Technology). This, like ASIO, is a semi-open standard (Steinberg gives away an SDK, but it's not open-sourced - you have to sign a license agreement to be allowed to use it, and have to mention them in the documentation and on the cover, but you don't have to pay royalties for finished VST products). There are thousands of so-called "VST PlugIns" available - lots of good and not-so-good freeware PlugIns, and lots of commercial ones, too. VST PlugIns can be both "VST instruments" (virtual synthesizers if you so want - they don't need audio input, but accept MIDI and generate audio output) and "VST Effects" (these operate on incoming audio data, mangling them in one way or the other). These PlugIns are DLLs (shared libraries for you Linuxers :-) and need a program that generates a runtime environment for them; this kind of program is known as a "VST Host". VSTHost is but one of these applications. Another fine example would be, for instance, Reaper. Another one that's guaranteed to work is my little VSTHost cousin, SAVIHost. Or Tobybears Minihost. Or... well, lots of possibilities. Many PlugIns also come with their own runtime environment (and, as I'm proud to say, quite a lot of them use my SAVIHost for this); you don't need any additional application if you're running these programs directly. I hope that this cleared things up a bit... Bye, Hermann
Posted by Arakula on Thu, 01/17/2008 - 16:11
right-click on the installer icon. Choose 'Open with Wine'.
Hello everybody, I followed description of installation, but I finnished at point 6. When I right click the .exe file no dialog "run with Wine" appears. Choosing "Open with Other Application" dasn't offer Wine application. Please can anybody help. I am new in Linux. Thanks for any answer. Mirami Asus M6Va,CPU 2GHz, RAM 2GB, 64studio 2.1 pre11
Posted by mirami on Thu, 03/06/2008 - 10:20
:-( I solved this... for
:-( I solved this... for others ... I had to do this like a root. mirami Asus M6Va,CPU 2GHz, RAM 2GB, 64studio 2.1 pre11
Posted by mirami on Thu, 03/06/2008 - 21:34
Quick Help
For quick help, do not post problems here. Do it in the Forums where we look frequently...
Posted by Quentin Harley on Fri, 03/07/2008 - 07:33
I am able to run shortcircuit with VSTHost and SAVIHost but running them in combination with RoseGarden creates more CPU load that my system can handle. The most I can do is load 1 sample and at that point I'm already at 90% with a 1024 buffer setting in Jack on my AC97 soundcard. I am using a Thinkpad T41 with 2 GB RAM and a 1.6 GHZ processor. Not sure if upgrading my soundcard would fix this problem or whether or not shortcircuit doesn't like running under WINE in VSTHost.
Posted by initself on Sun, 08/03/2008 - 19:03
Now I am getting much better performance using ddsi-vst instead of VSTHost, but I still end up maxing out the CPU with just 4 tracks. What's the bottleneck?
Posted by initself on Sun, 08/03/2008 - 23:30