Using Jack Connections with VST Effects
Explanation of the Concept of VST Effects
VST stands for Virtual Studio Technology, and is a software concept originally created by Stienberg (the creators of the ASIO standard). VST applications come in two basic forms, Effects or Instruments (aka VSTi). One can think of VSTs as 'plug in modules' that can be run from within a VST Host application. In this tutorial we will present the use of VST Effects with SAVIHost (the VST Host application). Using this 'host' and 'plug in' model allows programmers to create software that can be used more easily as the host application takes care of the Audio and MIDI inputs and outputs.
This tutorial is for those who are using jOrgan with Fluidsynth and Jack Native API drivers with Jack for Windows.
- Jack Audio Connection Kit (Instructions_on_using_the_Jack_Audio_Connection_Kit_in_Windows)
- Reverberate LE (www.liquidsonics.com/software_reverberate_le.htm)
- SAVIHost (32-bit) (www.hermannseib.com/english/savihost.htm)
Configuring SAVIHost to load Reverberate LE
SAVIHost is a VST Host application that will load just one VST plug in (.dll). It is the perfect application for our purposes of adding VST reverb to Jack Audio stream. So, download the 32-bit version of SAVIhost (I use the No Keyboard version - savihostnkx86.zip). Unzip the application into your VST folder (usually Program Files/Stienberg/VstPlugins). Then make a copy of the Savihost.exe and rename it to the name of the VST effect (for us this means renaming it ReverberateLE.exe). You will find this name by looking for the VST Effect dll file in your VstPlugins folder.
- Make sure that Jack PortAudio is running (so that the JackRouter can connect to Jack)
- Start Jack Control
- Now run the new ReverberateLE.exe to load Reverberate LE in SAVIHost
- Next, click on 'Devices -> Wave' in the top menu
- Configure the 'Output Port' to 'ASIO: JackRouter'
- Configure the 'Buffer' to the buffer size used by Jack PortAudio (this will be the only buffer size available in the dropdown)
- Click on 'OK' to activate the new connections
Configuring the Connections in Jack Control
- Load your jOrgan Fluidsynth disposition that has been configured to use Jack as the Audio Driver
- Click on the Connections button in Jack Control
- In the Audio Tab of the Connections window you should see the jOrgan Fluidsynth Jack Clients and the ReverberateLE Clients
- Connect the left hand side (readable clients) jOrgan Fluidsynths to the right side (writable clients) ReverberateLE
- Now play the organ and adjust the Reverb amounts in Reverberate LE until you have a satisfactory sound
This setup has the full dry signal from Fluidsynth going to your Audio system as well as the added Reverb signal. If you have too much dry effect then simply disconnect the jOrgan Fluidsynth clients (left side) from the system audio (portaudio) on the right side.
Advanced : Using Multiple VST Reverb Effects
We can create multiple instances of the VST effect by creating differently named copies of the VST Effect dll and corresponding SAVIHost executables. In this example we will create a different Reverb environment for each division (Pedal, Great, Swell, Positive)
- Make a copy of the ReverberateLE.dll and name it ReverberateLE-Great.dll
- Do the same with the SAVIHost.exe (i.e. create a copy named ReverberateLE-Great.exe)
- Create ReverebrateLE dll and exe copies for the rest of the divisions
- Run each of the ReverberateLE-[division]s and configure the SAVIHost interfaces to use JackRouter as indicated above
- In Jack Control, open the Connections window and connect each of the jOrgan Fluidsynth division clients to the corresponding ReverberateLE-[division]
- Now play the organ and adjust each of the divisional reverbs until you have a satisfactory sound
Enjoy playing :)