fbpx
Skip to main content

MIDI Forum

Send redundant CC m...
 
Notifications
Clear all

Send redundant CC messages?

2 Posts
2 Users
0 Reactions
1,710 Views
Joern
Posts: 1
New Member
Topic starter
 

Hello,

I have a question about MIDI specification 1.0:

Usually the faders and knobs of a MIDI controller have a much higher resolution than MIDI, so their values
are converted to the 0-127 (int) MIDI range. So when I move a fader slowly the conversion result can be the
same integer value several times before the next step from 0-127 is reached.
All MIDI controllers I know output a CC message with a certain value only ONCE and then stay quiet until the
next step is reached. So whatever I do, no matter how slow I move a fader the CC message goes 89, 90, 91, 92.

Now I came across a controller that sends the same CC value multiple times.
If I move the fader slowly it goes 89, 89, 89, 90, 90, 90, 91, 91, 92, 92.

It does not cause any direct harm, but I'm curious if this complies with MIDI specification.

I can't see any use in sending the CC message multiple times - it is redundant, the receiving device just does not
change anything when receiving the same CC value several times. So no benefit on the pro side.

On the negative side I see possible problems with very old MIDI devices that tend to get in trouble with processing
data input in time or crash when receiving too much (in this case unnecessary) MIDI data. And while it does not really
matter for USB MIDI, the oldschool hardware MIDI 1.0 connections have a very low bandwidth, so flooding them with
unnecessary data seems not advisable as it can easily cause timing problems.

So my question is:
Do you think the points on the negative side are valid?
Does the MIDI 1.0 standard forbid or advise against sending redundant data?
If not, is it considered good practice not to send redundant data (as I said all controllers I know follow this practice)?

Thanks in advance!
Joern

 
Posted : 15/10/2023 5:58 pm
Jason
Posts: 441
Honorable Member
 

Generally if there is too much data, it is all happening at the same time/tick. You are turning the wheel slowly, which means that even though the CC values are the same, the data itself is still spread out much too far to ever cause an issue. The only time you might have problems in a situation like this is if instead of just the few values being the same, you had hundreds or thousands all happening at the same time/tick, like if the wheel were continuously pouring out massive amounts of commands rather than just when you were making the adjustments. So from a single wheel/controller aspect, it should not be anything to be concerned about.
Redundant data is perfectly valid. The latest value is the value that gets set, so if it is already set, theoretically nothing will happen, aside from the device receiving and checking it.

 
Posted : 15/10/2023 9:51 pm
Share: