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

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.