[HOWTO] MIDI configuration, routing and mapping

[HOWTO] MIDI configuration, routing and mapping

MIDI Basic Configuration

Display the MIDI configuration tab (config -> RP menu item) and make sure all devices you want to use are assigned.

MIDI Routing Configuration (MIDI-through)

You can route any MIDI input device (all 16 channels) to any MIDI output device quite easily in the same dialog.

Please note that this kind of "through" connection is done at the driver level and thus has minimal latency, as events are forwarded to the output device exactly when they are received. MIDI events processed by the application (input -> some process -> output) will have more latency.

Note also that all events received on a MIDI input device will always be available to the application (ie: even when a MIDI routing is enabled, it is possible to use the input device data at the same time)

Filtering MIDI input messages

Messages can be filtered by type at four different levels:
  1. for all MIDI input devices (global)
  2. per MIDI input device
  3. per MIDI input channel
  4. per module

In the MIDI configuration tab click the "Configure input filters" button and the MIDI filters configuration dialog will pop up.

Select the filter you want to setup and make sure the corresponding "Enabled" check-box is ticked, then click the appropriate "Configure" button. This will popup the following individual filter configuration dialog.

From there you can select which messages types will be filtered or not.

Mapping MIDI messages to control ports (module parameters)

You can map nearly all types of MIDI messages to any control port in the patch using the "Quick MIDI map" function.

Supported mapping sources:
- 7 bit control change messages (default)
- 14 bit control change messages
- Note velocity messages
- Note aftertouch messages
- Channel pressure messages
- Pitch bend messages
- Program change messages

Supported mapping types:
- Linear mapping (default)
- Inverted linear mapping
- Exponential mapping
- Logarithmic mapping
- On / off switch
- Inverted switch
- Increment
- Decrement
- Jog Wheel

With the auto-learn mode (on by default), all mapping parameters (excepted mapping type) are automatically detected.

Steps to create a MIDI control mapping:
1) Right click on any control: pot, fader, button etc (works on VST wrappers and internal modules but not on VST original GUI, you must use another method in this case, see next section)
2) In the context menu select "Quick MIDI map..."

3) Quick MIDI mapping dialog will popup

4) Optionnally: select mapping type if you don't want a linear mapping
5) Move your controller, mapping is auto created

Note: this also works for application ports like the Audio Monitor volume or the Screen Switcher active screen. Right click on the floating windows to display their context menu.

Mapping VST parameters and global application control ports

When VST plugins are displayed using their own GUI, the quick MIDI map feature is not directly available. Instead you must right-click on the RP part of the GUI wrapper to display the module context menu and select the "Mappings..." entry.

From there it is possible to launch the quick MIDI map cinematic for any parameter and more.

Note that all mappings for the entire document, including the global application control ports are listed in the Live Synopsis, accessible from the live menu.

Routing MIDI keyboard to any instrument

Make sure your MIDI keyboard channel is properly configured if you want to use this feature.

If a MIDI keyboard is configured, it will be automatically routed to the module having control focus (displayed by a green frame around its GUI)

Steps to send notes to any instrument:
1) Click on the instrument GUI to put the control focus on it (for VST modules you need to click on the RP part of the GUI)
2) Play notes on the keyboard

You can lock the MIDI keyboard to any module by right-clicking on its GUI to display the context menu and selecting "Lock MIDI keyboard". Do the same action again to unlock. Once locked the MIDI keyboard no longer follows the control focus.

Note: some modules can't receive MIDI/notes, in which case the menu item will be grayed

Using the computer keyboard to send notes to an instrument

First make sure the keyboard mapper is properly configured. If not, follow the setup and calibration procedure.

Display the Keyboard Mapper (Ctrl+Alt+K or View -> Keyboard Mapper) and select any key (for instance the "K" key) and create a new mapping by clicking "New" on the Keyboard Mapper window.

Select "Special: submap key" for mapping type, then select "Keys" for SubMap type and click "Ok" to create the mapping.

Now the "K" key (or whatever key you chosed) will be the gateway to a "keys submap". Press the "K" key once to enter the new submap. Press the "Escape" key to go up one level and return to the main map (or click on the "Parent" button next to the submap name on the keyboard mapper window)

At this point all keys are pre-assigned as note mappings and you can see the module having control focus on the Keyboard Mapper window (Control Focus box) All keys are automatically redirected to the focused module.

You can lock the keyboard mapper focus to any module by right-clicking on its GUI and selecting "Lock keyboard focus" in the context menu. When locked the keyboard mapper no longer follows control focus.

Using the virtual keyboard to send notes to an instrument

Display the virtual keyboard (Ctrl+K or View -> Virtual keyboard) and bring the control focus to any module able to receive notes. You can play right away.

Routing MIDI input to any module permanently

If a module can receive MIDI data, you can permanently route any channel (single mode) or all 16 channels (omni mode) of a MIDI input device to it.

Right-click on the module GUI to display the context menu and select "Receive MIDI from", then chose either "single" or "omni" mode and select the proper channel or proper device.

You can remove the routing by selecting "none" in the same context menu.

Any number of modules can receive MIDI from a same source using this mechanism, so one channel could be used to control several modules (but using separate channels is recommended)

Routing MIDI output from a VST to another module (interlink)

When a VST plugin can send or process MIDI data (ex: sequencers, arpeggiators, MIDI effects, etc.) a special entry will be available in the module context menu labeled "Send MIDI".

From there you can select the target module that will receive the MIDI data generated by this module.

Note that any MIDI filters or effects currently active on the target module MIDI input port will be applied in the same way as any other MIDI data received.

When creating interlink chains (ex: module A -> module B -> module C) you must ensure that the modules are executed in the right order. For this go to the "patch" menu and select the "Execution order..." entry.

From there you can alter the execution order by increasing the module weights.

Adding internal MIDI effects to a module MIDI input (ex: creating keyboard splits / layers / merges)

All modules able to receive MIDI can have optional MIDI effects applied to their MIDI input. To configure these effects, use the "MIDI effects" entry in the module context menu. Effects have a tick next to their name in the menu when they are enabled.

To create keyboard splits, layers and merges you must configure the "Notes range" and "Notes transpose" MIDI effects. By limiting modules to a certain notes range, you can divide your MIDI keyboard amongst several instruments, and by transposing individual modules up or down you can have them play at the correct octave.

Sending MIDI to external instruments and effects

In order to use the MIDI output devices to send MIDI messages to external instruments or effects, you need to add instances of the special "External MIDI Gear" module (found in the controllers category)

Add one instance of this module in your patch per external gear you want to control.

Then you can control, map and and automate the module parameters as usual, and the apppropriate MIDI messages will be automatically sent to the external gear.
Live Factory Team

Subscribe to our newsletter