Reply To: Korg SDD3000 Pedal

Home Forums General Panels, Components, Macros Korg SDD3000 Pedal Reply To: Korg SDD3000 Pedal

#115273
Possemo
Participant
  • Topics: 14
  • Replies: 638
  • Total: 652
  • ★★★

I know this is a pain in the a… – crunching 8-bit data into a 7-bit MIDI datastream is not an easy thing to do. There are 3 different methods I know of – from various manufacturers:

1.) the easy one: just use parameters with max 128 values (7-bit = 2 exponent 7 = 128). This is not suitable for every parameter. It will provide a somewhat coarse parameter resolution on e.g. filter cutoff. The big advantage: no conversion needed, just send the values.

2.) 4-bit nibbles: Break each 8-bit Byte into two 4-bit nibbles. This will double the datastream – not very efficient but ok for smaller dumps. It is relatively easy to build such dumps with Lua scripts within Ctrlr.

3.) the 7-bit worm: I’ve seen this method when I looked at the Korg 05R/W sysex dumps. It is highly efficient as there will be no wasted bits like on the 4-bit nibble method but definitely a pain in the a.. to code and decode.

This schematic explains it all:

MIDI DATA ( 1set = 7bit x 8Byte )
     b7b7b7b7b7b7b7     b6    ~     b0     b6 ~~    b0     b6    ~     b0
   +-+-+-+-+-+-+-+-+  +-+-+-+-+-+-+-+-+  +-+-+-~~-+-+-+  +-+-+-+-+-+-+-+-+
   |0| | | | | | | |  |0| | | | | | | |  |0| |    | | |  |0| | | | | | | |
   +-+-+-+-+-+-+-+-+  +-+-+-+-+-+-+-+-+  +-+-+-~~-+-+-+  +-+-+-+-+-+-+-+-+
   7n+6,5,4,3,2,1,0         7n+0          7n+1 ~~ 7n+5         7n+6

To send the first seven 8-bit bytes you do the following: send eight 7-bit bytes. The first byte contanis the high bits of the following seven bytes, then it starts again with the next seven 8-bit bytes until the end. The last set will be a incomplete one with less than 7 bytes.

There are Lua methods done by Mauro De Carolis (who made the actual Korg 05R/W panel) which will code and decode any 7-bit worm into a proper 8-bit dump and vice-versa. Mauro published them under the GNU license, so they are freely distributable but must not be used in commercial projects. Look into the Korg 05R/W panel. Methods are called “midiToData” and “dataToMidi”.

  • This reply was modified 2 years, 11 months ago by Possemo.
  • This reply was modified 2 years, 11 months ago by Possemo.
Ctrlr