Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
midi_routing_for_multi_input_processing [2020/03/05 06:25] – Updated title _ki | midi_routing_for_multi_input_processing [2020/03/05 07:29] (current) – Fixed typo in tag _ki | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== Midi routing for multi-channel-midi processing plugins ====== | ====== Midi routing for multi-channel-midi processing plugins ====== | ||
+ | ~~NOTOC~~ {{tag> | ||
+ | |||
+ | **Table of Contents:** | ||
+ | * [[#Standard routing]] | ||
+ | * [[#Naive approach]] | ||
+ | * [[#Working solution]] | ||
+ | * [[# | ||
===== Standard routing ===== | ===== Standard routing ===== | ||
Line 9: | Line 16: | ||
. | . | ||
- | ===== Naive approach | + | ==== Naive approach ==== |
If midi processing plugins are involved that take multiple instruments as input, one might think that one could simply route all generators to the plugin and let all instruments read from the plugin. But then all instruments would play the notes of all generators as that is the output of the processing plugin. | If midi processing plugins are involved that take multiple instruments as input, one might think that one could simply route all generators to the plugin and let all instruments read from the plugin. But then all instruments would play the notes of all generators as that is the output of the processing plugin. | ||
Line 26: | Line 33: | ||
. | . | ||
- | ===== Some problems | + | ===== Work-arounds for problem cases ===== |
- | Everything working now ? Mostly - there are some tiny problems with the above solution: | + | |
- | * Output channel on the midi generator side | + | |
- | * There are midi generators that don't allow to specify the output channel | + | |
- | * There are midi generators that have a setting for the output channel, but don't statesave it - so every time when reloading the sesssion one has to setup the output channel again | + | |
- | * The [[midi_au_output_channel|midi au output channel wiki page]] summarizes all midi generating plugins regarding their ability to specify the midi output channel and state save this value. | + | |
- | * Routing the midi | ||
- | * Some hosts lack complex midi routing and only support midi plugins for a single track/slot | ||
- | |||
- | * Input channel filter on the instrument side | ||
- | * There are host that don't offer a midi input filter for their instrument slots | ||
- | |||
- | ===== and work-arounds ===== | ||
- | There are solutions for all of the above problems | ||
- | |||
- | \\ | ||
=== Set Output Channel === | === Set Output Channel === | ||
- | If a generator plugin by itself wont't change channel, or forgets its channel settings one can allways insert a midi channel modifying plugin into the connection between the problematic generator and the multi midi input processing plugins forcing everything onto a specifiy channel. | + | If a generator plugin by itself wont't change channel, or forgets its channel settings one can allways insert a midi channel modifying plugin into the connection between the problematic generator and the multi midi input processing plugins forcing everything onto a specifiy channel. The [[midi_au_output_channel|midi au output channel wiki page]] summarizes all midi generating plugins regarding their ability to specify the midi output channel and state save this value. |
* **Midi Tools:** Use the included ‚Midi Clone and Filter‘ plugin | * **Midi Tools:** Use the included ‚Midi Clone and Filter‘ plugin | ||
- | * **StreamByter:** Force channel | + | * **[[StreamByter]]** script: [[streambyter_force_channel|Force Channel with GUI]] |
- | * **Mozaic:** [[https:// | + | * **[[mozaic_plugin_engine|Mozaic]]:** script: |
\\ | \\ | ||
=== Host without midi matrix | === Host without midi matrix | ||
- | + | If a hosts lack complex midi routing and only support midi plugins for a single track/slot, there is a pair of Mozaic scripts for host-wide midi transmission. | |
- | * **Mozaic:** RadioMidi Transmitter and RadioMidi Receiver | + | * **[[mozaic_plugin_engine|Mozaic]]** script: |
\\ | \\ | ||
=== Apply Input Channel Filter | === Apply Input Channel Filter | ||
+ | If a host doesn' | ||
+ | * **[[StreamByter]]** script: [[streambyter_channel_filter|Channel Filter with GUI]] | ||
+ | * **[[mozaic_plugin_engine|Mozaic]]** script: [[https:// | ||
- | * **StreamByter: | ||
- | * **Mozaic:** [[https:// | ||
- | {{tag> |