I am adding IR remote control support for the MBMixer. The format of IR remote signals are basically a bunch of “Volume Up” and/or “Volume Down” commands, just keep them coming until you reach the correct level. It is not generally possible for the remote to know or care what the absolute position of the setting is.
After looking over the MIDI standard, it would appear that the “Data Increment” and “Data Decrement” messages are exactly what I need. at the first remote key press, I would need to send the RPN or NRPN prefix to indicate that the following increments and decrements are intended to be volume controls.
First bad news, there appears to be no RPN for “Volume Control”. I can use an NRPN, but then my method will only work with MBMixer boards.
Especially since the IR to MIDI receiver will be a separate module, it would be a lot more useful if it could work with other equipment too. I don 't have enough experience with studio mixing boards to know if there is already some standard out there for this. If there is already a “normal” way of doing this, I’ll go along with that. Creating a private NRPN is the last choice.
I suppose another way out would be to use SysEx to poll the mixer for the current levels, and manage a absolute settings from there. But that assumes that there is a standard way to poll for level settings.
So my question: Is there a common/standard/manufacturer specific way to manage this? If so, where can I get more information? Is there one brand of MIDI-automated mixer that is considered the “Standard”?
I can make it work “my way”, but the more compatible I am with the rest of the world, the better.
I have a B*hringer CM8000 VCA mixer, which may have been (semi)pro-equipment in the last century…
Its stupid software controls it via Rs232, but since those units can be daisychained via midi, the unit itself ouputs the following, when faders are moved in the software:
TIMESTAMP IN PORT STATUS DATA1 DATA2 CHAN NOTE EVENT
001EC457 4 -- 98 00 01 9 C -1 Note On
001EC47E 4 -- 98 00 02 9 C -1 Note On
001EC4B7 4 -- 98 00 03 9 C -1 Note On
001EC4EE 4 -- 98 00 04 9 C -1 Note On
001EC50F 4 -- 98 00 05 9 C -1 Note On
001EC517 4 -- 98 00 06 9 C -1 Note On
001EC52E 4 -- 98 00 07 9 C -1 Note On
001EC547 4 -- 98 00 09 9 C -1 Note On
001EC556 4 -- 98 00 0A 9 C -1 Note On
001EC55E 4 -- 98 00 0B 9 C -1 Note On
001EC56E 4 -- 98 00 0C 9 C -1 Note On
001EC586 4 -- 98 00 0D 9 C -1 Note On
001EC58F 4 -- 98 00 0E 9 C -1 Note On
001EC59F 4 -- 98 00 0F 9 C -1 Note On
001EC5A7 4 -- 98 00 10 9 C -1 Note On
001EC5B6 4 -- 98 00 11 9 C -1 Note On
001EC5CF 4 -- 98 00 12 9 C -1 Note On
001EC5DF 4 -- 98 00 13 9 C -1 Note On
001EC5E7 4 -- 98 00 15 9 C -1 Note On
001EC5FE 4 -- 98 00 17 9 C -1 Note On
001EC60E 4 -- 98 00 18 9 C -1 Note On
001EC616 4 -- 98 00 19 9 C -1 Note On
001EC626 4 -- 98 00 1C 9 C -1 Note On
001EC62F 4 -- 98 00 1D 9 C -1 Note On
001EC63E 4 -- 98 00 20 9 C -1 Note On
001EC647 4 -- 98 00 23 9 C -1 Note On
001EC656 4 -- 98 00 25 9 C -1 Note On
001EC65F 4 -- 98 00 28 9 C -1 Note On
001EC66F 4 -- 98 00 2A 9 C -1 Note On
001EC678 4 -- 98 00 2D 9 C -1 Note On
001EC686 4 -- 98 00 30 9 C -1 Note On
001EC68E 4 -- 98 00 31 9 C -1 Note On
001EC69E 4 -- 98 00 34 9 C -1 Note On
001EC6AE 4 -- 98 00 35 9 C -1 Note On
001EC6B7 4 -- 98 00 38 9 C -1 Note On
001EC6C7 4 -- 98 00 39 9 C -1 Note On
001EC6CE 4 -- 98 00 3A 9 C -1 Note On
001EC6DE 4 -- 98 00 3B 9 C -1 Note On
001EC6E6 4 -- 98 00 3C 9 C -1 Note On
001EC6FF 4 -- 98 00 3D 9 C -1 Note On
001EC70E 4 -- 98 00 3E 9 C -1 Note On
001EC717 4 -- 98 00 3F 9 C -1 Note On
001EC72E 4 -- 98 00 41 9 C -1 Note On
001EC73E 4 -- 98 00 42 9 C -1 Note On
001EC756 4 -- 98 00 43 9 C -1 Note On
001EC76E 4 -- 98 00 44 9 C -1 Note On
001EC77E 4 -- 98 00 45 9 C -1 Note On
001EC786 4 -- 98 00 46 9 C -1 Note On
001EC79E 4 -- 98 00 47 9 C -1 Note On
001EC7AE 4 -- 98 00 49 9 C -1 Note On
001EC7B7 4 -- 98 00 4A 9 C -1 Note On
001EC7CE 4 -- 98 00 4C 9 C -1 Note On
001EC7DE 4 -- 98 00 4D 9 C -1 Note On
001EC7F6 4 -- 98 00 4E 9 C -1 Note On
001EC7FE 4 -- 98 00 4F 9 C -1 Note On
001EC80E 4 -- 98 00 51 9 C -1 Note On
001EC826 4 -- 98 00 52 9 C -1 Note On
001EC836 4 -- 98 00 53 9 C -1 Note On
001EC83E 4 -- 98 00 54 9 C -1 Note On
001EC84E 4 -- 98 00 55 9 C -1 Note On
001EC856 4 -- 98 00 56 9 C -1 Note On
001EC866 4 -- 98 00 57 9 C -1 Note On
001EC87E 4 -- 98 00 58 9 C -1 Note On
001EC896 4 -- 98 00 59 9 C -1 Note On
001EC8AE 4 -- 98 00 5A 9 C -1 Note On
001EC8B6 4 -- 98 00 5B 9 C -1 Note On
001EC8CE 4 -- 98 00 5C 9 C -1 Note On
001EC8E6 4 -- 98 00 5D 9 C -1 Note On
001EC8F6 4 -- 98 00 5E 9 C -1 Note On
001EC8FE 4 -- 98 00 5F 9 C -1 Note On
001EC90E 4 -- 98 00 60 9 C -1 Note On
001EC926 4 -- 98 00 61 9 C -1 Note On
001EC936 4 -- 98 00 62 9 C -1 Note On
001EC93E 4 -- 98 00 63 9 C -1 Note On
001EC957 4 -- 98 00 64 9 C -1 Note On
001EC966 4 -- 98 00 65 9 C -1 Note On
001EC96E 4 -- 98 00 66 9 C -1 Note On
001EC986 4 -- 98 00 67 9 C -1 Note On
001EC996 4 -- 98 00 68 9 C -1 Note On
001EC99F 4 -- 98 00 69 9 C -1 Note On
001EC9AE 4 -- 98 00 6A 9 C -1 Note On
001EC9C6 4 -- 98 00 6B 9 C -1 Note On
001EC9D6 4 -- 98 00 6C 9 C -1 Note On
001EC9EF 4 -- 98 00 6D 9 C -1 Note On
001ECA06 4 -- 98 00 6E 9 C -1 Note On
001ECA1E 4 -- 98 00 6F 9 C -1 Note On
001ECA27 4 -- 98 00 70 9 C -1 Note On
001ECA3E 4 -- 98 00 71 9 C -1 Note On
001ECA56 4 -- 98 00 72 9 C -1 Note On
001ECA6F 4 -- 98 00 73 9 C -1 Note On
001ECA7E 4 -- 98 00 74 9 C -1 Note On
001ECA96 4 -- 98 00 75 9 C -1 Note On
001ECAAE 4 -- 98 00 76 9 C -1 Note On
001ECAC6 4 -- 98 00 77 9 C -1 Note On
001ECADE 4 -- 98 00 78 9 C -1 Note On
001ECB06 4 -- 98 00 79 9 C -1 Note On
001ECB1E 4 -- 98 00 7A 9 C -1 Note On
001ECB4E 4 -- 98 00 7B 9 C -1 Note On
001ECB7E 4 -- 98 00 7C 9 C -1 Note On
001ECBA6 4 -- 98 00 7D 9 C -1 Note On
001ECBD6 4 -- 98 00 7E 9 C -1 Note On
001ECBDF 4 -- 98 00 7F 9 C -1 Note On
001F7417 4 -- 88 00 7F 9 C -1 Note Off
001F7707 4 -- 98 00 7F 9 C -1 Note On
This is fader #33 (the unit has 32channels, so its the first of the second chained unit)
The fader was set to highest level when i started monitoring (via midi-ox), then i pulled it down all the way…then muted/unmuted..
I don’t know if this helps though…
edit: i forgot to mention: the next channel is the same, but on a different note ( C# -1 )
Interesting to see, as a few people have asked about more than 16 channels of mixer, and my software has been “stuck” in what I thought was the proper way to do it.
What you showed me is certainly one way around the 16 channel limit. It’s still “absolute”, but it gives me a better idea about how others are getting around it.
For now, I think my remote control to MIDI receiver will have to use NRPNs to work, and it will only work for MBMixer boards. As before when I made the mixer, it will be enough to suit my own needs.
It is a shame that the standard doesn’t work for so many “standard” needs, especially where audio mixers are concerned.
Of course you only need one channel of CCs to control up to 128 faders… Personally I’d reserve further channels for other stuff like aux send levels etc…