Tag Archives: vst


mlrVST: Project details

For the last few weeks I have been working away on a fun little project to recreate / expand on a great bit of software for the monome called mlr. The original patch was written in Max/MSP which is great for putting together these sort of sample juggling applications. However Max/MSP remains a proprietary language / coding evironment meaning it’s not possible to get in and hack around with the source code without owning a full copy (which unfortunately I don’t). So in response, I decided to create a VST plugin in C++ which is fully open-sourced / modifiable. While my project (unoriginally named mlrVST) borrows heavily from existing incarnations, I hope to add plenty of my own features and ideas: in particular I’ve looked at adding several granular synthesis capabilities.


So what stage is the project at just now? Well I have a basic VST up and running. It has a GUI, it makes sound, it responds to the monome and can play back loops at varying speeds (set internally or by the VST host). Windows builds are available but I’ve not had access to OSX to try building a Mac version (the project uses the cross-platform JUCE library so it should work!). There is lots still to do: presets, live audio recording, resampling etc, but there should also be enough working to have fun playing around with! For more information (downloads / screenshots / source code), the best place to go is the monome.org forums, although the github project page should be useful too.

I hope to write some more articles about the technical side of the project (using JUCE etc) in the future so feel free to check back now and then!


Howto route MIDI to between Max/MSP and virtual synths


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


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


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.