MPE not passed on to external midi devices

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.

Hi SquidgyB,

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.

Not if the Midi Track I/O is set to “All” as shown in your screenshot.

How the Cubasis “Midi Thru” function works as expected in my Setup :

iPAD 10.5,iOS 12.1.1,Cubasis 2.7

Motif ES8 Masterkeyboard Midi Receive/Send on I/O Channel ID 1, in “local off” Mode
Montage 6 Keyboard Midi Receive I/O on Channel ID 3
Magelan iAA App Midi Receive I/O on Channel ID 5

Cubasis Project:

  • Midi Track 1, input Midimate Port 2, Ch 1, Midi Thru On, output Midimate Port 1, Channel 1 (Motif Hardware)
  • Midi Track 2, input Midimate Port 2, Ch 1, Midi Thru On, output Midimate Port 1, Channel 3 (Montage Hardware)
  • Midi Track 3, input Midimate Port 2, Ch 1, Midi Thru Off, output off ( AU Roli)
  • Midi Track 4, input Midimate Port 2, Ch 1, Midi Thru On, output (Magellan iAA), Channel 5

In this configuration only the selected armed midi track receives midi from the Masterkeyboard,
all other tracks do not receive midi input from Masterkeyboard.

Maybe I misunderstand you, so please send us a detailed short configuration description in the form I did above,
so i can test how you configured it.

thank you
Jan

Hi Jan,

Many thanks for the reply.

I’ll write up a proper description when I am home and can set up the devices, but the test can be done with one track, a Seaboard as input and any MPE capable external synth as an output.

My test setup is:

Midi Track 1, input Seaboard Block via bluetooth, CH ALL, Midi Thru on, output Micromonsta, Ch ALL

MPE should provide all 16 channels passed from input to output individually, on one “port”. Currently, channels are “muxed”, if that’s the correct term, so input on any channel is duplicated to ALL channels.

For MPE to work correctly the channels should all be separate, i.e. midi Thru, Input ALL and Output ALL should send midi input from channel 1 to midi output on channel 1, midi input on channel 2 to midi output channel 2, and so on through the 16 channels.

This may be a feature request rather than a bug, in all honesty, but with the new support for MPE for internal synths (e.g. Animoog) I would expect support for external devices similarly.

I’ll gladly post a feature request for Midi Thru granularity if that’s what is needed, I’m not sure if Cubasis “officially” supports MPE to external devices yet. It seems not as currently implemented. :slight_smile:

Hi SquidgyB,

Thanks too for your fast feedback.

I’ll write up a proper description when I am home and can set up the devices,…

That is no longer necessary, your last info is sufficient.

I’m not sure if Cubasis “officially” supports MPE to external devices yet. It seems not as currently implemented.

Yes, that’s the problem. Cubasis does not support MPE yet.

It’s on our feature request list as CBT- 604 for a future update.
We cannot say when this will be implemented.

greetings
Jan

Hi Jan,

Awesome, I’m glad it’s at least a known request.

I did try an alternative method, by placing an output to AUM as an instrument, rather than attempting to use the Midi Thru or Midi Effect as an output, and while midi does appear to be being sent to the correct channels in this way, somehow some midi information is lost, and only one or two channels are working correctly.

I’ll wait for the correct implementation, however long that may be, and work around it with any alternatives I can come up with.

Thanks for checking it out in any case :slight_smile: