Summary:
Individual midi channels passed through Cubase using midi Thru are copied to all 16 out midi channels, causing MPE to be disrupted when using an MPE controller and an external MPE midi instrument.
Description:
Using an MPE controller, routing directly to MPE capable external midi devices (using midi thru) appears to send midi data from one channel on the input to all channels on the output, rather than discrete input to output channel mapping.
Expected results:
Midi through should pass midi on a discrete per channel basis, when midi input channel set too “ALL” and midi output channel set to “ALL” (as per the screenshot below). Midi input on channel 1 should route to midi output on channel 1, and so on through the 16 midi channels.
Actual results:
Incoming midi on any channel is duplicated to all 16 channels on the midi output. As such, MPE control of external devices is not currently working.
Environment:
Test setup:
Seaboard Block as input device, hosted by Cubasis using bluetooth midi, as per the instruction video. MPE set to “Lower zone” - channel 1 MPE master, 2>16 MPE polyphony channels.
Micromonsta MPE enabled synth connected via USB midi. Set to Channel 1 MPE master, 2>16 MPE polyphony.
Roli Noise app to test internal MPE.
Streambyter midi effect used with an external AU host (AUM) to capture external midi streams before and after Cubasis. Also tested with no external host, directly mapping Seaboard to Cubasis to Micromonsta - identical results (can be confirmed audibly by modifying the slide CC, typically CC 74 polyphically on the Seaboard. Working correctly, individual filters are modified on each note - when channels are duplicated as per current implementation, stuttering is heard when the filter CC value is modified by two or more notes simultaneously).
Striking an individual note plays a note and a series of CC changes on a single channel. As seen in the screenshot below, this midi information (in this example playing on channel 4) is being duplicated across all 16 midi channels.
Correct implementation would be to map incoming midi channels individually to outgoing midi channels on each track. Users may be using current functionality to duplicate identical midi streams across multiple synths/midi channels, so maybe adding a 1-to-1 midi channel mapping option under midi routing would suffice?
e: I should note that MPE works perfectly with internal instruments, the midi channels are passed on to the AU/IAA instrument as expected. Attempting to “intercept” the midi signal by using a routing effect appears to show the same issue - individual input channels are mapped to all output channels for Midi effects as well, as far as I can tell.