Hi Poly fans, I've finished the first of two major stages of the MIDI parameter control which is the mechanics of receiving and appropriately dealing with and displaying MIDI controller messages for parameter editing. As previously discussed, the MIDI parameter control uses 9 undefined MIDI controllers. Controller 22 is used to select the parameter bank to be edited. There are 16 banks. The first 8 are for the original banks and the following 8 are for the extended parameter banks. To control a parameter bank you send MIDI controller 22 to set the parameter bank number. The range for the controller is 0-127 (as normal) but only the top four bits are used to set the parameter bank. Thus, 16 banks split into the eight original and then followed by the 8 extended parameter banks. Once you've selected the wanted parameter bank you use MIDI controllers 23 through to 30 to control the eight parameters that are within each parameter bank (EG: 51-58 for parameter bank 5). This means that if you have nine sliders on a hardware MIDI controller then you would assign one of them to be the bank parameter selector and then set the remaining eight to control the individual parameters. This allows you to control the EG's very nicely indeed. When the Poly or EX receives one of these controller messages from MIDI it briefly changes the display to show the bank and parameter number and the data for it. If you are sending a bank message then only the bank number is shown. For example, if I sent a parameter bank 5 (EG1) selector message then the display would briefly change to "CC 5-" where CC means a controller message was received and we have selected the original parameter banks and the actual selected bank is 5, the dash is shown to indicate that no parameter has actually changed - only the bank has been selected at this point. Then, if I were to send a message on controller 24 (the first of the eight parameter editors) the display would show CC 51 XX where CC means controller message received and 51 means we are editing original parameter 51 and XX would actually be the parameter value itself. If you select an extended parameter bank then the CC display changes to CE to indicate editing extended parameters. If you try to edit a parameter that is not implemented at all such as 57 and 58 (since the EG banks only use 1-6) then the controller message is still displayed but the data displays will remain blank. The end result is actually quite elegant and user friendly. The incoming MIDI messages quickly update the Poly display and you can easily select the parameter banks with a slider or knob. And it is particularly nice to be able to easily edit the EG's with 6 sliders in a row. It took quite a bit of work to get this right because the code has to be able to handle many fast incoming MIDI controller messages while at the same time returning the display back to its original state after the messages stop streaming in to the synth. Also, a major obstacle was ensuring that no function or keypad keys would interfere with the MIDI controller handler. So to ensure that is the case, all front panel buttons are disabled while the display shows the MIDI controller parameter messages. Now I just have to write the code in the background that will actually change the parameters in real time. Should be only a few weeks more. Mike.
Message
Another update: More on Parameter editing via MIDI controllers
2008-07-10 by korgpolyex800
Attachments
- No local attachments were found for this message.