Embed 3rd party plugins into Max for Live device

I’ve been intrigued by the potential of integrating third-party VST plugins into Max for Live since watching the following video. The complexity and depth of using VSTs within Ableton always felt a bit intimidating, but a breakthrough came when I stumbled upon a YouTube video that perfectly explained how to embed these plugins using the “vst~” object from Max. This discovery was a delightful revelation that made the technical process accessible and inspiring.

Initial Inspiration

The concept of embedding third-party VSTs in a way that they blend seamlessly with Ableton’s native environment had been on my mind for some time. The video I watched not only reinforced my interest but also showed a clear, practical pathway to achieve what I had been imagining. It was a moment of clarity and excitement, knowing that I could extend the functionality of my music production setup in such a meaningful way.

Understanding Max for Live and the “vst~” Object

Max for Live merges the powerful features of Ableton Live with the expansive multimedia processing capabilities of Cycling ‘74’s Max. This combination allows for the creation of unique devices that enhance Live’s functionality in various innovative ways.

At the heart of integrating VST plugins into Max for Live is the “vst~” object. The comprehensive Cycling ‘74 documentation provided me with all the information needed to use this object effectively. The “vst~” acts as a container for VST plugins, enabling them to operate within the Max environment, which includes Max for Live.

My Approach to Creating a VST Wrapper

My first step in this project was to add the “vst~” object to a new Max patch. In my case I took the “Comeback Kid” VST and placed it in my patch. This simple act turned the Max environment into a host for the VST plugin.

I you cannot find the plugin immediately in the Plugin view, try to scan for plugins in the preferences section.

Scan for Plugins

Find your plugin and drag and drop it to your patch.

Find your plugin

In this case the Comeback Kid plugin.

Embedded plugin in max for live patch

Connect the parameters for vst~

Once you have successfully embedded the third-party VST plugin into your Max for Live device using the vst~ object, the next crucial step is to establish connections between the Max for Live parameters and those of the VST plugin. This will enable you to control the VST plugin directly from the Ableton Live interface, creating a seamless integration that feels native to your setup.

This is were the message object comes into the game.

Manipulating vst~ via the message object

In Max for Live, managing VST plugin parameters dynamically can be efficiently handled using the message object. This method allows real-time control over the VST’s parameters through simple, scripted messages, making it a powerful tool for both live performances and studio settings. Here’s how you can implement this using the message object to send commands to your vst~ object:

Understanding the Message Object

The message object in Max is a versatile component used to send specific instructions or data to other objects within your patch. You can manually enter predefined messages or generate them dynamically via other parts of your Max patch.

Format of Messages for VST Parameters

When dealing with VST plugins via the vst~ object, the message object’s typical format for parameter control involves two key components:

Parameter Number: This is the index of the parameter you want to control. The index corresponds to the list you would obtain from sending a getparamnames message to the vst~ object.

Parameter Value: This is the value you wish to set for the parameter. The range and type of value will depend on what the specific VST parameter can accept, such as a float for a continuous knob or an integer for a switch.

For example, if you want to set the third parameter of the VST to a value of 0.5, you would type 3 0.5 into the message box.

So in my case I just send 2 params to the Comeback Kid plugin using 2 live.dial objects.

Then I routed the values to a message object targeting the wanted VST parameters. In this case “Feedback” and “Richer”.

Sending params using a message object

Then just add the objects you want to have in your Max 4 Live plugin to the “presentation view”.

Dont forget to check the “open in presentation” flag in the inspector window.

Add to presentation in M4L inspector

Ready is your wrapped plugin in Ableton.

The finished device added to Ableton

April 1, 2018
🚧 thought drafted
Sunday, November 1, 2020
🌎 published
Thursday, March 14, 2024
🔨 last modified
in love with audio & MIDI since 1999