Howto route MIDI to between Max/MSP and virtual synths

Introduction

Having recently released my androidome application, I have recieved a number of queries on how to "get sound working with virtual synths" from Max/MSP, specifically monome patches. Although I have no idea on how to achieve this on MacOS (I'm sure guides are available), this tutorial should hopefully shed some light on how to do this on Windows.

The problem here is communication between the different applications. One application (in our case Max/MSP) is generating MIDI note information and a different application, typically a DAW like Ableton Live, wants to receive this data to pass on to virtual synths etc. If we want to do more advanced things like sync the tempo between Max/MSP and the DAW, this communication must be bidirectional. This can be achieved by using a free MIDI routing application called LoopBe:

Routing Setup

Setup

The first step therefore is to download and install LoopBe1 (note you want the free version at the bottom of the page). During the installation process it may warn you that "Continuing your installation of this software may impair or destabilize the correct operation of your system either immediately or in the future...". This is nothing to worry about, and you are safe to install the app.

The next stage is to setup a VST Host or DAW (if you don't already have one). KVR Audio has a great comparison of free VST Hosts. If you have an application like Ableton Live, or Cubuse you need look no further - this will do fine. If you don't, in the meantime I suggest you download and install the free trial of AudioMulch, one of my preferred hosts.

Finally we need a synth to load up into the host. Fortunately there are thousands of good free VST synths out there, so its just a case of trying a few and seeing how they sound, although to get the most from monome patches, you ideally are looking for something polyphonic. I will use a good free VST synth called Superwave P8, which should be a reasonably good starting point, with plenty of presets. Download and install this, preferably to a sensible place like C:\VST\Instruments.

Now return to your host and make sure that you have specified the location of the VST, e.g. in AudioMulch goto Edit -> Settings... -> VST Plugins. Also the LoopBe MIDI router should be listed as a MIDI Device under Edit -> Settings... -> MIDI Input and Control, probably as MidiIn1.

At the bottom of the left pane, there should be a list of VST Plugins, where the Superwave P8 should be listed. Set up a patch similar to that below, where MidiIn1 is the LoopBe device:

Audiomulch Patch

Now activate Audio and Midi by making sure the two icons on the top control panel are highlighted:

Activate Sound and Midi

AudioMulch is now ready to accept input from Max/MSP. Next, open the patch which you want to use. A good example of a simple, well documented monome app is ArpShift. Once the patch is open, click on the Midi Out dropdown list, choose LoopBe Internal MIDI. We should now be sending midi from ArpShift to our synth in AudioMulch, as pictured below:

Arpshift MIDI Setup

Conclusion

Hopefully this tutorial should have been of some use to some people. If there is any difficulty in understanding any of it, please leave me a comment and I'll try to help out. Some of the ideas can be tricky to grasp initially but it is worth perserving with as it should allow you to explore new methods of making music that you may not have come across before.