KAOSS PAD KPV MIDI Implementation Revision 1.00 (2026.01.19) 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 (Sample Bank) | | 8n | dd (dd) | dd (dd) | Note Off (Ext.Ctrl Mode) | | 9n | kk (kk) | 64 (100) | Note On (Sample Bank) | | 9n | dd (dd) | dd (dd) | Note On (Ext.Ctrl Mode) | | Bn | 00 (00) | mm (mm) | Bank Select(MSB) (Panel Control) *1 | | Bn | 20 (32) | bb (bb) | Bank Select(LSB) (Panel Control) *1 | | Bn | cc (cc) | vv (vv) | Control Change (Panel Control/Ext.Ctrl)| | Cn | pp (pp) | -- -- | Program Change (Panel Control) *1 | | Cn | dd (dd) | -- -- | Program Change (Ext.Ctrl Mode) | +--------+----------+----------+---------------------------------------------+ n : MIDI Channel = 0~15 kk : Note# = 0~127 dd : Data = 0~127 cc : Control Change# = 0~127 vv : Value = 0~127 *1 : Program MIDI [Hex] [Dec] Program 001 - 128 mm,bb,pp = 00,00,00~7F / 00,00,000~127 Program 129 - 256 01,00,00~7F / 01,00,000~127 Program 257 - 270 02,00,00~0D / 02,00,000~013 1-2 System Realtime Messages +-----------+-------------------------------------------+ | Status[H] | Description | +-----------+-------------------------------------------+ | F8 | Timing Clock *2 | | FA | Start *3 | | FB | Continue *3 | | FC | Stop *3 | | FE | Active Sensing | +-----------+-------------------------------------------+ *2 : This message is transmitted when the "Clock" is set to "Internal". *3 : Transmitted when in Ext.Ctrl mode. 1-3 Universal System Exclusive Messages ( 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 ) | | 79 | KAOSS PAD KPV ID ( 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-4 KAOSS PAD KPV System Exclusive Message Transmitted Command List Structure of KAOSS PAD KPV System Exclusive Messages +---------------------------------------------------------+----------+ | 1st Byte = 1111 0000 (F0) : Exclusive Status | | | 2nd Byte = 0100 0010 (42) : KORG ID | | | 3rd Byte = 0011 nnnn (3g) : Format ID g:MIDI Channel |Ex.Header | | 4th Byte = 0000 0000 (00) : KAOSS PAD KPV ID | | | 5th Byte = 0000 0001 (01) : | | | 6th Byte = 0111 1010 (79) : | | | 7th Byte = 0fff ffff (ff) : Function Code | | | 8th Byte = 0ddd dddd (dd) : Data | | | : : : | | | LastByte = 1111 0111 (F7) : End of Exclusive | | +---------------------------------------------------------+----------+ Function ID Code List +-------------+-------------------------------------+-----+ | Function ID | Description/Function | Cond| | [Hex] | | | +-------------+-------------------------------------+-----+ | [ Data Dump / Editor ] | | 4C | Program Memory Data Dump | R | | 4D | Program Memory Dump Completed | E | | 4E | Sample Header Data Dump | R | | 4F | Sample Data Dump | R | | 51 | Global Data Dump | R | | 52 | Sample Data Dump Complete | R | | 21 | Write Completed | E | | 22 | Write Error | E | | 27 | Sample Receive Ready | R | | 28 | Sample Not Assigned Error | R,E | | | | [ Mode Control ] | | 5D | Data Dump Mode Exit | E | | 5F | Data Dump Mode Ready | R | | 60 | Operation Mode Busy | R | | | +-------------+-------------------------------------+-----+ Transmitted when R : Request Message is received. E : Exclusive Message is received. 2.Recognized Receive Data -------------------------------------------------- 2-1 Channel Messages +--------+----------+----------+---------------------------------------------+ | Status | Second | Third | Description | | [Hex] | [H] [D] | [H] [D] | | +--------+----------+----------+---------------------------------------------+ | 9n | kk (kk) | vv (vv) | Note On vv=1~127 | | Bn | 00 (00) | mm (mm) | Bank Select(MSB) (Program) *4 | | Bn | 20 (32) | bb (bb) | Bank Select(LSB) (Program) *4 | | Bn | cc (cc) | vv (vv) | Control Change | | Cn | pp (pp) | -- -- | Program Change *4 | +--------+----------+----------+---------------------------------------------+ n : MIDI Channel = 0~15 kk : Note# = 0~127 dd : Data = 0~127 cc : Control Change# = 0~127 vv : Value = 0~127 *4 : Program MIDI [Hex] [Dec] Program 001 - 128 mm,bb,pp = 00,00,00~7F / 00,00,000~127 Program 129 - 256 01,00,00~7F / 01,00,000~127 Program 257 - 270 02,00,00~0D / 02,00,000~013 2-2 System Realtime Messages +-----------+-------------------------------------------+ | Status[H] | Description | +-----------+-------------------------------------------+ | F8 | Timing Clock *5 | +-----------+-------------------------------------------+ *5 : This message is recognized when the "Clock" is set to "Ext" or "Auto". 2-3 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-4 KAOSS PAD KPV System Exclusive Message Received Command List Function ID Code List +-------------+-----------------------------------------+ | Function ID | Description/Function | | [Hex] | | +-------------+-----------------------------------------+ | [ Data Dump / Editor ] | | 0E | Global Data Dump Request | | 1C | Program Memory Data Dump Request | | 1D | Program Memory Receive Ready | | 1E | Sample Data Dump Request | | 1F | Sample Data Send Request | | 27 | Sample Receive Ready | | 4B | Sample Delete Bank | | 4C | Program Memory Data Dump | | 4E | Sample Header Data Dump | | 4F | Sample Data Dump | | 51 | Global Data Dump | | 52 | Sample Data Dump Complete | | | | [ Mode Control ] | | 5D | Data Dump Mode Exit | | 5E | Data Dump Mode Request | | | | [ Voicing (VE) ] | | 71 | VE Parameter Change | | 72 | VE Mapper Change | | 73 | VE PCM Loader | | 74 | VE Finger Mode | | 75 | VE Program Change | | | | [ PAD LED ] | | 7B | Pad LED Single Grid Write | | 7C | Pad LED Write | +-------------+-----------------------------------------+ When the "SystemEx" parameter is set to "ENA", these messages are recognized. 3.MIDI Exclusive Format (R:Receive, T:Transmit) -------------------------- * Unless otherwise noted, multi-byte data is Little Endian (LE). * Reserved parameters should be set to 0. (1) Global Data Dump Request R,- +-------------------+---------------------------------------------------------------+ | Byte | Description | +-------------------+---------------------------------------------------------------+ | F0,42,3g,00,01,79 | KAOSS PAD KPV Exclusive Header g;Global Channel [Hex] | | 0000 1110 (0E) | Global Data Dump Request | | 1111 0111 (F7) | End of Exclusive (EOX) | +-------------------+---------------------------------------------------------------+ Receive this message, and transmits Func=51 message. (2) Program Memory Data Dump Request R,- +-------------------+---------------------------------------------------------------+ | Byte | Description | +-------------------+---------------------------------------------------------------+ | F0,42,3g,00,01,79 | KAOSS PAD KPV Exclusive Header g;Global Channel [Hex] | | 0001 1100 (1C) | Program Memory Data Dump Request | 0000 0000 (00) | Reserved | | 1111 0111 (F7) | End of Exclusive (EOX) | +-------------------+---------------------------------------------------------------+ Receive this message, and transmits Func=4C message. (3) Sample Data Dump Request R,- +-------------------+---------------------------------------------------------------+ | Byte | Description | +-------------------+---------------------------------------------------------------+ | F0,42,3g,00,01,79 | KAOSS PAD KPV Exclusive Header g;Global Channel [Hex] | | 0001 1110 (1E) | 1 Sample Data Dump Request | | 0000 00ss (0s) | ss:Sample Bank No.(0~3) | | 1111 0111 (F7) | End of Exclusive (EOX) | +-------------------+---------------------------------------------------------------+ Receive this message, and transmits Func=4E message. (4) Sample Data Send Request / Delete Bank R,- +-------------------+---------------------------------------------------------------+ | Byte | Description | +-------------------+---------------------------------------------------------------+ | F0,42,3g,00,01,79 | KAOSS PAD KPV Exclusive Header g;Global Channel [Hex] | | 0fff ffff (ff) | Function Code (1F:Send Request, 4B:Delete Bank) | | 0000 00ss (0s) | ss:Sample Bank No.(0~3) | | 1111 0111 (F7) | End of Exclusive (EOX) | +-------------------+---------------------------------------------------------------+ 1F (Sample Data Send Request): Receive this message, and transmits Func=27 message. 4B (Sample Delete Bank): Receive this message, and transmits Func=21 or Func=28 message. (5) Program Memory Data Dump R,T +-------------------+---------------------------------------------------------------+ | Byte | Description | +-------------------+---------------------------------------------------------------+ | F0,42,3g,00,01,79 | KAOSS PAD KPV Exclusive Header g;Global Channel [Hex] | | 0100 1100 (4C) | Program Memory Data Dump | | 0ddd dddd (dd) | Data (NOTE 1,4) | | : | : | | 1111 0111 (F7) | End of Exclusive (EOX) | +-------------------+---------------------------------------------------------------+ Receive this message & data, save them to Internal Memory and transmits Func=21 or Func=22 message. Receive Func=1C message, and transmits this message & data from Edit Buffer. (6) Sample Header Data Dump R,T +-------------------+---------------------------------------------------------------+ | Byte | Description | +-------------------+---------------------------------------------------------------+ | F0,42,3g,00,01,79 | KAOSS PAD KPV Exclusive Header g;Global Channel [Hex] | | 0100 1110 (4E) | Sample Header Data Dump | | 0000 00ss (0s) | ss:Sample Bank No.(0~3) | | 0ddd dddd (dd) | Data (NOTE 3,4) | | : | : | | 1111 0111 (F7) | End of Exclusive (EOX) | +-------------------+---------------------------------------------------------------+ Receive this message & data, transmits Func=21 or Func=22 message. Receive Func=1E message, and transmits this message & data from Edit Buffer. (7) Sample Data Dump R,T +-------------------+---------------------------------------------------------------+ | Byte | Description | +-------------------+---------------------------------------------------------------+ | F0,42,3g,00,01,79 | KAOSS PAD KPV Exclusive Header g;Global Channel [Hex] | | 0100 1111 (4F) | Sample Data Dump | | 0ddd dddd (dd) | Data (NOTE 4) | | : | : | | 1111 0111 (F7) | End of Exclusive (EOX) | +-------------------+---------------------------------------------------------------+ Receive this message & data, transmits Func=27 message. Receive Func=27 message, and transmits this message & data from Edit Buffer (Func=52 when complete). * Sample Data Format: 48kHz, 16-bit, Stereo, Linear PCM (Interleaved: L, R...). (8) Global Data Dump R,T +-------------------+---------------------------------------------------------------+ | Byte | Description | +-------------------+---------------------------------------------------------------+ | F0,42,3g,00,01,79 | KAOSS PAD KPV Exclusive Header g;Global Channel [Hex] | | 0101 0001 (51) | Global Data Dump | | 0ddd dddd (dd) | Data (NOTE 2,4) | | : | : | | 1111 0111 (F7) | End of Exclusive (EOX) | +-------------------+---------------------------------------------------------------+ Receive this message & data, save them to Edit Buffer and transmits Func=21 or Func=22 message. Receive Func=0E message, and transmits this message & data from Edit Buffer. (9) Write Completed / Dump Complete -,T +-------------------+---------------------------------------------------------------+ | Byte | Description | +-------------------+---------------------------------------------------------------+ | F0,42,3g,00,01,79 | KAOSS PAD KPV Exclusive Header g;Global Channel [Hex] | | 0fff ffff (ff) | Function Code (21:Write Comp, 4D:Prog Comp, 52:Smpl Comp) | | 1111 0111 (F7) | End of Exclusive (EOX) | +-------------------+---------------------------------------------------------------+ 21 (Write Completed): Transmits this message when data reception is completed. 4D (Program Memory Dump Completed): Transmits this message when program dump is completed. 52 (Sample Data Dump Complete): Receive this message to finalize sample data transfer. (10) Write Error -,T +-------------------+---------------------------------------------------------------+ | Byte | Description | +-------------------+---------------------------------------------------------------+ | F0,42,3g,00,01,79 | KAOSS PAD KPV Exclusive Header g;Global Channel [Hex] | | 0010 0010 (22) | Write Error | | 1111 0111 (F7) | End of Exclusive (EOX) | +-------------------+---------------------------------------------------------------+ When "DATA LOAD" has not been completed, transmits this message. (11) Sample Receive Ready / Prog Receive Ready R,T +-------------------+---------------------------------------------------------------+ | Byte | Description | +-------------------+---------------------------------------------------------------+ | F0,42,3g,00,01,79 | KAOSS PAD KPV Exclusive Header g;Global Channel [Hex] | | 0fff ffff (ff) | Function Code (27:Sample Ready, 1D:Program Ready) | | 1111 0111 (F7) | End of Exclusive (EOX) | +-------------------+---------------------------------------------------------------+ Receive Func=4E or Func=1F message, and transmits this message. Receive this message, and transmits Func=4F (Sample Data) or Func=4C (Prog Data) message. (12) Sample Not Assigned Error -,T +-------------------+---------------------------------------------------------------+ | Byte | Description | +-------------------+---------------------------------------------------------------+ | F0,42,3g,00,01,79 | KAOSS PAD KPV Exclusive Header g;Global Channel [Hex] | | 0010 1000 (28) | Sample Not Assigned Error | | 1111 0111 (F7) | End of Exclusive (EOX) | +-------------------+---------------------------------------------------------------+ Transmits this message when a Sample Request is received for an empty bank. (13) Data Dump Mode Request / Exit R,T +-------------------+---------------------------------------------------------------+ | Byte | Description | +-------------------+---------------------------------------------------------------+ | F0,42,3g,00,01,79 | KAOSS PAD KPV Exclusive Header g;Global Channel [Hex] | | 0fff ffff (ff) | Function Code (5D:Exit, 5E:Request, 5F:Ready, 60:Busy) | | 1111 0111 (F7) | End of Exclusive (EOX) | +-------------------+---------------------------------------------------------------+ Used to switch the operation mode between Normal and Data Dump. Receive Func=5E (Request) message, and transmits Func=5F (Ready) or Func=60 (Busy). Receive Func=5D (Exit) message, device returns to Normal Mode. NOTE 1: Program Memory Data Dump Format Data Size: 19312 Bytes (Encoded Size: 22071 Bytes) Structure: Program Memory (Header + 8 Programs) (Transmitted in 512-byte chunks with handshake) NOTE 2: Global Data Dump Format Data Size: 513 Bytes (Encoded Size: 587 Bytes) Structure: Global Settings NOTE 3: Sample Header Data Dump Format Data Size: 130 Bytes (Encoded Size: 149 Bytes) Structure: Sample Header + Metadata NOTE 4: Dump Data Format The System Exclusive Data Dump uses a 7-bit encoded format. The original 8-bit data is packed into 7-bit MIDI bytes as follows: Source Data (7 bytes): b7 b6 b5 b4 b3 b2 b1 b0 (Byte 1) ... b7 b6 b5 b4 b3 b2 b1 b0 (Byte 7) Encoded Data (8 bytes): 0 a7 b7 c7 d7 e7 f7 g7 (Byte 1: MSBs of following 7 bytes) 0 a6 a5 a4 a3 a2 a1 a0 (Byte 2: Data 1, lower 7 bits) ... 0 g6 g5 g4 g3 g2 g1 g0 (Byte 8: Data 7, lower 7 bits) TABLE 1 : Program Memory Parameter (This table describes the 2412-byte structure for each of the 8 programs) +-----------+-------------------+---------------------------------------+ | Offset | Parameter | Value / Description | +-----------+-------------------+---------------------------------------+ | 0,1 | FX Number | 0~269 (LE) | | | | (000~169:Factory, 170~269:User) | +-----------+-------------------+---------------------------------------+ | 2 | FX Depth | 0~255 | +-----------+-------------------+---------------------------------------+ | 3 B3 | Touch 2 Assign | 0/1=Off/On | | B2 | Touch 1 Assign | 0/1=Off/On | | B1 | Touch 2 Hold | 0/1=Off/On | | B0 | Touch 1 Hold | 0/1=Off/On | +-----------+-------------------+---------------------------------------+ | 4 | Touch 1 Hold X | 0~127 | +-----------+-------------------+---------------------------------------+ | 5 | Touch 1 Hold Y | 0~127 | +-----------+-------------------+---------------------------------------+ | 6 | Touch 2 Hold X | 0~127 | +-----------+-------------------+---------------------------------------+ | 7 | Touch 2 Hold Y | 0~127 | +-----------+-------------------+---------------------------------------+ | 8~2411 | Pad Motion Data | 2404 Bytes (See TABLE 1-1) | +-----------+-------------------+---------------------------------------+ TABLE 1-1 : Pad Motion Data Details (Offset 8~2411) +-----------+-------------------+-----------------------------------+ | Offset | Parameter | Value / Description | +-----------+-------------------+-----------------------------------+ | 8 | Event 1 X1 | 0~127 | | 9 | Event 1 Y1 | 0~127 | | 10 | Event 1 Touch 1 | 0:Off, 127:On | | 11 | Event 1 X2 | 0~127 | | 12 | Event 1 Y2 | 0~127 | | 13 | Event 1 Touch 2 | 0:Off, 127:On | +-----------+-------------------+-----------------------------------+ | 14~19 | Event 2 | Same as Event 1 | +-----------+-------------------+-----------------------------------+ | 20~25 | Event 3 | " | +-----------+-------------------+-----------------------------------+ | : | : | : | +-----------+-------------------+-----------------------------------+ | 2402~2407 | Event 400 | Same as Event 1 | +-----------+-------------------+-----------------------------------+ | 2408,2409 | Record End Index | 0~399 (LE) | +-----------+-------------------+-----------------------------------+ | 2410,2411 | Original BPM | 2000~30000 (20.00~300.00) (LE) | +-----------+-------------------+-----------------------------------+ Structure of Full Program Memory Dump (19312 bytes): +------------+-------------------+-----------------------------------+ | Offset | Section | Description | +------------+-------------------+-----------------------------------+ | 0~3 | Header | "KPI\0" | +------------+-------------------+-----------------------------------+ | 4~7 | Version | "VER\0" | +------------+-------------------+-----------------------------------+ | 8,9 | Major Version | 1~ (LE) | | | | e.g. Major=1, Minor=11 -> Ver 1.11| +------------+-------------------+-----------------------------------+ | 10,11 | Minor Version | 0~ (LE) | +------------+-------------------+-----------------------------------+ | 12 | Latest Prog No. | 0~7 (Last selected memory) | +------------+-------------------+-----------------------------------+ | 13~2424 | Program 1 | See TABLE 1 | +------------+-------------------+-----------------------------------+ | 2425~4836 | Program 2 | See TABLE 1 | +------------+-------------------+-----------------------------------+ | 4837~7248 | Program 3 | See TABLE 1 | +------------+-------------------+-----------------------------------+ | 7249~9660 | Program 4 | See TABLE 1 | +------------+-------------------+-----------------------------------+ | 9661~12072 | Program 5 | See TABLE 1 | +------------+-------------------+-----------------------------------+ | 12073~14484| Program 6 | See TABLE 1 | +------------+-------------------+-----------------------------------+ | 14485~16896| Program 7 | See TABLE 1 | +------------+-------------------+-----------------------------------+ | 16897~19308| Program 8 | See TABLE 1 | +------------+-------------------+-----------------------------------+ | 19309,19310| Dummy BPM | Fixed: 12000 (Validation only) | +------------+-------------------+-----------------------------------+ | 19311 | Reserved | | +------------+-------------------+-----------------------------------+ TABLE 2 : Global Parameter +-----------+----------------------+-----------------------------------+ | Offset | Parameter | Value / Description | +-----------+----------------------+-----------------------------------+ | 0~3 | Header | "GLB\0" | +-----------+----------------------+-----------------------------------+ | 4~7 | Version | "VER\0" | +-----------+----------------------+-----------------------------------+ | 8,9 | Major Version | 1~ (LE) | +-----------+----------------------+-----------------------------------+ | 10,11 | Minor Version | 0~ (LE) | +-----------+----------------------+-----------------------------------+ | 12 | FX Target Mic | 0:Off, 1:On | +-----------+----------------------+-----------------------------------+ | 13 | FX Target Line | 0:Off, 1:On | +-----------+----------------------+-----------------------------------+ | 14 | FX Target Sample | 0:Off, 1:On | +-----------+----------------------+-----------------------------------+ | 15 | MIDI Clock | 0:Internal, 1:External, 2:Auto | +-----------+----------------------+-----------------------------------+ | 16 | MIDI Filter Prog | 0:Disable, 1:Enable | +-----------+----------------------+-----------------------------------+ | 17 | MIDI Filter CC | 0:Disable, 1:Enable | +-----------+----------------------+-----------------------------------+ | 18 | MIDI Filter Note | 0:Disable, 1:Enable | +-----------+----------------------+-----------------------------------+ | 19 | MIDI Filter SysEx | 0:Disable, 1:Enable | +-----------+----------------------+-----------------------------------+ | 20~33 | MIDI Message | See TABLE 2-1 | +-----------+----------------------+-----------------------------------+ | 34~44 | Pad LED Text | Scroll text (11 chars, ASCII) | | | | (Null terminated, padded with 0) | +-----------+----------------------+-----------------------------------+ | 45 | Pad LED Prog Name | 0:Disable, 1:Enable | +-----------+----------------------+-----------------------------------+ | 46 | Pad LED Illum Type | 0:Off, 1:Chara, 2~10:Type1~9, | | | | 11:Chain, 12:User | +-----------+----------------------+-----------------------------------+ | 47~53 | Reserved | | +-----------+----------------------+-----------------------------------+ | 54~77 | Pad LED Pointer | See TABLE 2-2 | +-----------+----------------------+-----------------------------------+ | 78 | Pad LED Scroll Speed | 0:Very Slow, 1:Slow, 2:Normal, | | | | 3:Fast, 4:Very Fast | +-----------+----------------------+-----------------------------------+ | 79 | Auto Power Off | 0:On, 1:Off | +-----------+----------------------+-----------------------------------+ | 80 | Mic Setting | 0:Balanced, 1:Unbalanced | +-----------+----------------------+-----------------------------------+ | 81 | Noise Gate | 0:Off, 1:Low, 2:Mid, 3:Hard | +-----------+----------------------+-----------------------------------+ | 82 | Drum Synth Level | 0~24 (-12dB ~ +12dB) | +-----------+----------------------+-----------------------------------+ | 83 | Reserved | | +-----------+----------------------+-----------------------------------+ | 84~471 | MIDI Ctrl Surface | See TABLE 2-3 | +-----------+----------------------+-----------------------------------+ | 472 | FX Release Type | 0:Cross, 1:Straight | +-----------+----------------------+-----------------------------------+ | 473 | FX Release | 0:1/64, 1:1/32, 2:1/24, 3:1/12, | | | Sync Note | 4:1/8, 5:1/6, 6:3/16, 7:1/4, | | | | 8:3/8, 9:1/2, 10:3/4, 11:1/1 | +-----------+----------------------+-----------------------------------+ | 474 | FX Release FB | 0~100 (Feedback Value) | +-----------+----------------------+-----------------------------------+ | 475 | Fader Mode | 0:Jump, 1:Catch, 2:V-Scale | +-----------+----------------------+-----------------------------------+ | 476 | Reserved | | +-----------+----------------------+-----------------------------------+ | 477 | USB Audio Routing | 0:Line In, 1:Line Out | +-----------+----------------------+-----------------------------------+ | 478 | FX Release Level | 0~100 | +-----------+----------------------+-----------------------------------+ | 479,480 | Latest BPM | 2000~30000 (20.00~300.00) (LE) | +-----------+----------------------+-----------------------------------+ | 481~512 | Reserved | | +-----------+----------------------+-----------------------------------+ TABLE 2-1 : MIDI Message Details (Offset 20~33) +-------+--------------------+--------------------------------------+ | Offset| Parameter | Description | +-------+--------------------+--------------------------------------+ | 20 | Global Channel | 0~15 | | 21 | Sample Bank A | 0~127 (Note No. or CC No.) | | 22 | Sample Bank B | " | | 23 | Sample Bank C | " | | 24 | Sample Bank D | " | | 25 | Pad X1 | " | | 26 | Pad Y1 | " | | 27 | Pad Touch 1 | " | | 28 | Pad X2 | " | | 29 | Pad Y2 | " | | 30 | Pad Touch 2 | " | | 31 | Fx Depth Knob | " | | 32 | Level Slider | " | | 33 | Touch Hold | " | +-------+--------------------+--------------------------------------+ TABLE 2-2 : Pad LED Pointer Details (Offset 54~77) +---------+------------------+--------------------------------------+ | Offset | Parameter | Description | +---------+------------------+--------------------------------------+ | 54 | Pointer 1 x0,y0 | 0:Off, 1:On | | 55 | Pointer 1 x1,y0 | " | | 56 | Pointer 1 x2,y0 | " | | 57 | Pointer 1 x0,y1 | " | | 58 | Pointer 1 x1,y1 | " | | 59 | Pointer 1 x2,y1 | " | | 60 | Pointer 1 x0,y2 | " | | 61 | Pointer 1 x1,y2 | " | | 62 | Pointer 1 x2,y2 | " | | 63 | Pointer 1 Red | 0~255 | | 64 | Pointer 1 Green | 0~255 | | 65 | Pointer 1 Blue | 0~255 | | 66 | Pointer 2 x0,y0 | 0:Off, 1:On | | 67 | Pointer 2 x1,y0 | " | | 68 | Pointer 2 x2,y0 | " | | 69 | Pointer 2 x0,y1 | " | | 70 | Pointer 2 x1,y1 | " | | 71 | Pointer 2 x2,y1 | " | | 72 | Pointer 2 x0,y2 | " | | 73 | Pointer 2 x1,y2 | " | | 74 | Pointer 2 x2,y2 | " | | 75 | Pointer 2 Red | 0~255 | | 76 | Pointer 2 Green | 0~255 | | 77 | Pointer 2 Blue | 0~255 | +---------+------------------+--------------------------------------+ TABLE 2-3 : MIDI Control Surface Details (Offset 84~471) +-----------+-------------------+-----------------------------------+ | Offset | Parameter | Value / Description | +-----------+-------------------+-----------------------------------+ | 84~87 | Pad Assign Type | 0~6 (LE) | +-----------+-------------------+-----------------------------------+ | 88~91 | Pad 1 Assign Type | 3:CC_Multi (LE) | | 92 | Pad 1 Enable | 0:Off, 1:On | | 93~97 | Reserved | 0 | | 98 | Pad 1 CC Ch | 0~15 | | 99 | Pad 1 CC No | 0~127 | | 100 | Pad 1 CC Min Val | 0~127 | | 101 | Pad 1 CC Max Val | 0~127 | | 102,103 | Reserved | 0 | +-----------+-------------------+-----------------------------------+ | 104~119 | Pad 2 | Same as Pad 1 | +-----------+-------------------+-----------------------------------+ | 120~135 | Pad 3 | Same as Pad 1 | +-----------+-------------------+-----------------------------------+ | 136~151 | Pad 4 | Same as Pad 1 | +-----------+-------------------+-----------------------------------+ | 152~167 | Pad 5 | Same as Pad 1 | +-----------+-------------------+-----------------------------------+ | 168~183 | Pad 6 | Same as Pad 1 | +-----------+-------------------+-----------------------------------+ | 184~199 | Pad 7 | Same as Pad 1 | +-----------+-------------------+-----------------------------------+ | 200~215 | Pad 8 | Same as Pad 1 | +-----------+-------------------+-----------------------------------+ | 216~219 | Touch Assign Type | 0:None, 1:Note, 2:CC_Bin, | | | | 3:CC_Multi, 4:Start, 5:Cont, | | | | 6:Stop (LE) | | 220 | Touch Enable | 0:Off, 1:On | | 221 | Touch Note Ch | 0~15 | | 222 | Touch Note No | 0~127 | | 223 | Touch Note OffVel | 0~127 | | 224 | Touch Note OnVel | 0~127 | | 225 | Touch Note SwType | 0:Toggle, 1:Momentary | | 226 | Touch CC Ch | 0~15 | | 227 | Touch CC No | 0~127 | | 228 | Touch CC Off Val | 0~127 | | 229 | Touch CC On Val | 0~127 | | 230 | Touch CC SwType | 0:Toggle, 1:Momentary | | 231 | Reserved | 0 | +-----------+-------------------+-----------------------------------+ | 232~235 | Fader Assign Type | 3:CC_Multi (LE) | | 236 | Fader Enable | 0:Off, 1:On | | 237~241 | Reserved | 0 | | 242 | Fader CC Ch | 0~15 | | 243 | Fader CC No | 0~127 | | 244 | Fader CC Min Val | 0~127 | | 245 | Fader CC Max Val | 0~127 | | 246,247 | Reserved | 0 | +-----------+-------------------+-----------------------------------+ | 248~263 | Fx Depth | Same as Fader | +-----------+-------------------+-----------------------------------+ | 264~279 | Hold | Same as Touch | +-----------+-------------------+-----------------------------------+ | 280~295 | Memory 1 | Same as Touch | +-----------+-------------------+-----------------------------------+ | 296~311 | Memory 2 | Same as Touch | +-----------+-------------------+-----------------------------------+ | 312~327 | Memory 3 | Same as Touch | +-----------+-------------------+-----------------------------------+ | 328~343 | Memory 4 | Same as Touch | +-----------+-------------------+-----------------------------------+ | 344~359 | Memory 5 | Same as Touch | +-----------+-------------------+-----------------------------------+ | 360~375 | Memory 6 | Same as Touch | +-----------+-------------------+-----------------------------------+ | 376~391 | Memory 7 | Same as Touch | +-----------+-------------------+-----------------------------------+ | 392~407 | Memory 8 | Same as Touch | +-----------+-------------------+-----------------------------------+ | 408~423 | Sample A | Same as Touch | +-----------+-------------------+-----------------------------------+ | 424~439 | Sample B | Same as Touch | +-----------+-------------------+-----------------------------------+ | 440~455 | Sample C | Same as Touch | +-----------+-------------------+-----------------------------------+ | 456~471 | Sample D | Same as Touch | +-----------+-------------------+-----------------------------------+ TABLE 3 : Sample Header Parameter +-----------+-------------------+---------------------------------------+ | Offset | Parameter | Value / Description | +-----------+-------------------+---------------------------------------+ | 0~3 | Header | "KVS\0" | +-----------+-------------------+---------------------------------------+ | 4,5 | Version | 1~ (LE) | +-----------+-------------------+---------------------------------------+ | 6~9 | Metadata Size | Size of metadata (116) (LE) | +-----------+-------------------+---------------------------------------+ | 10~13 | PCM Data Size | Size of PCM data (LE) | +-----------+-------------------+---------------------------------------+ | 14~129 | Metadata | See TABLE 3-1 | +-----------+-------------------+---------------------------------------+ TABLE 3-1 : Sample Metadata Details (Offset 14~129) +-----------+----------------------+-----------------------------------+ | Offset | Parameter | Value / Description | +-----------+----------------------+-----------------------------------+ | 14 | Play Mode | 0:None, 1:Oneshot, 2:Loop | | 15 | Trigger Mode | 0~3 | | 16~35 | Reserved | | | 36~39 | Number of Samples | 0~ (Samples) (LE) | | 40~43 | Start Point | 0~Number of Samples (LE) | | 44~47 | End Point | Start Point~Number of Samples (LE)| | 48,49 | Native BPM | 200~3000 (20.0~300.0) (LE) | | 50 | Loop Length | 1~32 (Beat) | | 51 | Reserved | | | 52~55 | Master Phase Ofs | 0~ (32-beat cycle samples) (LE) | | 56 | Level L | 0~127 | | 57 | Level R | 0~127 | | 58,59 | Reserved | | +-----------+----------------------+-----------------------------------+ | 60 | Slice 1 Play | (0:Off, 1:On) | | 61 | Slice 1 Dir | (0:Fwd, 1:Rev) | | 62 | Slice 1 Type | (0:Mute, 1:Skip) | | 63 | Slice 1 Slice No | Slice No (0~7) | +-----------+----------------------+-----------------------------------+ | 64~67 | Slice 2 | Same as Slice 1 | +-----------+----------------------+-----------------------------------+ | 68~71 | Slice 3 | Same as Slice 1 | +-----------+----------------------+-----------------------------------+ | 72~75 | Slice 4 | Same as Slice 1 | +-----------+----------------------+-----------------------------------+ | 76~79 | Slice 5 | Same as Slice 1 | +-----------+----------------------+-----------------------------------+ | 80~83 | Slice 6 | Same as Slice 1 | +-----------+----------------------+-----------------------------------+ | 84~87 | Slice 7 | Same as Slice 1 | +-----------+----------------------+-----------------------------------+ | 88~91 | Slice 8 | Same as Slice 1 | +-----------+----------------------+-----------------------------------+ | 92~95 | Slice 1 Start Points | 0~Number of Samples (LE) | | 96~99 | Slice 2 Start Points | 0~Number of Samples (LE) | | 100~103 | Slice 3 Start Points | 0~Number of Samples (LE) | | 104~107 | Slice 4 Start Points | 0~Number of Samples (LE) | | 108~111 | Slice 5 Start Points | 0~Number of Samples (LE) | | 112~115 | Slice 6 Start Points | 0~Number of Samples (LE) | | 116~119 | Slice 7 Start Points | 0~Number of Samples (LE) | | 120~123 | Slice 8 Start Points | 0~Number of Samples (LE) | +-----------+----------------------+-----------------------------------+ | 124 | Oneshot Pitch | 0~255 | | 125 | Oneshot Dir | 0:Fwd, 1:Rev | +-----------+----------------------+-----------------------------------+ | 126 | Start Point Edit | 0~64 (32=0, Unit: 1/32 Beat) | | 127~129 | Reserved | | +-----------+----------------------+-----------------------------------+ (14) VE Parameter Change R,- +-------------------+---------------------------------------------------------------+ | Byte | Description | +-------------------+---------------------------------------------------------------+ | F0,42,3g,00,01,79 | KAOSS PAD KPV Exclusive Header g;Global Channel [Hex] | | 0111 0001 (71) | VE Parameter Change | | 0iii iiii (ii) | Parameter Index (High) (Total 21bit: bits 14-20) | | 0iii iiii (ii) | Parameter Index (Mid) (Total 21bit: bits 7-13) | | 0iii iiii (ii) | Parameter Index (Low) (Total 21bit: bits 0-6) | | 0vvv vvvv (vv) | Value (Float 1st Byte) | | 0vvv vvvv (vv) | Value (Float 2nd Byte) | | 0vvv vvvv (vv) | Value (Float 3rd Byte) | | 0vvv vvvv (vv) | Value (Float 4th Byte) | | 0vvv vvvv (vv) | Value (Float 5th Byte) | | 1111 0111 (F7) | End of Exclusive (EOX) | +-------------------+---------------------------------------------------------------+ (15) VE Mapper Change R,- +-------------------+---------------------------------------------------------------+ | Byte | Description | +-------------------+---------------------------------------------------------------+ | F0,42,3g,00,01,79 | KAOSS PAD KPV Exclusive Header g;Global Channel [Hex] | | 0111 0010 (72) | VE Mapper Change | | 0mmm mmmm (mm) | Mode (0:Remove, 1:Move, 2:RemoveAll, 3:Init, 7F:Add) | | 0iii iiii (ii) | Mapper Index (0~31) | | 0ppp pppp (pp) | Point Index (0~31) | | 0vvv vvvv (vv) | In Value (Float 1st-5th Byte) (5 Bytes) | | 0vvv vvvv (vv) | Out Value (Float 1st-5th Byte) (5 Bytes) | | 1111 0111 (F7) | End of Exclusive (EOX) | +-------------------+---------------------------------------------------------------+ (16) VE PCM Loader R,- +-------------------+---------------------------------------------------------------+ | Byte | Description | +-------------------+---------------------------------------------------------------+ | F0,42,3g,00,01,79 | KAOSS PAD KPV Exclusive Header g;Global Channel [Hex] | | 0111 0011 (73) | VE PCM Loader | | 0ttt tttt (tt) | Type (0:SampleOsc, 1:IR Loader) | | 0sss ssss (ss) | Slot (0~4) | | 1111 0111 (F7) | End of Exclusive (EOX) | +-------------------+---------------------------------------------------------------+ (17) VE Finger Mode R,- +-------------------+---------------------------------------------------------------+ | Byte | Description | +-------------------+---------------------------------------------------------------+ | F0,42,3g,00,01,79 | KAOSS PAD KPV Exclusive Header g;Global Channel [Hex] | | 0111 0100 (74) | VE Finger Mode | | 0mmm mmmm (mm) | Mode (0:Finger 1, 1:Finger 2) | | 1111 0111 (F7) | End of Exclusive (EOX) | +-------------------+---------------------------------------------------------------+ (18) VE Program Change R,- +-------------------+---------------------------------------------------------------+ | Byte | Description | +-------------------+---------------------------------------------------------------+ | F0,42,3g,00,01,79 | KAOSS PAD KPV Exclusive Header g;Global Channel [Hex] | | 0111 0101 (75) | VE Program Change | | 1111 0111 (F7) | End of Exclusive (EOX) | +-------------------+---------------------------------------------------------------+ TABLE 4 : VE Parameter Map (Parameter Index) +---------------------------+---------------------------------------------------+ | Index Range | Description | +---------------------------+---------------------------------------------------+ | 100 + 9*n + p | LFO n (n=0~3) Parameter p (p=0~8) | | 200 + 4*n + p | EG n (n=0~3) Parameter p (p=0~3) | | 300 + 6*n + p | Follower n (n=0~1) Parameter p (p=0~5) | | 400 + 9*n + p | Mixer Slot n (n=0~4) Parameter p (p=0~8) | | 500 + 5*n + p | Virtual Patch n (n=0~31) Parameter p (p=0~4) | | 1000 + 3200*s + 64*b + p | Effect Slot s (s=0~4) Block b Parameter p (p=0~63)| +---------------------------+---------------------------------------------------+ s: Slot Index (0-4) b: Algorithm Block Index (See TABLE 5) p: Parameter Index within the block (For detailed parameter list, please refer to the separate parameter document.) TABLE 5 : Effect Algorithm Block Map +----+------------------+-------+ | ID | Algorithm Name | Block | +----+------------------+-------+ | 0 | No Effect | 0 | | 1 | Analog Osc | 1 | | 2 | Sample Osc | 2 | | 3 | Parametric EQ | 3 | | 4 | Compressor | 4 | | 5 | Filter | 5 | | 6 | Isolator | 6 | | 7 | Graphic EQ | 7 | | 8 | Distortion | 8 | | 9 | Decimator | 9 | | 10 | Delay | 10 | | 11 | Tape Echo | 11 | | 12 | Chorus | 12 | | 13 | Flanger | 13 | | 14 | Phaser | 14 | | 15 | Tremolo | 15 | | 16 | Ring Mod | 16 | | 17 | Pitch Shifter | 27 | | 18 | Grain Shifter | 17 | | 19 | Looper | 18 | | 20 | Vinyl Break | 19 | | 21 | Reverb | 20 | | 22 | Shimmer | 21 | | 23 | Early Reflection | 22 | | 24 | IR Loader | 23 | | 25 | Vocal FX | 24 | | 26 | Drone | 25 | | 27 | Chord Resonator | 26 | +----+------------------+-------+ NOTE 5: Float Data Format (32bit Float -> 5 MIDI Bytes) The 32-bit Float value is transmitted as 5 MIDI bytes (7-bit). The 32-bit value (Integer representation) is split as follows: 32-bit Data: b31 b30 ... b0 MIDI Byte 1: 0 b31 b30 b29 b28 b27 b26 b25 (Bits 31-25) MIDI Byte 2: 0 b24 b23 b22 b21 b20 b19 b18 (Bits 24-18) MIDI Byte 3: 0 b17 b16 b15 b14 b13 b12 b11 (Bits 17-11) MIDI Byte 4: 0 b10 b09 b08 b07 b06 b05 b04 (Bits 10-4) MIDI Byte 5: 0 b03 b02 b01 b00 0 0 0 (Bits 3-0, shifted left 3) (19) Pad LED Single Grid Write R,- +-------------------+---------------------------------------------------------------+ | Byte | Description | +-------------------+---------------------------------------------------------------+ | F0,42,3g,00,01,79 | KAOSS PAD KPV Exclusive Header g;Global Channel [Hex] | | 0111 1011 (7B) | Pad LED Single Grid Write | | 0xxx xxxx (xx) | X Position (0~7) | | 0yyy yyyy (yy) | Y Position (0~7) | | 0000 rrrr (0r) | Red Upper 4bit (MSB) | | 0000 rrrr (0r) | Red Lower 4bit (LSB) (Total: 0~255) | | 0000 gggg (0g) | Green Upper 4bit (MSB) | | 0000 gggg (0g) | Green Lower 4bit (LSB) (Total: 0~255) | | 0000 bbbb (0b) | Blue Upper 4bit (MSB) | | 0000 bbbb (0b) | Blue Lower 4bit (LSB) (Total: 0~255) | | 1111 0111 (F7) | End of Exclusive (EOX) | +-------------------+---------------------------------------------------------------+ (20) Pad LED Write R,- +-------------------+---------------------------------------------------------------+ | Byte | Description | +-------------------+---------------------------------------------------------------+ | F0,42,3g,00,01,79 | KAOSS PAD KPV Exclusive Header g;Global Channel [Hex] | | 0111 1100 (7C) | Pad LED Write | | 0000 rrrr (0r) | LED 0 Red Upper 4bit (MSB) | | 0000 rrrr (0r) | LED 0 Red Lower 4bit (LSB) (Total: 0~255) | | 0000 gggg (0g) | LED 0 Green Upper 4bit (MSB) | | 0000 gggg (0g) | LED 0 Green Lower 4bit (LSB) (Total: 0~255) | | 0000 bbbb (0b) | LED 0 Blue Upper 4bit (MSB) | | 0000 bbbb (0b) | LED 0 Blue Lower 4bit (LSB) (Total: 0~255) | | : | : | | 0000 bbbb (0b) | LED 63 Blue Upper 4bit (MSB) | | 0000 bbbb (0b) | LED 63 Blue Lower 4bit (LSB) (Total: 0~255) | | 1111 0111 (F7) | End of Exclusive (EOX) | +-------------------+---------------------------------------------------------------+ APPENDIX 1 : Preset Data (*.preset) Structure * All multi-byte data is Little Endian. * Reserved parameters should be set to 0. * For detailed parameter definitions, please refer to the separate parameter document. +------------------+-----------------------------+---------------------+ | Offset | Parameter | Size / Description | +------------------+-----------------------------+---------------------+ | 0~3 | Category ID | 4 bytes (See NOTE 6)| | 4~7 | Category Index | 4 bytes (See NOTE 7)| | 8~11 | Program Index | 4 bytes (See NOTE 8)| | 12~1692 | Program Parameters | 1681 bytes | | 1693~10012 | Virtual Patch Mappers | 8320 bytes | | 10013~10036 | PCM Reference Table | 24 bytes | | 10037 | Touch Mode | 1 or 2 | | 10038~10069 | Preset Name | 32 bytes (ASCII) | | 10070~10084 | Reserved | 15 bytes | +------------------+-----------------------------+---------------------+ Total Size: 10085 bytes NOTE 6: Category ID Specifies the category the preset belongs to. +----+------------------+ | ID | Category Name | +----+------------------+ | 0 | Filter | | 1 | Color | | 2 | Modulation | | 3 | LFO | | 4 | Delay | | 5 | Reverb | | 6 | Looper | | 7 | Kaoss | | 8 | Vocal | | 9 | Drum | | 10 | Synth | | 11 | User | +----+------------------+ NOTE 7: Category Index The 0-based index of the preset within its specific category. NOTE 8: Program Index The 0-based global index of the program. 1. Program Parameters Structure (Offset 12~1692) +------------------+-------------------------------+---------------------------+ | Offset (Relative)| Parameter | Size / Description | +------------------+-------------------------------+---------------------------+ | 0~604 | Fx Slots (5 slots) | 121 * 5 = 605 bytes | | 605~784 | Mixer Params (5 slots) | 9 * 4 * 5 = 180 (float) | | 785~928 | LFO Params (4 slots) | 9 * 4 * 4 = 144 (float) | | 929~992 | EG Params (4 slots) | 4 * 4 * 4 = 64 (float) | | 993~1040 | Follower Params (2 slots) | 6 * 4 * 2 = 48 (float) | | 1041~1680 | Virtual Patch Params(32 slots)| 5 * 4 * 32 = 640 (float) | +------------------+-------------------------------+---------------------------+ * Fx Slot Structure (121 bytes) +--------------------+--------------------------+ | Offset (Relative) | Description | +--------------------+--------------------------+ | 0 | Algorithm ID (1 byte) | | 1~120 | Params (30 * float) | +--------------------+--------------------------+ 2. Virtual Patch Mapper Structure (Offset 1693~10012) Contains 32 Mapper structures (260 bytes each). * Mapper Structure (260 bytes) +--------------------+--------------------------+ | Offset (Relative) | Description | +--------------------+--------------------------+ | 0~255 | Points (32 * 8 bytes) | | 256 | Point Count | | 257-259 | Reserved | +--------------------+--------------------------+ * Mapper Point Structure (8 bytes) +--------------------+--------------------------+ | Offset (Relative) | Description | +--------------------+--------------------------+ | 0~3 | In Value (Float) | | 4~7 | Out Value (Float) | +--------------------+--------------------------+ 3. PCM Reference Table Structure (Offset 10013~10036) +--------------------+--------------------------+ | Offset (Relative) | Description | +--------------------+--------------------------+ | 0~19 | Entries (5 * 4 bytes) | | 20 | Count (1 byte) | | 21~23 | Reserved (3 bytes) | +--------------------+--------------------------+ * PCM Reference Entry (4 bytes) +--------------------+--------------------------+ | Offset (Relative) | Description | +--------------------+--------------------------+ | 0 | Fx Slot Index(0~4) | | 1 | Reserved | | 2,3 | PCM Index (0~65535) | +--------------------+--------------------------+