The MIDI Forum

  Thursday, 20 September 2018
  0 Replies
  5.2K Visits
Hello there, I am trying to modify my casio lk 280 lightning keys keyboard with a rgb pixel strip so the keys will be able to light up in any RGB color and not just in red. And so to do that I have been studying the midi specification, and I have just looked at the "Midi visual control specification", but also there I can not find anything that fits efficiently with my ideas.
I am thinking about extending the Note On event with RGB color, right after the velocity which I am leaving untouched. So, in this way a music device will still play the note ignoring the extra color information, while a light effects device will ignore the velocity and will light up the corresponding key by means of the color specification. Which I think is cool.

Now, to do that, in 24 bits RGB color space, which is a full byte for each RGB component, I need 3 full bytes of color information, coming right after the velocity. This means that if I do not want to violate the midi data convention, so databytes are in the range 7FH - 00H, I would need 6 data bytes to transmit 24 bits of color, which seems to me like a waste of bandwidth, especially when this has to be done for each note on event.

Still, always wasting bandwidth with color information when no color is desired at all does not seem to be such a good idea either, and so I am thinking about introducing a new event, called Color Note On, leaving the Note On event untouched. Unfortunately there is no space in the midi 1.0 standard to introduce new events, and so I will probably have to implement this by means of a system exclusive event, that needs to be detected upon reception and converted into a Note On event for the music synthesizer, and a RGB pixel on event for the light effects synthesizer. There is some processing overhead involved for this, and for each note played, but still, this is probably the best way to do this.

I have seen the color control change features in the "Midi visual control specification", section, effect control, but this does not appear to be very efficient on a per note basis, while you may add maybe you do not need to change the color for each note, which is maybe true, but maybe for each channel, and so having a Color Note On event looks more preferable to me.

My question is, is anybody working on a standard for this, for the lightning key keyboards of the future, or does the new upcoming midi 2.0 specification provide room for this? If so, I would like to know about this, if I may already now, otherwise I will just have to make my own choices how to do this the best way concerning efficiency.

In the attached youtube link, you can see a video of the LK 280, playing with RGB colors, but this is a video effect, while I am trying to build this for real, anyway you can already see it working in the video. You can also find my reply on why I want to do this there as well, which is a reply now, but I will change that into a comment shortly.

Kind regards,
There are no replies made for this post yet.
Be one of the first to reply to this post!