VOX ToneLab EX MIDI IMPLEMENTATION Version 1.0 (18 Jul 2012) 1.TRANSMITTED DATA 1-1 UNIVERSAL SYSTEM EXCLUSIVE MESSAGE DEVICE INQUIRY REPLY +--------+-----------------------------------------------+ | Byte | Description | | [hex] | | +--------+-----------------------------------------------+ | F0 | Exclusive Status | | 7E | Non Realtime Message | | 00 | Device ID (MIDI Channel) | | 06 | Inquiry Message | | 02 | Identity reply | | 42 | KORG ID ( Manufacturers ID ) | | 10 | ToneLab EX ID ( Family ID (LSB)) | | 01 | ( Family ID (MSB)) | | 00 | ( Member ID (LSB)) | | 00 | ( Member ID (MSB)) | | vv | 00~ ( Minor Ver. (LSB)) | | 00 | ( Minor Ver. (MSB)) | | vv | 01~ ( Major Ver. (LSB)) | | 00 | ( Major Ver. (MSB)) | | F7 | End of Exclusive | +--------+-----------------------------------------------+ This message is transmitted whenever a INQUIRY MESSAGE REQUEST is received. 1-2 KORG SYSTEM EXCLUSIVE MESSAGE +--------+----------------------------------+ | Byte | Description | | [hex] | | +--------+----------------------------------+ | F0 | Exclusive Status | | 42 | KORG ID | | 30 | Format ID | | 00 | ToneLab EX ID | | 01 | | | 10 | | | ff | Function Code | | (dd) | Data | | F7 | End of Exclusive | +--------+----------------------------------+ See 3.KORG SYSTEM EXCLUSIVE MESSAGE FORMAT for more info. 2. RECOGNIZED RECEIVE DATA 2-1 UNIVERSAL SYSTEM EXCLUSIVE MESSAGE DEVICE INQUIRY MESSAGE REQUEST +--------+----------------------+ | Byte | Description | | [hex] | | +--------+----------------------+ | F0 | Exclusive Status | | 7E | Non Realtime Message | | nn | Device ID | | 06 | Inquiry Message | | 01 | Inquiry Request | | F7 | End of Exclusive | +--------+----------------------+ nn = 00 :MIDI Channel = 7F :Any Channel 2-2 KORG SYSTEM EXCLUSIVE MESSAGE +--------+----------------------------------+ | Byte | Description | | [hex] | | +--------+----------------------------------+ | F0 | Exclusive Status | | 42 | KORG ID | | 30 | Format ID | | 00 | ToneLab EX ID | | 01 | | | 10 | | | ff | Function Code | | (dd) | Data | | F7 | End of Exclusive | +--------+----------------------------------+ See 3.KORG SYSTEM EXCLUSIVE MESSAGE FORMAT for more info. 3.KORG SYSTEM EXCLUSIVE MESSAGE FORMAT Function Code List (R:Receive, T:Transmit) +--------+-------------------------------------------+-----+-----------+ | Func | Description | R | T | | [hex] | | | (*1) (*2) | +--------+-------------------------------------------+-----+-----+-----+ | 12 | MODE REQUEST | o | | | | | | | | | | 10 | CURRENT PROGRAM DATA DUMP REQUEST | o | | | | 1C | PROGRAM DATA DUMP REQUEST | o | | | | 11 | PROGRAM WRITE REQUEST | o | | | | | | | | | | 42 | MODE DATA | | r | | | | | | | | | 40 | CURRENT PROGRAM DATA DUMP | o | r | | | 4C | PROGRAM DATA DUMP | o | r | | | | | | | | | 4E | MODE CHANGE | o | | P | | | | | | | | 26 | DATA FORMAT ERROR | | E | | | 23 | DATA LOAD COMPLETED | | E | | | 24 | DATA LOAD ERROR | | E | | | 21 | WRITE COMPLETED | | E | W | | 22 | WRITE ERROR | | E | | +--------+-------------------------------------------+-----+-----+-----+ *1 : Transmitted when r : Request message is received. E : Exclusive message is received. *2 : Transmitted when P : Program is changed by Switch. W : DATA WRITE by Switch is completed. (1) MODE REQUEST R +-------------------+-------------------------------------------------------+ | Byte | Description | +-------------------+-------------------------------------------------------+ | F0,42,30,00,01,10 | Exclusive Header | | 12 | Function Code | | F7 | End of Exclusive | +-------------------+-------------------------------------------------------+ Receives this message, and transmits Func=42 message. (2) CURRENT PROGRAM DATA DUMP REQUEST R +-------------------+-------------------------------------------------------+ | Byte | Description | +-------------------+-------------------------------------------------------+ | F0,42,30,00,01,10 | Exclusive Header | | 10 | Function Code | | F7 | End of Exclusive | +-------------------+-------------------------------------------------------+ Receives this message, and transmits Func=40 or Func=24 message. (3) PROGRAM DATA DUMP REQUEST R +-------------------+-------------------------------------------------------+ | Byte | Description | +-------------------+-------------------------------------------------------+ | F0,42,30,00,01,10 | Exclusive Header | | 1C | Function Code | | 0010 0000 | (Reserved) | | 0ppp pppp | User Program No. | | F7 | End of Exclusive | +-------------------+-------------------------------------------------------+ Receives this message, and transmits Func=4C or Func=24 message. (4) PROGRAM WRITE REQUEST R +-------------------+-------------------------------------------------------+ | Byte | Description | +-------------------+-------------------------------------------------------+ | F0,42,30,00,01,10 | Exclusive Header | | 11 | Function Code | | 00 | (Reserved) | | 0ppp pppp | User Program No. | | F7 | End of Exclusive | +-------------------+-------------------------------------------------------+ Receives this message, write the data and transmits Func=21 or Func=22 message. (5) CURRENT PROGRAM DATA DUMP R , T +-------------------+-------------------------------------------------------+ | Byte | Description | +-------------------+-------------------------------------------------------+ | F0,42,30,00,01,10 | Exclusive Header | | 40 | Function Code | | 0ddd dddd | Data (NOTE 1,3) | | : | : | | F7 | End of Exclusive | +-------------------+-------------------------------------------------------+ Receives this message & data, saves them to Current Buffer and transmits Func=23 or Func=24 message. Receives Func=10 message, and transmits this message & data. (6) PROGRAM DATA DUMP R , T +-------------------+-------------------------------------------------------+ | Byte | Description | +-------------------+-------------------------------------------------------+ | F0,42,30,00,01,10 | Exclusive Header | | 4C | Function Code | | 0010 0000 | (Reserved) | | 0ppp pppp | User Program No. | | 0ddd dddd | Data (NOTE 2,3) | | : | : | | F7 | End of Exclusive | +-------------------+-------------------------------------------------------+ Receives this message & data, saves them to Internal Memory and transmits Func=23 or Func=24 message. Receives Func=1C message, and transmits this message & data. (7) MODE CHANGE R , T +-------------------+-------------------------------------------------------+ | Byte | Description | +-------------------+-------------------------------------------------------+ | F0,42,30,00,01,10 | Exclusive Header | | 4E | Function Code | | 0000 000s | User(0)/Preset(1) | | 0ppp pppp | Program No. | | F7 | End of Exclusive | +-------------------+-------------------------------------------------------+ Receives this message & data, changes the Program and transmits Func=23 or Func=24. When the Program is changed by Switch, transmits this message & data. (8) MODE DATA T +-------------------+-------------------------------------------------------+ | Byte | Description | +-------------------+-------------------------------------------------------+ | F0,42,30,00,01,10 | Exclusive Header | | 42 | Function Code | | 0000 000s | User(0)/Preset(1) | | 0ppp pppp | Program No. | | F7 | End of Exclusive | +-------------------+-------------------------------------------------------+ Receives Func=12 message, and transmits this message & data. (9) DATA FORMAT ERROR T +-------------------+-------------------------------------------------------+ | Byte | Description | +-------------------+-------------------------------------------------------+ | F0,42,30,00,01,10 | Exclusive Header | | 26 | Function Code | | F7 | End of Exclusive | +-------------------+-------------------------------------------------------+ Transmits this message when there is an error in the MIDI IN message. (10) DATA LOAD COMPLETED (ACK) T +-------------------+-------------------------------------------------------+ | Byte | Description | +-------------------+-------------------------------------------------------+ | F0,42,30,00,01,10 | Exclusive Header | | 23 | Function Code | | F7 | End of Exclusive | +-------------------+-------------------------------------------------------+ Transmits this message when DATA LOAD, PROCESSING have been completed. (11) DATA LOAD ERROR (NAK) T +-------------------+-------------------------------------------------------+ | Byte | Description | +-------------------+-------------------------------------------------------+ | F0,42,30,00,01,10 | Exclusive Header | | 24 | Function Code | | F7 | End of Exclusive | +-------------------+-------------------------------------------------------+ Transmits this message when DATA LOAD, PROCESSING have not been completed. (12) WRITE COMPLETED T +-------------------+-------------------------------------------------------+ | Byte | Description | +-------------------+-------------------------------------------------------+ | F0,42,30,00,01,10 | Exclusive Header | | 21 | Function Code | | 00 | (Reserved) | | 0ppp pppp | User Program No. | | F7 | End of Exclusive | +-------------------+-------------------------------------------------------+ Transmits this message when DATA WRITE has been completed. (13) WRITE ERROR T +-------------------+-------------------------------------------------------+ | Byte | Description | +-------------------+-------------------------------------------------------+ | F0,42,30,00,01,10 | Exclusive Header | | 22 | Function Code | | 00 | (Reserved) | | 0ppp pppp | User Program No. | | F7 | End of Exclusive | +-------------------+-------------------------------------------------------+ Transmits this message when DATA WRITE MIDI has not been completed. NOTE 1: CURRENT PROGRAM DATA (in Current Buffer) DUMP FORMAT 32 bytes = 7*4+4 -> 8*4+(1+4) => 37 bytes (TABLE 1) NOTE 2: PROGRAM DATA (in Internal Memory) DUMP FORMAT Same as CURRENT PROGRAM DATA DUMP FORMAT. NOTE 3: 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 ] PROGRAM PARAMETERS No. : Address in the PROGRAM DATA DUMP. +---------+-----------------------+---------+--------------------------------+ | No. | PARAMETER | DATA | VALUE | | [dec] | | [hex] | | +---------+-----------------------+---------+--------------------------------+ | EFFECT STATUS | +---------+-----------------------+---------+--------------------------------+ | 00 b0 | PEDAL 1 | 00,01 | Off,On | | -----+-----------------------+---------+--------------------------------+ | b1 | PEDAL 2 | 00,01 | Off,On | | -----+-----------------------+---------+--------------------------------+ | b2 | AMP / S.A PEDALS | 00,01 | Off,On | | -----+-----------------------+---------+--------------------------------+ | b3 | CABINET | 00,01 | Off,On | | -----+-----------------------+---------+--------------------------------+ | b4 | MODULATION | 00,01 | Off,On | | -----+-----------------------+---------+--------------------------------+ | b5 | DELAY | 00,01 | Off,On | | -----+-----------------------+---------+--------------------------------+ | b6 | REVERB | 00,01 | Off,On | | -----+-----------------------+---------+--------------------------------+ | b7 | (Reserved) | | | +---------+-----------------------+---------+--------------------------------+ | PEDAL 1 PARAMETERS | +---------+-----------------------+---------+--------------------------------+ | 01 | Type | 00~03 | | +---------+-----------------------+---------+--------------------------------+ | 02 | Parameter | 00~1E | 0~30 | +---------+------------------------------------------------------------------+ | PEDAL 2 PARAMETERS | +---------+-----------------------+---------+--------------------------------+ | 03 | Type | 00~0A | | +---------+-----------------------+---------+--------------------------------+ | 04 | Parameter | 00~64 | 0.0~10.0 | +---------+------------------------------------------------------------------+ | AMP / S.A PEDALS PARAMETERS | +---------+-----------------------+---------+--------------------------------+ | 05 | Model | 00~2B | | +---------+-----------------------+---------+--------------------------------+ | 06 | GAIN | 00~64 | 0.0~10.0 | +---------+-----------------------+---------+--------------------------------+ | 07 | VOLUME | 00~64 | 0.0~10.0 | +---------+-----------------------+---------+--------------------------------+ | 08 | TREBLE | 00~64 | 0.0~10.0 | +---------+-----------------------+---------+--------------------------------+ | 09 | MIDDLE | 00~64 | 0.0~10.0 | +---------+-----------------------+---------+--------------------------------+ | 10 | BASS | 00~64 | 0.0~10.0 | +---------+-----------------------+---------+--------------------------------+ | CAABINE / NR PARAMETERS | +---------+-----------------------+---------+--------------------------------+ | 11 | PRESENCE | 00~64 | 0.0~10.0 | +---------+-----------------------+---------+--------------------------------+ | 12 | NR SENS | 00~32 | 0.0~10.0 | +---------+-----------------------+---------+--------------------------------+ | 13 | CABINET Type | 00~0A | 1~10 | +---------+------------------------------------------------------------------+ | REVERB PARAMETERS | +---------+-----------------------+---------+--------------------------------+ | 14 | Type | 00~02 | | +---------+-----------------------+---------+--------------------------------+ | 15 | Parameter | 00~28 | 0~40 | +---------+------------------------------------------------------------------+ | MODULATION PARAMETERS | +---------+-----------------------+---------+--------------------------------+ | 16 | Type | 00~0A | | +---------+-----------------------+---------+--------------------------------+ | 17 | Parameter 1 | 00~64 | 0.0~10.0 | +---------+------------------------------------------------------------------+ | 18 | Parameter 2 | ??~?? | depends on Type | +---------+------------------------------------------------------------------+ | 19~20 | Parameter 3 | ??~?? | depends on Type | +---------+------------------------------------------------------------------+ | DELAY PARAMETERS | +---------+-----------------------+---------+--------------------------------+ | 21 | Type | 00~03 | | +---------+-----------------------+---------+--------------------------------+ | 22 | LEVEL | 00~1E | 0~30 | +---------+------------------------------------------------------------------+ | 23 | FEEDBACK | 00~64 | 0.0~10.0 | +---------+------------------------------------------------------------------+ | 24~25 | TIME | 28~5C8 | 40~1480 [ms] | +---------+------------------------------------------------------------------+ | EXPRESSION PEDAL | +---------+-----------------------+---------+--------------------------------+ | 26 | Target | 00 | Off | | | | 01 | VOLUME | | | | 04 | PEDAL 1 Param | | | | 08 | PEDAL 2 Param | | | | 0C | AMP / S.A PEDALS GAIN | | | | 10~12 | MODULATION Param 1~3 | | | | 14,15 | DELAY Input, FEEDBACK | | | | 18 | REVERB Input | +---------+-----------------------+---------+--------------------------------+ | 27~28 | Range (min) | ??~?? | depends on Target | +---------+-----------------------+------------------------------------------+ | 29~30 | Range (max) | ??~?? | depends on Target | +---------+-----------------------+---------+--------------------------------+ | 31 | (Reserved) | | | +---------+-----------------------+---------+--------------------------------+