nanoKEY Fold MIDI Implementation Version 1.00 (2024.9.18) -------------------------------------------------------------------------------- 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 (Keyboard Buttons, Touch Slider) | | 9n | kk (kk) | VV (VV) | Note On (Keyboard Buttons, Touch Slider) | | Bn | cc (cc) | vv (vv) | Control Change (Keyboard Buttons, Touch Slider, Sustain Button) | | Cn | vv (vv) | | Program Change (Keyboard Buttons) | | En | vv (vv) | vv (vv) | Pitch Bend (Touch Slider) | +--------+----------+----------+-----------------------------------------------------------------+ n : MIDI Channel = 0~15 kk: Note# = 0~127 VV: Velocity = 1~127 cc: Control Change Number = 0~127 vv: Value = 0~127 [1-2] System Realtime Message ----------------------------- +-----------+----------------------+ | Status[H] | Description | +-----------+----------------------+ | F8 | Timing Clock | +-----------+----------------------+ [1-3] 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 ) | | 6A | nanoKEY Fold ( Family ID (LSB)) | | 01 | ( Family ID (MSB)) | | 01 | ( 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-4] System Exclusive Message Transmitted Command List ------------------------------------------------------- Structure of nanoKEY Fold System Exclusive Messages +------+-------+------------------------------------------------------------+ | Byte | Value | Description | +------+-------+------------------------------------------------------------+ | 1 | F0 | Exclusive status | +------+-------+------------------------------------------------------------+ | 2 | 42 | KORG manufacturers ID | +------+-------+------------------------------------------------------------+ | 3 | 4g | g= Global MIDI Channel | +------+-------+------------------------------------------------------------+ | 4 | 00 | Product ID (nanoKEY Fold = 016AH) | +------+-------+ | | 5 | 01 | | +------+-------+ | | 6 | 6A | | +------+-------+------------------------------------------------------------+ | 7~9 | ss | [Function ID] + [Data] length | | | | 7bit x 3 (Little Endian) | | | | 0sss ssss 0sss ssss 0sss ssss | +------+-------+------------------------------------------------------------+ | 10 | nn | Function ID *1 | +------+-------+------------------------------------------------------------+ | 11 | dd | Data | +------+-------+------------------------------------------------------------+ | : | : | | +------+-------+------------------------------------------------------------+ | pp | F7 | Last Byte, End of exclusive | +------+-------+------------------------------------------------------------+ *1: Function ID Code List +-------------+----------------------------------------+-----+ | Function ID | Description/Function | | | [Hex] | | | +-------------+----------------------------------------+-----+ | 4F | Scene Change | R,C | | 40 | Current Scene Data Dump | R | | 51 | Global Data Dump | R | | 23 | Data Load Completed (ACK) | E | | 24 | Data Load Error (NAK) | E | | 26 | Receive Data Format Error | E | | 21 | Write Completed | E | | 22 | Write Error | E | +-------------+----------------------------------------+-----+ Transmitted when R : Request Message is received. C : Scene is changed. E : Exclusive Message is received. [1-5] Search Device Message --------------------------- Search Device Reply +---------+------------------------------------------------+ | Byte[H] | Description | +---------+------------------------------------------------+ | F0 | Exclusive Status | | 42 | KORG ID ( Manufacturers ID ) | | 50 | Search Device | | 01 | Reply | | 0g | gggg: MIDI Global Channel ( Device ID ) | | dd | Echo Back ID | | 6A | nanoKEY Fold ID ( Family ID (LSB)) | | 01 | nanoKEY Fold ID ( Family ID (MSB)) | | 01 | ( 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] System Realtime Message ----------------------------- +-----------+----------------------+ | Status[H] | Description | +-----------+----------------------+ | F8 | Timing Clock | +-----------+----------------------+ [2-2] 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-3] System Exclusive Message Received Command List ---------------------------------------------------- Structure of nanoKEY Fold System Exclusive Messages +------+-------+------------------------------------------------------------+ | Byte | Value | Description | +------+-------+------------------------------------------------------------+ | 1 | F0 | Exclusive status | +------+-------+------------------------------------------------------------+ | 2 | 42 | KORG manufacturers ID | +------+-------+------------------------------------------------------------+ | 3 | 4g | g= Global MIDI Channel | +------+-------+------------------------------------------------------------+ | 4 | 00 | Product ID (nanoKEY Fold = 016AH) | +------+-------+ | | 5 | 01 | | +------+-------+ | | 6 | 6A | | +------+-------+------------------------------------------------------------+ | 7~9 | ss | [Function ID] length + [Data] length | | | | 7bit x 3 (Little Endian) | | | | 0sss ssss 0sss ssss 0sss ssss | +------+-------+------------------------------------------------------------+ | 10 | nn | Function ID *3 | +------+-------+------------------------------------------------------------+ | 11 | dd | Data | +------+-------+------------------------------------------------------------+ | : | : | | +------+-------+------------------------------------------------------------+ | pp | F7 | Last Byte, End of exclusive | +------+-------+------------------------------------------------------------+ *3: Function ID Code List +-------------+----------------------------------------+ | Function ID | Description/Function | | [Hex] | | +-------------+----------------------------------------+ | 10 | Current Scene Data Dump Request | | 40 | Current Scene Data Dump | | 0E | Global Data Dump Request | | 51 | Global Data Dump | | 11 | Scene Data Write Request | | 14 | Scene Change Request | | 41 | Parameter Change | +-------------+----------------------------------------+ [2-4] 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) Scene Change Request R,- +----------------+------------------------------------------------------------------+ | Byte | Description | +----------------+------------------------------------------------------------------+ | F0,42,4g, | Exclusive Header g;Global Channel [Hex] | | 00,01,6A, | Family ID=00016AH | | 02,00,00, | [FunctionID] length + [Data] length = (1+1) = 2 (little endian) | | 0001 0100 (14) | Scene Change Request | | 0000 ssss (ss) | Destination Scene Number (ss=00~14) | | 1111 0111 (F7) | End of Exclusive (EOX) | +----------------+------------------------------------------------------------------+ When this message was received, the nanoKEY Fold loads the scene data to the current scene from the internal memory, and transmits a Func=4F(Scene Change) and a Func=23(ACK) messages or a Func=24(NAK) message. (2) Scene Change -,T +----------------+------------------------------------------------------------------+ | Byte | Description | +----------------+------------------------------------------------------------------+ | F0,42,4g, | Exclusive Header g;Global Channel [Hex] | | 00,01,6A, | Family ID=00016AH | | 02,00,00, | [FunctionID] length + [Data] length = (1+1) = 2 (little endian) | | 0100 1111 (4F) | Scene Change | | 0000 ssss (ss) | Scene Number (ss=00~14) | | 1111 0111 (F7) | End of Exclusive (EOX) | +----------------+------------------------------------------------------------------+ When the nanoKEY Fold completed to load the scene, it transmits this message. (3) Current Scene Data Dump Request R,- +----------------+------------------------------------------------------------------+ | Byte | Description | +----------------+------------------------------------------------------------------+ | F0,42,4g, | Exclusive Header g;Global Channel [Hex] | | 00,01,6A, | Family ID=00016AH | | 01,00,00, | [FunctionID] length + [Data] length = (1+0) = 1 (little endian) | | 0001 0000 (10) | Scene Data Dump Request | | 1111 0111 (F7) | End of Exclusive (EOX) | +----------------+------------------------------------------------------------------+ When this message was received, the nanoKEY Fold transmits a Func=40(Current Scene Data Dump) or a Func=24(NAK) message. (4) Current Scene Data Dump R,T +----------------+------------------------------------------------------------------+ | Byte | Description | +----------------+------------------------------------------------------------------+ | F0,42,4g, | Exclusive Header g;Global Channel [Hex] | | 00,01,6A, | Family ID=00016AH | | xx,xx,00, | [FunctionID] length + [Data] length = (1+ss) = xx (little endian)| | 0100 0000 (40) | Scene Data Dump | | 0ddd dddd (dd) | Data (NOTE 1,2) | | : | : | | 1111 0111 (F7) | End of Exclusive (EOX) | +----------------+------------------------------------------------------------------+ When this message was received, the nanoKEY Fold saves them to the current scene data and transmits a Func=23(ACK) or a Func=24(NAK) message. When a Func=10(Scene Data Dump Request) message was received, the nanoKEY Fold transmits this message with the current scene data. (5) Global Data Dump Request R,- +----------------+------------------------------------------------------------------+ | Byte | Description | +----------------+------------------------------------------------------------------+ | F0,42,4g, | Exclusive Header g;Global Channel [Hex] | | 00,01,6A, | Family ID=00016AH | | 01,00,00, | [FunctionID] length + [Data] length = (1+0) = 1 (little endian) | | 0000 1110 (0E) | Global Data Dump Request | | 1111 0111 (F7) | End of Exclusive (EOX) | +----------------+------------------------------------------------------------------+ When this message was received, the nanoKEY Fold transmits a Func=51(Global Data Dump) or a Func=24(NAK) message. (6) Global Data Dump R,T +----------------+------------------------------------------------------------------+ | Byte | Description | +----------------+------------------------------------------------------------------+ | F0,42,4g, | Exclusive Header g;Global Channel [Hex] | | 00,01,6A, | Family ID=00016AH | | xx,xx,00, | [FunctionID] length + [Data] length = (1+ss) = xx (little endian)| | 0101 0001 (51) | Global Data Dump | | 0ddd dddd (dd) | Data (NOTE 1,2) | | : | : | | 1111 0111 (F7) | End of Exclusive (EOX) | +----------------+------------------------------------------------------------------+ When this message was received, the nanoKEY Fold saves them to the internal memory, and transmits a Func=23(ACK) or a Func=24(NAK) message. When a Func=0E(Global Data Dump Request) message was received, the nanoKEY Fold transmits this message with the global data on the internal memory. (7) Scene Data Write Request R,- +----------------+------------------------------------------------------------------+ | Byte | Description | +----------------+------------------------------------------------------------------+ | F0,42,4g, | Exclusive Header g;Global Channel [Hex] | | 00,01,6A, | Family ID=00016AH | | 02,00,00, | [FunctionID] length + [Data] length = (1+1) = 2 (little endian) | | 0001 0001 (11) | Scene Data Write Request | | 0000 ssss (ss) | Destination Scene Number (ss=00~07) | | 1111 0111 (F7) | End of Exclusive (EOX) | +----------------+------------------------------------------------------------------+ When this message was received, the nanoKEY Fold writes the current scene data to the internal memory and transmits a Func=21(Write Complete) or a Func=22(Write Error) message. (8) Data Load Completed (ACK) -,T +----------------+------------------------------------------------------------------+ | Byte | Description | +----------------+------------------------------------------------------------------+ | F0,42,4g, | Exclusive Header g;Global Channel [Hex] | | 00,01,6A, | Family ID=00016AH | | 01,00,00, | [FunctionID] length + [Data] length = (1+0) = 1 (little endian) | | 0010 0011 (23) | Data Load Completed | | 1111 0111 (F7) | End of Exclusive (EOX) | +----------------+------------------------------------------------------------------+ When the operation was completed, the nanoKEY Fold transmits this message. (9) Data Load Error (NAK) -,T +----------------+------------------------------------------------------------------+ | Byte | Description | +----------------+------------------------------------------------------------------+ | F0,42,4g, | Exclusive Header g;Global Channel [Hex] | | 00,01,6A, | Family ID=00016AH | | 01,00,00, | [FunctionID] length + [Data] length = (1+0) = 1 (little endian) | | 0010 0100 (24) | Data Load Error | | 1111 0111 (F7) | End of Exclusive (EOX) | +----------------+------------------------------------------------------------------+ When the operation was not completed, the nanoKEY Fold transmits this message. (10) Receive Data Format Error -,T +----------------+------------------------------------------------------------------+ | Byte | Description | +----------------+------------------------------------------------------------------+ | F0,42,4g, | Exclusive Header g;Global Channel [Hex] | | 00,01,6A, | Family ID=00016AH | | 01,00,00, | [FunctionID] length + [Data] length = (1+0) = 1 (little endian) | | 0010 0110 (26) | Receive Data Format Error | | 1111 0111 (F7) | End of Exclusive (EOX) | +----------------+------------------------------------------------------------------+ This message is transmitted when the nanoKEY Fold received message has any format error. (11) Write Completed -,T +----------------+------------------------------------------------------------------+ | Byte | Description | +----------------+------------------------------------------------------------------+ | F0,42,4g, | Exclusive Header g;Global Channel [Hex] | | 00,01,6A, | Family ID=00016AH | | 01,00,00, | [FunctionID] length + [Data] length = (1+0) = 1 (little endian) | | 0010 0001 (21) | Write Completed | | 1111 0111 (F7) | End of Exclusive (EOX) | +----------------+------------------------------------------------------------------+ When the writing operation was completed, the nanoKEY Fold transmits this message. (12) Write Error -,T +----------------+------------------------------------------------------------------+ | Byte | Description | +----------------+------------------------------------------------------------------+ | F0,42,4g, | Exclusive Header g;Global Channel [Hex] | | 00,01,6A, | Family ID=00016AH | | 01,00,00, | [FunctionID] length + [Data] length = (1+0) = 1 (little endian) | | 0010 0010 (22) | Write Error | | 1111 0111 (F7) | End of Exclusive (EOX) | +----------------+------------------------------------------------------------------+ When the writing operation was not completed, the nanoKEY Fold transmits this message. (13) Parameter Change R,- +----------------+------------------------------------------------------------------+ | Byte | Description | +----------------+------------------------------------------------------------------+ | F0,42,4g, | Exclusive Header g;Global Channel [Hex] | | 00,01,6A, | Family ID=00016AH | | 05,00,00, | [Function ID] length + [Data] length = (1+4) = 5 (little endian) | | 0100 0001 (41) | Parameter Change | | 0iii iiii (ii) | Paramtere ID (TABLE 3) | | 0sss ssss (ss) | Paramtere Sub ID (TABLE 3) | | 0vvv vvvv (vv) | Value LSB | | 0VVV VVVV (VV) | Value MSB | | 1111 0111 (F7) | End of Exclusive (EOX) | +----------------+------------------------------------------------------------------+ When this message is received, the specified parameter is changed. [NOTE 1] Scene Data Dump Format 304 bytes = 7*43+3 -> 8*43+(3+1) => 348 bytes (TABLE 1) Global Data Dump Format 72 bytes = 7*10+2 -> 8*10+(2+1) => 83 bytes (TABLE 2) [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 | +---------+----------------------------+-------------------------------------------+ | 0~11 | Scene Name | null terminated | | 12~15 | Reserved | 0xff | +---------+----------------------------+-------------------------------------------+ | Keyboard | +---------+----------------------------+-------------------------------------------+ | 16 | MIDI Channel | 0~15/16 = 1~16/Global | | 17 | Octave Shift | 0~8 = -4 ~ +4 | | 18 | Transpose | 0~24 = -12 ~ +12 | | 19~23 | Reserved | 0xff | +---------+----------------------------+-------------------------------------------+ | CC/PC Mode for Key 1 | +---------+----------------------------+-------------------------------------------+ | 24 | MIDI Channel | 0~15/16 = ch1~16/Global | | 25 | Assign Type | 0~2 *List1 | | 26 | Behavior | 0/1 = Momentary/Toggle | | 27 | CC/Program Number | 0~127 | | 28 | Off Value | 0~127 | | 29 | On Value | 0~127 | | 30~31 | reserved | 0xff | +---------+----------------------------+-------------------------------------------+ | 32~223 | (CC Mode for Key 2~25) | (Same as Key 1) | +---------+----------------------------+-------------------------------------------+ | Touch Slider (Pitch/Mod Mode) | +---------+----------------------------+-------------------------------------------+ | 224 | MIDI Channel | 0~15/16 = ch1~16/Global | | 225 | Mod CC Number | 0~127 | | 226 | Mod Left Value | 0~127 | | 227 | Mod Right Value | 0~127 | | 228~231 | Reserved | 0xff | +---------+----------------------------+-------------------------------------------+ | Touch Slider (Touch Keyboard Mode) | +---------+----------------------------+-------------------------------------------+ | 232 | MIDI Channel | 0~15/16 = 1~16/Global | | 233 | Octave Range | 0~3 = 1~4 | | 234 | Mod CC Number | 0~127 | | 235 | Mod Left Value | 0~127 | | 236 | Mod Right Value | 0~127 | | 237~239 | Reserved | 0xff | +---------+----------------------------+-------------------------------------------+ | Touch Slider (Touch CC Mode) | +---------+----------------------------+-------------------------------------------+ | 240 | Pitch MIDI Channel | 0~15/16 = 1~16/Global | | 241 | Pitch CC Number | 0~127 | | 242 | Pitch Left Value | 0~127 | | 243 | Pitch Right Value | 0~127 | | 244 | Mod MIDI Channel | 0~15/16 = 1~16/Global | | 245 | Mod CC Number | 0~127 | | 246 | Mod Left Value | 0~127 | | 247 | Mod Right Value | 0~127 | +---------+----------------------------+-------------------------------------------+ | Sustain Button | +---------+----------------------------+-------------------------------------------+ | 248 | MIDI Channel | 0~15/16 = 1~16/Global | | 249 | Assign Type | 0,1 = Control Change/NoAssign | | 250 | CC Number | 0~127 | | 251 | Off Value | 0~127 | | 252 | On Value | 0~127 | | 253 | Button Behavior | 0,1 = Momentary/Toggle | | 254 | Switch Speed | 0~3 = Immediate/Fast/Normal/Slow | | 255 | Reserved | 0xff | +---------+----------------------------+-------------------------------------------+ | Scale | +---------+----------------------------+-------------------------------------------+ | 256 | Scale Type | 0~14 *List2 | | 257 | Scale Key | 0~11 = C,C#,D,D#,E,F,F#,G,G#,A,A#,B | | 258 | Scale Step | 0~6 | | 259~263 | Reserved | 0xff | +---------+----------------------------+-------------------------------------------+ | Arpeggiator | +---------+----------------------------+-------------------------------------------+ | 264 | Arp On/Off | 0/1 = Off/On | | 265 | Arp Latch | 0/1 = Off/On | | 266 | Arp Type | 0~5 *List3 | | 267 | Arp Oct | 0~3 = 1~4 | | 268 | Arp Pattern | 0~14 = 1~15 | | 269 | Arp Rate | 0~12 *List4 | | 270 | Arp Gate Time | 0~10 *List5 | | 271 | Arp Key Sync | 0/1 = Off/On | +---------+----------------------------+-------------------------------------------+ | 272~303 | Reserved | 0xff | +---------+----------------------------+-------------------------------------------+ Total 304 bytes *List1 (CC/PC Mode Assign Type) 00: Control Change 01: Program Change 02: No Assign *List2 (Scale Type) 00: Ionian 01: Lydian 02: Aeolian 03: Dorian 04: Phrygian 05: MajorBlues 06: MinorBlues 07: MajorPentatonic 08: MinorPentatonic 09: RagaBhairav 10: Ryukyu 11: Chinese 12: BassLine 13: WholeTone 14: 5thInterval *List3 (Arp Type) 00: Up 01: Down 02: Alt 1 03: Alt 2 04: Random 05: Trigger *List4 (Arp Rate) 00: 1/64 01: 1/48 02: 1/32 03: 1/24 04: 1/16 05: 1/12 06: 1/8 07: 1/6 08: 1/4 09: 1/3 10: 1/2 11: 2/3 12: 1/1 *List5 (Arp Gate Time) 00: -100 01: -80 02: -60 03: -40 04: -20 05: 0 06: 20 07: 40 08: 60 09: 80 10: 100 [TABLE 2] Global Parameter +---------+--------------------------------+--------------------------------------------+ | | PARAMETER | VALUE | +---------+--------------------------------+--------------------------------------------+ | Common parameters | +---------+--------------------------------+--------------------------------------------+ | 0 | Global MIDI Channel | 0~15 = ch1~16 | | 1 | Split Point | 1~24 = 2~25 | | 2~3 | Reserved | 0xff | | 4 | MIDI Clock Source | 0~2 = Auto/Internal/External-USB | | 5 | BPM (LSB) | 200~3000 = 20.0~300.0 | | 6 | BPM (MSB) | | | 7 | Reserved | 0xff | +---------+--------------------------------+--------------------------------------------+ | Controller | +---------+--------------------------------+--------------------------------------------+ | 8 | Const Velocity Value | 0~127 | | 9 | Touch Slider Mode | 0/1 = Jump/Catch | | 10 | Pitch Slider Return Speed | 0~3 = Immediate/Fast/Normal/Slow | | 11 | Touch Keyboard Velocity | 0~127 | | 12~15 | Reserved | 0xff | +---------+--------------------------------+--------------------------------------------+ | Chord | +---------+--------------------------------+--------------------------------------------+ | 16 | Chord Octave Offset | 62~66 = -2~+2 | | 17~23 | Reserved | 0xff | +---------+--------------------------------+--------------------------------------------+ | Power Management | +---------+--------------------------------+--------------------------------------------+ | 24 | Auto LED Off | 0/1 = Disable/Enable | | 25 | LED Brightness | 0~2 = 1~3 | | 26 | LED Illumination | 0/1 = Disable/Enable | | 27 | LED Eco Mode | 0/1 = Disable/Enable | | 28~31 | Reserved | 0xff | +---------+--------------------------------+--------------------------------------------+ | Reserved | +---------+--------------------------------+--------------------------------------------+ | 32~71 | Reserved | 0xff | +---------+--------------------------------+--------------------------------------------+ Total 72 bytes [TABLE 3] Parameter Change Table +-------+--------+------------------------------+---------------------------------------+ | ID | Sub ID | PARAMETER | VALUE | | [Hex] | [Hex] | | | +-------+--------+------------------------------+---------------------------------------+ | 00 | 01 | BPM | 200~3000 = 20.0~300.0 | | 00 | 02 | Scale Type | 0~14 *List2 | | 00 | 03 | Octave Shift | 64 +/-4 = -4~+4 | | 00 | 04 | Transpose | 64 +/-12 = -12~+12 | +-------+--------+------------------------------+---------------------------------------+ | 01 | 00 | Keyboard Mode | 0~4 *List6 | | 01 | 01 | Touch Slider Mode | 0~2 = Pitch,Mod/TouchCC/TouchKBD | +-------+--------+------------------------------+---------------------------------------+ | 02 | 00 | Arp On/Off | 0/1 = Off/On | | 02 | 01 | Arp Latch | 0/1 = Off/On | | 02 | 02 | Arp Key Sync | 0/1 = Off/On | | 02 | 03 | Arp Type | 0~5 *List3 | | 02 | 04 | Arp Oct | 0~3 = 1~4 | | 02 | 05 | Arp Pattern | 0~14 = 1~15 | | 02 | 06 | Arp Rate | 0~12 *List4 | | 02 | 07 | Arp Gate Time | 0~10 *List5 | +-------+--------+------------------------------+---------------------------------------+ | 03 | 01 | Touch KBD Octave Range | 0~3 = 1~4 | +-------+--------+------------------------------+---------------------------------------+ *List6 (Keyboard Mode) 00: Normal 01: Scale Guide 02: Easy Scale 03: CC/PC 04: Chord