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 4 years, 9 months ago by Possemo.
    • This reply was modified 4 years, 9 months ago by Possemo.
    Ctrlr