[chbot] MIDI over USB for nanoKONTROL2 control surface

Mark Atherton markaren1 at xtra.co.nz
Mon Apr 1 10:28:45 BST 2013


Hi Dave, Paul,

I did have some success finding "nanoKONTROL2 MIDI Implementation 
Revision 1.00 (2010.12.14)", this was not easy to find - see below.

"(3)Native KORG Mode Knob/Slider Output" may be what is required, but 
this is the unit response.

"1-3 System Exclusive Message Transmitted Command List" may be what 
is needed to be sent, but byte 8 onwards looks a bit confusing at first glance.

Current plan is to debug using Linux with /dev/midix, then move the 
command string into micro-land.

Any thoughts on how to construct the appropriate SYSEX message 
appreciated, this all looks somewhat cryptic at first glance.

Many thanks, I will also take a look at the stuff you referenced.

Regards, Mark



At 09:11 p.m. 1/04/2013, you wrote:
>Hi Mark,
>
>You can get some information back by sending it MIDI sysex messages, 
>but it looks like it will only dump the current scene configuration, 
>which isn't (as I understand it) the current position of the 
>sliders. The MIDI implementation doc is here: 
>http://www.korg.co.uk/support/downloads/nano_dl.php in 
>nano_MIDI_implementation.zip, and there is some Python code for 
>sending and reading scenes using sysex on 
>https://github.com/royvegard/Nano-Basket/blob/master/nano_basket_backend.py
>
>If the Korg editor software can read the current position of the 
>sliders then there's a chance that there's an undocumented message 
>that will do it, otherwise I don't think it's possible. In software 
>you can either just jump the controlled parameter to the fader 
>position as soon as someone moves it, or wait until they move the 
>fader to the current parameter position before changing the 
>parameter, as in this video:
>http://youtu.be/PgRTyMnosSI?t=1m54s
>
>Dave
>
>On 01/04/2013 14:39, Mark Atherton wrote:
>>Hi All,
>>
>>Hopefully someone here can save me some work digging around for a 
>>solution to this question:
>>
>>I am building a small wireless interface for a KORG nanoKONTROL2 
>>MIDI-over-USB control surface. The system is based on a Microchip 
>>dsPIC device with USB host port, so far so good; everything works 
>>as expected in terms of controlling LEDs on the control surface, 
>>and reading back sliders, knobs etc. as Control Change messages.
>>
>>As an example, after moving a slider, a message is received like 
>>0x0B, 0xB0, 0x02, 0x78 -- Cable 0, Control Change, Address 2, Data 0x78, etc.
>>
>>I need to be able to read the whole control surface at power up, so 
>>for example I need to know how to interrogate slider 2, to find 
>>it's current position without moving it.
>>
>>Any ideas how I go about doing this will be appreciated, or a more 
>>appropriate forum.
>>
>>Thanks,
>>
>>Mark

         nanoKONTROL2 MIDI Implementation             Revision 1.00 
(2010.12.14)

1.Transmitted Data 
-------------------------------------------------------------

1-1 Channel Messages            [H]:Hex,  [D]:Decimal
+--------+----------+----------+-----------------------------------------------+
| Status |  Second  |  Third   | Description         (Transmitted by 
)         |
|  [Hex] | [H]  [D] | [H]  [D] 
|                                               |
+--------+----------+----------+-----------------------------------------------+
|   8n   | kk  (kk) | 40  (64) | Note 
Off            (Button)                  |
|   9n   | kk  (kk) | 00  (00) | Note Off            (Button) 
*m               |
|   9n   | kk  (kk) | VV  (VV) | Note 
On             (Button)                  |
|   Bn   | cc  (cc) | vv  (vv) | Control Change      (Panel 
Controls)          |
|   En   | vv  (vv) | vv  (vv) | Pitch Bend          (Slider) 
*m               |
+--------+----------+----------+-----------------------------------------------+
  n  : MIDI Channel = 0~15
  kk : Note# 0~127
  VV : Velocity = 1~127
  cc : Control Change# = 0~127
  vv : Value = 0~127
  *m Only DAW1/DAW2/DAW3/DAW5 Mode


1-2 Universal System Exclusive Message ( Non Realtime )

  Device Inquiry Reply
+---------+-----------------------------------------------+
| Byte[H] |                Description                    |
+---------+-----------------------------------------------+
|   F0    | Exclusive Status                              |
|   7E    | Non Realtime Message                          |
|   0g    | Global MIDI Channel  ( Device ID )            |
|   06    | General Information                           |
|   02    | Identity Reply                                |
|   42    | KORG ID              ( Manufacturers ID )     |
|   13    | Software Project     ( Family ID   (LSB))     |
|   01    |                      ( Family ID   (MSB))     |
|   00    |                      ( Member ID   (LSB))     |
|   00    |                      ( Member ID   (MSB))     |
|   xx    |                      ( Minor Ver.  (LSB))     |
|   xx    |                      ( Minor Ver.  (MSB))     |
|   xx    |                      ( Major Ver.  (LSB))     |
|   xx    |                      ( Major Ver.  (MSB))     |
|   F7    | End Of Exclusive                              |
+---------+-----------------------------------------------+

   This message is transmitted whenever an INQUIRY MESSAGE REQUEST is received.



1-3 System Exclusive Message Transmitted Command List

  Structure of nanoKONTROL2 System Exclusive Messages

  1st Byte = F0 : Exclusive Status
  2nd Byte = 42 : KORG
  3rd Byte = 4g : g : Global MIDI Channel
  4th Byte = 00 : Software Project (nanoKONTROL2: 000113H)
  5th Byte = 01 :
  6th Byte = 13 :
  7th Byte = 00 : Sub ID
  8th Byte = cd : 0dvmmmmm  d     (1: Controller->Host)
                            v     (0: 2 Bytes Data Format, 1: Variable)
                            mmmmm (Command Number)
  9th Byte = nn : 2 Bytes Format: Function ID, Variable: Num of Data
10th Byte = dd : Data
   :
  LastByte = F7 : End of Exclusive

+-----------------+---------------------------------------+
|8th Byte command#| Description/Command                   |
|   [Bin (Hex)]   |                                       |
+-----------------+---------------------------------------+
|  010 00000 (40) | Native mode In/Out                    |
|  010 11111 (5F) | Packet Communication               *2 |
|  011 11111 (7F) | Data Dump                          *2 |
+-----------------+---------------------------------------+

  *2 :Function ID Code List
+-------------+-----------------------------------+-----+
| Function ID | Description/Function              |     |
|    [Hex]    |                                   |     |
+-------------+-----------------------------------+-----+
|     40      | Current Scene Data Dump           |  R  |
|     23      | Data Load Completed               |  E  |
|     24      | Data Load Error                   |  E  |
|     21      | Write Completed                   |  E  |
|     22      | Write Error                       |  E  |
|     42      | Mode Data                         |  R  |
+-------------+-----------------------------------+-----+
Transmitted when
       R  : Request Message is received.
       C  : Change Scene.
       E  : Exclusive Message is received.


1-4 Search Device Message

  Search Device Reply
+---------+------------------------------------------------+
| Byte[H] |                Description                     |
+---------+------------------------------------------------+
|   F0    | Exclusive Status                               |
|   42    | KORG ID              ( Manufacturers ID )      |
|   50    | Search Device                                  |
|   01    | Request                                        |
|   0g    | g: MIDI Global Channel  ( Device ID )          |
|   dd    | Echo Back ID                                   |
|   13    | nanoKONTROL2 ID      ( Family ID   (LSB))      |
|   01    | nanoKONTROL2 ID      ( Family ID   (MSB))      |
|   00    |                      ( Member ID   (LSB))      |
|   00    |                      ( Member ID   (MSB))      |
|   xx    |                      ( Minor Ver.  (LSB))      |
|   xx    |                      ( Minor Ver.  (MSB))      |
|   xx    |                      ( Major Ver.  (LSB))      |
|   xx    |                      ( Major Ver.  (MSB))      |
|   F7    | End Of Exclusive                               |
+---------+------------------------------------------------+

   g  : MIDI Global Channel = 0 ~ F
   dd : Echo Back ID = copy from SEARCH DEVICE REQUEST message.

   This message is transmitted whenever a SEARCH DEVICE REQUEST is received.


2.Recognized Receive Data 
------------------------------------------------------

2-1 Universal System Exclusive Message (Non Realtime)

  Inquiry Message Request
+---------+-----------------------------------------------+
| Byte[H] |                Description                    |
+---------+-----------------------------------------------+
|   F0    | Exclusive Status                              |
|   7E    | Non Realtime Message                          |
|   gg    | Global MIDI Channel                           |
|   06    | General Information                           |
|   01    | Identity Request                              |
|   F7    | End Of Exclusive                              |
+---------+-----------------------------------------------+
  gg = 00~0F :Received if Global Channel
       7F    :Received on any Channel


2-2 System Exclusive Message Received Command List
  Structure of nanoKONTROL2 System Exclusive Messages

  1st Byte = F0 : Exclusive Status
  2nd Byte = 42 : KORG
  3rd Byte = 4g : g : Global MIDI Channel
  4th Byte = 00 : Software Project (nanoKONTROL2: 000113H)
  5th Byte = 01 :
  6th Byte = 13 :
  7th Byte = 00 : Sub ID
  8th Byte = cd : 0dvmmmmm  d     (0: Host->Controller)
                            v     (0: 2 Bytes Data Format, 1: Variable)
                            mmmmm (Command Number)
  9th Byte = nn : 2 Bytes Format: Function ID, Variable: Num of Data
10th Byte = dd : Data
   :
  LastByte = F7 : End of Exclusive

+-----------------+---------------------------------------+
|8th Byte command#| Description/Command                   |
|   [Bin (Hex)]   |                                       |
+-----------------+---------------------------------------+
|  000 00000 (00) | Native mode In/Out Request            |
|  000 11111 (1F) | Data Dump Request                  *3 |
|  011 11111 (7F) | Data Dump                          *3 |
+-----------------+---------------------------------------+

  *3 :Function ID Code List
+-------------+-----------------------------------+
| Function ID | Description/Function              |
|    [Hex]    |                                   |
+-------------+-----------------------------------+
|     10      | Current Scene Data Dump Request   |
|     40      | Current Scene Data Dump           |
|     11      | Scene Write Request               |
|     12      | Mode Request                      |
+-------------+-----------------------------------+


2-3 Search Device Message

  Search Device Request
+---------+------------------------------------------------+
| Byte[H] |                Description                     |
+---------+------------------------------------------------+
|   F0    | Exclusive Status                               |
|   42    | KORG ID              ( Manufacturers ID )      |
|   50    | Search Device                                  |
|   00    | Request                                        |
|   dd    | Echo Back ID                                   |
|   F7    | END OF EXCLUSIVE                               |
+---------+------------------------------------------------+
  Receive this message, and transmits SEARCH DEVICE REPLY message
  including copied Echo Back ID.


3.MIDI Exclusive Format   (R:Receive, T:Transmit) 
------------------------------

3-1 Standard Messages

  (1) Current Scene Data Dump 
Request                                             R,-
+----------------+------------------------------------------------------------------+
|     Byte       |                  Description 
               |
+----------------+------------------------------------------------------------------+
| F0,42,4g,      | Exclusive Header  g;Global 
Channel  [Hex]                        |
| 00,01,13,00,   | Software Project (nanoKONTROL2: 000113H, Sub ID: 
00)             |
| 0001 1111 (1F) | Data Dump Command  (Host->Controller, 2Bytes 
Format)             |
| 0001 0000 (10) | Current Scene Data Dump 
Request                                  |
| 0000 0000 (00) 
|                                                                  |
| 1111 0111 (F7) | End of Exclusive 
(EOX)                                           |
+----------------+------------------------------------------------------------------+
  When this message was received, the nanoKONTROL2 transmits a 
Func=40(Current Scene Data Dump)
  or a Func=24(NAK) message.

  (2) Scene Write 
Request                                                         R,-
+----------------+------------------------------------------------------------------+
|     Byte       |                  Description 
               |
+----------------+------------------------------------------------------------------+
| F0,42,4g,      | Exclusive Header  g;Global 
Channel  [Hex]                        |
| 00,01,13,00,   | Software Project (nanoKONTROL2: 000113H, Sub ID: 
00)             |
| 0001 1111 (1F) | Data Dump Command  (Host->Controller, 2Bytes 
Format)             |
| 0001 0001 (11) | Scene Write 
Request                                              |
| 0000 0000 (00) 
|                                                                  |
| 1111 0111 (F7) | End of Exclusive 
(EOX)                                           |
+----------------+------------------------------------------------------------------+
  When this message was received, the nanoKONTROL2 writes the current 
scene data to the
  internal memory and transmits Func=21(Write Complete) messages or a 
Func=22(Write Error)
  message.

  (3) Native mode In/Out 
Request                                                  R,-
+----------------+------------------------------------------------------------------+
|     Byte       |                  Description 
               |
+----------------+------------------------------------------------------------------+
| F0,42,4g,      | Exclusive Header  g;Global 
Channel  [Hex]                        |
| 00,01,13,00,   | Software Project (nanoKONTROL2: 000113H, Sub ID: 
00)             |
| 0000 0000 (00) | Native mode In/Out Request (Host->Controller, 
2Bytes Format)     |
| 0000 0000 (00) 
|                                                                  |
| 0qqq qqqq (qq) | qq = 00:Out Req, 01:In 
Req                                       |
| 1111 0111 (F7) | End of Exclusive 
(EOX)                                           |
+----------------+------------------------------------------------------------------+
Receive this message, and transmits Command=40 message.

  (4) Mode 
Request                                                                R,-
+----------------+------------------------------------------------------------------+
|     Byte       |                  Description 
               |
+----------------+------------------------------------------------------------------+
| F0,42,4g,      | Exclusive Header  g;Global 
Channel  [Hex]                        |
| 00,01,13,00,   | Software Project (nanoKONTROL2: 000113H, Sub ID: 
00)             |
| 0001 1111 (1F) | Data Dump Command  (Host->Controller, 2Bytes 
Format)             |
| 0001 0010 (12) | Mode 
Request                                                     |
| 0000 0000 (00) 
|                                                                  |
| 1111 0111 (F7) | End of Exclusive 
(EOX)                                           |
+----------------+------------------------------------------------------------------+
Receive this message, and transmits Func=42 message.

  (5) Current Scene Data 
Dump                                                     R,T
+----------------+------------------------------------------------------------------+
|     Byte       |                  Description 
               |
+----------------+------------------------------------------------------------------+
| F0,42,4g,      | Exclusive Header  g;Global 
Channel  [Hex]                        |
| 00,01,13,00,   | Software Project (nanoKONTROL2: 000113H, Sub ID: 
00)             |
| 0111 1111 (7F) | Data Dump Command  (Host<->Controller, Variable 
Format)          |
| 0111 1111 (7F) | Over 0x7F 
Data                                                   |
| 0000 0010 (02) | 2Bytes 
structure                                                 |
| 0000 0011 (03) | Num of Data MSB (1+388 bytes : 
B'110000101)                      |
| 0000 0101 (05) | Num of Data 
LSB                                                  |
| 0100 0000 (40) | Current Scene Data 
Dump                                          |
| 0ddd dddd (dd) | 
Data                                                 (NOTE 1, 2) |
|     :          |  : 
               |
| 1111 0111 (F7) | End of Exclusive 
(EOX)                                           |
+----------------+------------------------------------------------------------------+
  When these message and data were received, the nanoKONTROL2 saves 
the data to the current
  scene, and transmits a Func=23(ACK) or a Func=24(NAK) message.
  When a Func=10(Current Scene Data Dump Request) message was 
received, the nanoKONTROL2
  transmits this message with the current scene data.

  (6) Data Load Completed 
(ACK)                                                   -,T
+----------------+------------------------------------------------------------------+
|     Byte       |                  Description 
               |
+----------------+------------------------------------------------------------------+
| F0,42,4g,      | Exclusive Header  g;Global 
Channel  [Hex]                        |
| 00,01,13,00,   | Software Project (nanoKONTROL2: 000113H, Sub ID: 
00)             |
| 0101 1111 (5F) | Data Dump Command  (Host<-Controller, 2Bytes 
Format)             |
| 0010 0011 (23) | Data Load 
Completed                                              |
| 0000 0000 (00) 
|                                                                  |
| 1111 0111 (F7) | End of Exclusive 
(EOX)                                           |
+----------------+------------------------------------------------------------------+
  When the operation was completed, the nanoKONTROL2 transmits this message.

  (7) Data Load Error 
(NAK)                                                       -,T
+----------------+------------------------------------------------------------------+
|     Byte       |                  Description 
               |
+----------------+------------------------------------------------------------------+
| F0,42,4g,      | Exclusive Header  g;Global 
Channel  [Hex]                        |
| 00,01,13,00,   | Software Project (nanoKONTROL2: 000113H, Sub ID: 
00)             |
| 0101 1111 (5F) | Data Dump Command  (Host<-Controller, 2Bytes 
Format)             |
| 0010 0100 (24) | Data Load 
Error                                                  |
| 0000 0000 (00) 
|                                                                  |
| 1111 0111 (F7) | End of Exclusive 
(EOX)                                           |
+----------------+------------------------------------------------------------------+
  When the operation was not completed, the nanoKONTROL2 transmits 
this message.

  (8) Write 
Completed                                                             -,T
+----------------+------------------------------------------------------------------+
|     Byte       |                  Description 
               |
+----------------+------------------------------------------------------------------+
| F0,42,4g,      | Exclusive Header  g;Global 
Channel  [Hex]                        |
| 00,01,13,00,   | Software Project (nanoKONTROL2: 000113H, Sub ID: 
00)             |
| 0101 1111 (5F) | Data Dump Command  (Host<-Controller, 2Bytes 
Format)             |
| 0010 0001 (21) | Write 
Completed                                                  |
| 0000 0000 (00) 
|                                                                  |
| 1111 0111 (F7) | End of Exclusive 
(EOX)                                           |
+----------------+------------------------------------------------------------------+
  When the writing operation was completed, the nanoKONTROL2 
transmits this message.

  (9) Write 
Error                                                                 -,T
+----------------+------------------------------------------------------------------+
|     Byte       |                  Description 
               |
+----------------+------------------------------------------------------------------+
| F0,42,4g,      | Exclusive Header  g;Global 
Channel  [Hex]                        |
| 00,01,13,00,   | Software Project (nanoKONTROL2: 000113H, Sub ID: 
00)             |
| 0101 1111 (5F) | Data Dump Command  (Host<-Controller, 2Bytes 
Format)             |
| 0010 0010 (22) | Write 
Error                                                      |
| 0000 0000 (00) 
|                                                                  |
| 1111 0111 (F7) | End of Exclusive 
(EOX)                                           |
+----------------+------------------------------------------------------------------+
  When the writing operation was not completed, the nanoKONTROL2 
transmits this message.

  (10) Native mode 
In/Out                                                         -,T
+----------------+------------------------------------------------------------------+
|     Byte       |                  Description 
               |
+----------------+------------------------------------------------------------------+
| F0,42,4g,      | Exclusive Header  g;Global 
Channel  [Hex]                        |
| 00,01,13,00,   | Software Project (nanoKONTROL2: 000113H, Sub ID: 
00)             |
| 0100 0000 (40) | Native mode In/Out  (Host<-Controller, 2Bytes 
Format)            |
| 0000 0000 (00) 
|                                                                  |
| 0rrr rrrr (rr) | rr = 
02:Out,03:In                                                |
| 1111 0111 (F7) | End of Exclusive 
(EOX)                                           |
+----------------+------------------------------------------------------------------+
Receive Command=00 message, and transmits this message.

  (11) Mode 
Data                                                                  -,T
+----------------+------------------------------------------------------------------+
|     Byte       |                  Description 
               |
+----------------+------------------------------------------------------------------+
| F0,42,4g,      | Exclusive Header  g;Global 
Channel  [Hex]                        |
| 00,01,13,00,   | Software Project (nanoKONTROL2: 000113H, Sub ID: 
00)             |
| 0101 1111 (5F) | Data Dump Command  (Host<-Controller, 2Bytes 
Format)             |
| 0100 0010 (42) | Mode 
Data                                                        |
| 0mmm mmmm (rr) | mm = 00:Normal mode, 01:Native 
mode                              |
| 1111 0111 (F7) | End of Exclusive 
(EOX)                                           |
+----------------+------------------------------------------------------------------+
Receive Func=12 message, and transmits this message.

NOTE 1: Current Scene Data Dump Format
          339 bytes = 7*48+3 -> 8*48+(3+1) => 388 bytes
          (TABLE 1)

NOTE 2: The Dump Data Conversion

    Data (1set = 8bit x 7Byte)
    b7     ~      b0   b7     ~      b0   b7   ~~    b0   b7     ~      b0
    +-+-+-+-+-+-+-+-+  +-+-+-+-+-+-+-+-+  +-+-+-~~-+-+-+  +-+-+-+-+-+-+-+-+
    | | | | | | | | |  | | | | | | | | |  | | |    | | |  | | | | | | | | |
    +-+-+-+-+-+-+-+-+  +-+-+-+-+-+-+-+-+  +-+-+-~~-+-+-+  +-+-+-+-+-+-+-+-+
          7n+0               7n+1          7n+2 ~~ 7n+5         7n+6

     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


  TABLE 1 : Scene Parameter
+--------+----------------------------+--------------------------------------------+
|        |     PARAMETER              |                VALUE 
              |
+--------+----------------------------+--------------------------------------------+
| Common 
parameters                                                                |
+--------+----------------------------+------------------------------------------ 
-+
| 0      | Global MIDI Ch.            | 
0~15                                       |
| 
+----------------------------+--------------------------------------------+
| 1      | Control Mode               | 0~5=CC 
Mode/Cubase/DP/                     |
|        |                            |     Live/ProTools/SONAR 
              |
| 
+----------------------------+--------------------------------------------+
| 2      | LED Mode                   | 
0~1=Internal/External                      |
+--------+----------------------------+--------------------------------------------+
| Controller Group 1 
parameters                                                    |
+--------+----------------------------+--------------------------------------------+
| 3      | Group MIDI Ch.             | 0~16=0~15/Global MIDI 
Ch.                  |
| 
+----------------------------+--------------------------------------------+
| 4      | Slider assign type         | 
0/1=Disable/Enable                         |
| 
+----------------------------+--------------------------------------------+
| 5      | Reserved                   | 
0                                          |
| 
+----------------------------+--------------------------------------------+
| 6      | Slider CC/Note Number      | 
0~127                                      |
| 
+----------------------------+--------------------------------------------+
| 7      | Slider min value           | 
0~127                                      |
| 
+----------------------------+--------------------------------------------+
| 8      | Slider max value           | 
0~127                                      |
| 
+----------------------------+--------------------------------------------+
| 9      | Reserved                   | 
0                                          |
| 
+----------------------------+--------------------------------------------+
| 10     | Knob assign type           | 
0/1=Disable/Enable                         |
| 
+----------------------------+--------------------------------------------+
| 11     | Reserved                   | 
0                                          |
| 
+----------------------------+--------------------------------------------+
| 12     | Knob CC/Note Number        | 
0~127                                      |
| 
+----------------------------+--------------------------------------------+
| 13     | Knob min value             | 
0~127                                      |
| 
+----------------------------+--------------------------------------------+
| 14     | Knob max value             | 
0~127                                      |
| 
+----------------------------+--------------------------------------------+
| 15     | Reserved                   | 
0                                          |
| 
+----------------------------+--------------------------------------------+
| 16     | Solo Button assign type    | 0~2=No Assign/Control 
Change/              |
|        |                            |     Note 
              |
| 
+----------------------------+--------------------------------------------+
| 17     | Solo Button Behavior       | 
0/1=Momentary/Toggle                       |
| 
+----------------------------+--------------------------------------------+
| 18     | Solo Button CC/Note Number | 
0~127                                      |
| 
+----------------------------+--------------------------------------------+
| 19     | Solo Button off value      | 
0~127                                      |
| 
+----------------------------+--------------------------------------------+
| 20     | Solo Button on value       | 
0~127                                      |
| 
+----------------------------+--------------------------------------------+
| 21     | Reserved                   | 
0                                          |
| 
+----------------------------+--------------------------------------------+
| 22     | Mute Button assign type    | 0~2=No Assign/Control 
Change/Note          |
| 
+----------------------------+--------------------------------------------+
| 23     | Mute Button Behavior       | 
0/1=Momentary/Toggle                       |
| 
+----------------------------+--------------------------------------------+
| 24     | Mute Button CC/Note Number | 
0~127                                      |
| 
+----------------------------+--------------------------------------------+
| 25     | Mute Button off value      | 
0~127                                      |
| 
+----------------------------+--------------------------------------------+
| 26     | Mute Button on value       | 
0~127                                      |
| 
+----------------------------+--------------------------------------------+
| 27     | Reserved                   | 
0                                          |
| 
+----------------------------+--------------------------------------------+
| 28     | Rec Button assign type     | 0~2=No Assign/Control 
Change/Note          |
| 
+----------------------------+--------------------------------------------+
| 29     | Rec Button Behavior        | 
0/1=Momentary/Toggle                       |
| 
+----------------------------+--------------------------------------------+
| 30     | Rec Button CC/Note Number  | 
0~127                                      |
| 
+----------------------------+--------------------------------------------+
| 31     | Rec Button off value       | 
0~127                                      |
| 
+----------------------------+--------------------------------------------+
| 32     | Rec Button on value        | 
0~127                                      |
| 
+----------------------------+--------------------------------------------+
| 33     | Reserved                   | 
0                                          |
+--------+----------------------------+--------------------------------------------+
| 34~64  | Group 2 parameters         | ( Same as the Group 1 format 
)             |
+--------+----------------------------+--------------------------------------------+
| 65~95  | Group 3 parameters         | ( Same as the Group 1 format 
)             |
+--------+----------------------------+--------------------------------------------+
| 96~126 | Group 4 parameters         | ( Same as the Group 1 format 
)             |
+--------+----------------------------+--------------------------------------------+
|127~157 | Group 5 parameters         | ( Same as the Group 1 format 
)             |
+--------+----------------------------+--------------------------------------------+
|158~188 | Group 6 parameters         | ( Same as the Group 1 format 
)             |
+--------+----------------------------+--------------------------------------------+
|189~219 | Group 7 parameters         | ( Same as the Group 1 format 
)             |
+--------+----------------------------+--------------------------------------------+
|220~250 | Group 8 parameters         | ( Same as the Group 1 format 
)             |
+--------+----------------------------+--------------------------------------------+
| Transport Button 
parameters                                                      |
+--------+----------------------------+--------------------------------------------+
| 251    | Transport Button MIDI Ch.  | 0~16=0~15/Global MIDI 
Ch.                  |
+--------+-------------------------- 
-+--------------------------------------------+
| Transport Button Prev Track 
parameters                                           |
+--------+----------------------------+--------------------------------------------+
| 252    | Assign type                | 0~2=No Assign/Control 
Change/Note          |
| 
+----------------------------+--------------------------------------------+
| 253    | Button Behavior            | 
0/1=Momentary/Toggle                       |
| 
+----------------------------+--------------------------------------------+
| 254    | CC/Note Number             | 
0~127                                      |
| 
+----------------------------+--------------------------------------------+
| 255    | Off value                  | 
0~127                                      |
| 
+----------------------------+--------------------------------------------+
| 256    | On value                   | 
0~127                                      |
|        +----------------------------+ 
-------------------------------------------+
| 257    | Reserved                   | 
0                                          |
+--------+----------------------------+--------------------------------------------+
|258~263 | Next Track parameters      | (Same as the Transport Prev 
Track format ) |
+--------+----------------------------+--------------------------------------------+
|264~269 | Cycle parameters           | (Same as the Transport Prev 
Track format ) |
+--------+----------------------------+--------------------------------------------+
|270~275 | Marker Set  parameters     | (Same as the Transport Prev 
Track format ) |
+--------+----------------------------+--------------------------------------------+
|276~281 | Prev Marker parameters     | (Same as the Transport Prev 
Track format ) |
+--------+----------------------------+--------------------------------------------+
|282~287 | Next Marker parameters     | (Same as the Transport Prev 
Track format ) |
+--------+----------------------------+--------------------------------------------+
|288~293 | REW parameters             | (Same as the Transport Prev 
Track format ) |
+--------+----------------------------+--------------------------------------------+
|294~299 | FF parameters              | (Same as the Transport Prev 
Track format ) |
+--------+----------------------------+--------------------------------------------+
|300~305 | STOP parameters            | (Same as the Transport Prev 
Track format ) |
+--------+----------------------------+--------------------------------------------+
|306~311 | PLAY parameters            | (Same as the Transport Prev 
Track format ) |
+--------+----------------------------+--------------------------------------------+
|312~317 | REC parameters             | (Same as the Transport Prev 
Track format ) |
+--------+----------------------------+--------------------------------------------+
|318~322 | Custom DAW Assign          | 
0,41,42,46,47,48,49,50,127,255             |
+--------+----------------------------+--------------------------------------------+
|323~338 | Reserved                   | 
0                                          |
+--------+----------------------------+--------------------------------------------+

Total 339 bytes


4.Native KORG Mode Messages 
----------------------------------------------------

(1) Native KORG mode Display LEDs
+--------+------------------+--------------------------------------+
| Status | Second   | Third |   Description                        |
| [Hex]  | [Hex]    | [Hex] |                                      |
+--------+----------+-------+--------------------------------------+
|   BF   |  2E      |  ss   |   Cycle (ss= Off:00~40 On:41~7F)     |
|   BF   |  2B      |  ss   |   REW                                |
|   BF   |  2C      |  ss   |   FF                                 |
|   BF   |  2A      |  ss   |   STOP                               |
|   BF   |  29      |  ss   |   PLAY                               |
|   BF   |  2D      |  ss   |   REC                                |
+--------+----------+-------+--------------------------------------+
|   BF   |  20      |  ss   |   Group 1 Solo                       |
|   BF   |  21 ~ 27 |  ss   |   Group 2 ~ 8 Solo                   |
|   BF   |  30      |  ss   |   Group 1 Mute                       |
|   BF   |  31 ~ 37 |  ss   |   Group 2 ~ 8 Mute                   |
|   BF   |  40      |  ss   |   Group 1 Rec                        |
|   BF   |  41 ~ 47 |  ss   |   Group 2 ~ 8 Rec                    |
+--------+----------+-------+--------------------------------------+

(2) Native KORG Mode Button Output
+--------+------------------+--------------------------------------+
| Status | Second   | Third |  Description                         |
| [Hex]  | [Hex]    |       |                                      |
+--------+----------+-------+--------------------------------------+
|   BF   |  2E      |  ss   |  Cycle ss;on/off (on = 127 Off = 00) |
|   BF   |  2B      |  ss   |  REW                                 |
|   BF   |  2C      |  ss   |  FF                                  |
|   BF   |  2A      |  ss   |  STOP                                |
|   BF   |  29      |  ss   |  PLAY                                |
|   BF   |  2D      |  ss   |  REC                                 |
|   BF   |  3A      |  ss   |  << Track                            |
|   BF   |  3B      |  ss   |  Track >>                            |
|   BF   |  3C      |  ss   |  Marker Set                          |
|   BF   |  3D      |  ss   |  << Marker                           |
|   BF   |  3E      |  ss   |  Marker >>                           |
+--------+----------+-------+--------------------------------------+
|   BF   |  20      |  ss   |  Group 1 Solo                        |
|   BF   |  21 ~ 27 |  ss   |  Group 2 ~ 8 Solo                    |
|   BF   |  30      |  ss   |  Group 1 Mute                        |
|   BF   |  31 ~ 37 |  ss   |  Group 2 ~ 8 Mute                    |
|   BF   |  40      |  ss   |  Group 1 Rec                         |
|   BF   |  41 ~ 47 |  ss   |  Group 2 ~ 8 Rec                     |
+--------+----------+-------+--------------------------------------+

(3) Native KORG Mode Knob/Slider Output
+--------+------------------+--------------------------------------+
| Status | Second   | Third |  Description                         |
| [Hex]  | [Hex]    |       |                                      |
+--------+----------+-------+--------------------------------------+
|   BF   |  10      |  vv   |  Group 1 Knob vv=value(0 ~ 127)      |
|   BF   |  11 ~ 17 |  vv   |  Group 2 ~ 8 Knob                    |
+--------+----------+-------+--------------------------------------+ 

|   BF   |  00      |  vv   |  Group 1 Slider vv=value(0~127)      |
|   BF   |  01 ~ 07 |  vv   |  Group 2 ~ 8 Slider                  |
+--------+----------+-------+--------------------------------------+




More information about the Chchrobotics mailing list