M4L : About multiple midi channel outputs in Ableton Live
I'd like at the same time to express my frustration about the fact that a M4L device "cannot" output MIDI to several channels, and also would like some technical advice/explanation if possible.
It would be extremely useful to be able to output midi to several channels from a single M4L device. There are countless applications for this.
One of my frustrations is the fact that we can't address MPE voices explicitly. When MPE was included in Ableton Live, I thought it would solve the issue. But Live does its own thing with MPE voice allocation, discarding any voice allocation made in a patch. Is there a technical reason for that ?
Also, I discovered that using the "MaxForLive" Control Surface, we are able to send data to several MIDI channels simultaneously. (see attached patch)
So, the ability is already here, since MPE output is multichannel by nature, and also the Control Surfaces are able to handle multichannel MIDI. Why then is it not (easily) possible to make multichannel patches ?
Finally, regarding the Control Surface workaround, I'd like to know if it's reliable : does it have latency ? Can it handle large amounts of data properly ?
But Live does its own thing with MPE voice allocation, discarding any voice allocation made in a patch. Is there a technical reason for that ?
Yeah, I find this a limiting and frustrating as well! My assumption is that this is done in order to allow for Device Racks. Device Racks with parallel Chains can duplicate input notes, or add new notes, creating all kinds of potential conflicts.
As to why doing this in MPE is substantially different than with regular MIDI notes... maybe the issue is that with regular MIDI the only potential conflict point is on Note/Pitch (of which there are 128), whereas with MPE it's on channel (only 15 choices), so the number of conflicts encountered would be much higher.
This is all speculation, of course...
I wrote to c74 support and they replied that it's a 100% Ableton issue.
So I'll contact Ableton support and post the infos, if any.
Can you describe what you call the problem here?
Regarding the control surface calls: these will be low priority like all calls to the API and therefore not usable to keep stable timing of notes. I successfully route midi in Live from one channel to multiple others and from multiple channels to one, but that doesn't include any MPE data yet, so I'm wondering what exact use case you're looking for to know if my system would be able to do it.
@11OLSEN :
Several scenarios,
But to name a few :
Sequence my Elektron Analog Rytm (12 voices/12 MIDI channels) from one Ableton Track
Round-Robin between several hardware MIDI synths without having to send MIDI to several MIDI Tracks
Ability to make true polyphonic sequencers in M4L (I mean display several monophonic lines simultaneously)
Currently the best trick for midi notes is to tag each note with a dedicated CC. For instance, prepend each note with CC 0, the value of the CC being interpreted as the voice number. This works well and without latency but still needs one track per channel.