[HOWTO] MIDI configuration, routing and mapping
#1
MIDI Basic Configuration
MIDI Routing Configuration (MIDI-through)
Filtering MIDI input messages
Mapping MIDI messages to control ports (module parameters)
Mapping VST parameters and global application control ports
Routing MIDI keyboard to any instrument
Using the computer keyboard to send notes to an instrument
Using the virtual keyboard to send notes to an instrument
Routing MIDI input to any module permanently
Routing MIDI output from a VST to another module (interlink)
Adding internal MIDI effects to a module MIDI input (ex: creating keyboard splits / layers / merges)
Sending MIDI to external instruments and effects
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)
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:
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.
- for all MIDI input devices (global)
- per MIDI input device
- per MIDI input channel
- 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
- NRPN
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.
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
- NRPN
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.
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
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.
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)
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.
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.
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.
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
Live Factory Team
Member info
Live Factory Team
Country: France
Joined: Nov 15 2009
Joined: Nov 15 2009