Start typing to search...

Using MIDI with Aximmetry

Please note that this is a BETA version of the document. All information presented is correct but we are working on improving the details


Using MIDI controllers with Aximmetry requires an understanding of the MIDI protocol and messages. In this article, we will describe how to receive MIDI messages, with which you can control Aximmetry, and we will also show how to send MIDI messages from Aximmetry.

MIDI hardware (controller)

MIDI hardware devices do not require additional setup procedures besides connecting them to the PC running Aximmetry.
This connection can be basically any kind, for example, USB, Ethernet, WiFi, MIDI connector, etc.

MIDI software

The software solutions usually involve two parts:

  • Client Side: an application that is responsible for sending MIDI commands.
  • Server Side: an application that is responsible for receiving MIDI commands.

Controlling Aximmetry with MIDI

We will separate incoming MIDI messages into two categories, mostly based on usage:

  • basic messages that are used mostly to control buttons and properties
  • messages used for controlling the Flow Editor

Controlling module properties and control board buttons

The usual scenario is that the incoming MIDI messages only contain an address and a single floating-point number (or alternatively an integer, logical or double value). This kind of message can be used to control properties and buttons.

Right-click the name of a numeric or a logical property or a control board button and choose Assign Midi...

Then simply send the appropriate MIDI message from your controller device (e.g. move a fader or press a button) and the assignment is made.

Controller button types


When initializing the button, Aximmetry will map the button's range to the value's range.


When initializing, Aximmetry will map the button's range and set the range's minimum to the current position of the button.


When the button is used, it will toggle between the minimum and maximum values.

Increment / Decrement

When the button is used the value will be either increased or decreased.


When the button is used, the value will be reset to the default value.


When the button is used, the value will be reverted to the previously used value.

Midi Assignments

To see and manage all the MIDI assignments you made in your compound go to File / Properties / MIDI Assignments.

You can quickly unassign one or all controller(s) directly from the Pin Values panel after right-clicking on the value's name.

Controlling the Flow graph

You can also build controlling structures within the flow graph using MIDI modules.

All of the MIDI-related Modules can be found in Insert Module. To make it easier to find them, search for "midi":

Learn function

All Midi input modules have the Learn function. If you enable it, Aximmetry will automatically detect the type of controller you are using.


The MidiTrigger module sends a signal each time a Midi message containing any non-zero value arrives.
This, as the name suggests is very useful if you want to trigger an action in Aximmetry.

For example, start a recording:

Note & Note Range

Since MIDI was initially designed to be a Musical Instrument communication protocol, most of the Client side apps will have Music Instrument controls. That is why we can find Music Instruments (on these apps) besides simple sliders and rotators, such as a Piano. Thus, allowing MIDI to send musical notes.

For example, we can receive a musical note through the MIDI Note module, and then with a Note to Freq module, we can transform the note to a frequency. Then, we can use this frequency with an Audio Filter module as a cutoff Frequency.


Using the MIDI Controller module, we can get MIDI commands from our controller.

For example, with a slider, we can control the exposure of our video input:

By default, the Min and Max values are set to 0 and 1 respectively. You can change them based on your needs.

You can pick the type of controller manually, but you can also use the Learn feature, mentioned before


Outputs the last used Bank and Program of a given Channel.


This module allows you to send MIDI messages through Aximmetry from one device to another.

Device: input device
Out Device: output device

Sending MIDI from Aximmetry

For the opposite scenario, when you want to control external devices from Aximmetry via MIDI use the MIDI * Out modules.

For these, you have to specify an output device and a target channel.

You can output as a Controller, a Note, or a Program, using their respective module.

MIDI Controller Out

You can decide what type of Controller to emulate and Value and towards what Device and Channel you want the signal to be sent.

MIDI Note Out

Using the MIDI Note Out, you can send a musical Note to a Device.

MIDI Program Out

Sends out the Bank and Program of the last used given Channel to a Device.

Article content