Automation Tracks Generate Excessive Control Change Messages

Official support for:
1 posts since 18 Jul, 2018

Post Wed Jul 18, 2018 9:02 am

I recently set up some automation sub-tracks to generate control changes for a MIDI device. After drawing a few points and curves, and setting up my USB-to-MIDI cable, I was able to get the results I desired. However, I soon found that my actual MIDI note commands were getting swamped in the control change messages.

What I discovered is that curves and lines with slope (i.e., not horizontal or vertical) generate a ridiculous number of control change messages. I piped the output into a MIDI loopback app, which reported ~5000 bytes/second for 3 control change tracks. This equates to something like 700 updates per second. It explains why the USB-to-MIDI cable was choking.

Worse yet, some of the lines I drew looked horizontal and appeared to have the same value at both ends (within 0.1, which is as many digits as MuLab displays), but still generated hundreds of updates per second.

Since MIDI control change messages only have 127 possible levels (7 bits), it doesn't make sense to output a new control change message unless the output value has actually changed. In some of my tracks, it was the same value every time, for seconds on end.

The problem can be worked around in my application by ensuring that horizontal lines are truly the same value at each endpoint (via numerical entry), and by using a MIDI loopback application to overcome the speed of true electrical MIDI. Somehow, the receiving app (a lighting controller) hasn't balked at receiving 5000+ control changes per second during ramping. However, I'd like to be able to send control changes to actual MIDI devices eventually.


9543 posts since 24 Jun, 2008 from Europe

Re: Automation Tracks Generate Excessive Control Change Messages

Post Wed Jul 18, 2018 10:51 am

It's a known issue in M7. This will be improved in M8.

Return to “MUTOOLS”