Watch out, this tutorial covers features that are only available in Live and Trial editions. Start users can upgrade now!
This tutorial aims to help you understand how to combine Vezér and HeavyM. To follow it, you’ll need both apps. You can get a trial of HeavyM here (or download it directly if you have a license). And you can also get a demo version of Vezér on their website (only on Mac OS, see bottom of the page Windows alternatives).
As per their website, “Vezér is a versatile, feature-packed and timeline based MIDI, OSC and DMX sequencer made for audiovisual artists.” Of course, there’s already a sequencer in HeavyM, but Vezér allows you to go further and create timeline automations for many parameters. It uses the OSC protocol to let you control all the parameters in HeavyM that have an OSC address. It might seem complicated, but Vezér is actually quite intuitive to use!
In this tutorial, we’ll give instructions on how to connect HeavyM and Vezér and a few pointers to get started with timeline automation. Check out the video tutorial below, or follow the step-by-step instructions after it.
Find all HeavyM OSC messages and arguments here.
Connecting Vezér and HeavyM
Note: to communicate via OSC, both apps have to use the same network, but they don’t necessarily have to be on the same device.
In Vezér, open OSC tab in Vezér → Preferences.You don’t have to change any field in this panel, but you’ll need some of the information displayed there.
At the same time, open HeavyM. First, you have to enable OSC Control by ticking the option in the Controls menu.
Then, still in the Controls menu, open the OSC Settings.
In the “Incoming” input field, you have to enter the OSC Output Port number from Vezér. And in “Local IP address”, write the address that is in light gray in the Vezér panel. Like this:
Using Vezér to control a parameter in HeavyM
First, you have to create a project and add some shapes in HeavyM. Here, we’ll use a simple circle (in the white group). By default, this circle has a white border. For this example, we’re going to animate its thickness.
To do this, we need the OSC address that corresponds to the Border thickness value: it’s /BorderWidth (the complete list of OSC messages can be found in the OSC tutorial.)
In Vezér, create a new project and use the + button at the bottom of the Tracks panel to add an OSC Value track.
Then, use the address input field to enter our OSC message /BorderWidth.
Finally, click on the gear icon to access the window in which we’ll define the type and range of the argument that is sent with this message. Select “Integer” as the “Type” and 0 and 127 as Min and Max values respectively.
Note: all the details on OSC messages and their arguments are in the OSC tutorial.
Since we’ve put the full range (0 to 127) in the settings, our value will vary between the minimum and the maximum for thickness in HeavyM (0 to 15).
Now, you have to add “keyframes” in order to draw the variation of our parameter over time. To add a keyframe, double-click on the timeline, you’ll see an orange point appear. You can drag it to set its X-position (time) and Y-position (value).
Note: if you want to be really precise, you can also select the keyframe and write directly in the corresponding input fields in the track settings (T for time and V for value).
Add a second keyframe and you should see a straight line between your two points: it’s the variation curve of the thickness value. Hit the play button on the Vezér timeline (or press “space”) and watch what happens in HeavyM:
Note: try to make a steep function or reduce the duration of the track in Composition → Composition Preferences… to see the thickness vary faster.
That’s the basic variation, but now you can try to add more keyframes and use different types of interpolations between them.
The interpolation defines the behavior of our value between two keyframes. Until now, we’ve only used the default “Linear” interpolation that draws a straight line between keyframes and thus makes the variation speed continuous. To change the interpolation method in one segment, right-click on a keyframe, you’ll see a long list of choices! For instance, you can choose to have “no interpolation”, which will create a non-continuous function and the thickness will only vary by steps. Or you can try one of the fancy ones in the list and see how it affects the visuals!
Now it’s up to you. We’ve only covered the basics in this tutorial, but there are endless possibilities! Vezér has many more features, for example you can add multiple tracks and thus create different timeline automations for multiple HeavyM parameters at the same time (there’s an example of this in the video tutorial at the top of this page.) Try to find the combinations that suit your mapping project best.
A few tips before you go:
Don’t forget to refer to the OSC documentation page to find all available OSC messages and their arguments in HeavyM. Know that they’re not all about effects, there are also playback controls for sequences and players for instance.
Check out the Vezér Help space to learn more about all the features.
In Vezér, you can save OSC presets. They are really useful if you need a quick access to some messages you use a lot. In the OSC address input field of a track, click on the list icon to unfold the list of presets. You’ll see that there are already some for other apps. (A preset contains the OSC message as well as its argument type and value range.)
Simply save your favorite HeavyM ones in a new folder or directly download the presets files for all messages (the .plist files have to be put in the Presets folder, accessible from Vezér via Vezér → Reveal OSC Presets…)
Lastly, if you’ve just discovered the power of the OSC protocol, go read our tutorial on how to control HeavyM from a smartphone app using OSC!
Windows alternatives to Vezér
Since Vezér is only available on Mac OS, here are a few alternatives for Windows users:
(* denotes open source)
While all these have some kind of OSC sequencer, they can have quite different features than Vezér. (Also, we don’t guarantee their stability or quality!)