Login / Register 0 items | $0.00 New @ KVR
cjdickey36
KVRer
 
1 post since 18 Jul, 2018

Postby cjdickey36; Wed Jul 18, 2018 9:02 am Automation Tracks Generate Excessive Control Change Messages

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.

Thoughts?
mutools
KVRAF
 
9493 posts since 24 Jun, 2008, from Europe

Postby mutools; Wed Jul 18, 2018 10:51 am Re: Automation Tracks Generate Excessive Control Change Messages

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

Moderators: mutools, muzycian

Return to MUTOOLS