Примем по умолчанию, заголовок F0 42 3(?) 35, где
F0 | Exclusive status | 42 | Korg ID | 3(?) | Global channel | 35 | X3 ID |
Global midichannel | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | (?) значение | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F |
Далее просто необходим код операции.
Код операции | Описание | 42 | Mode Data | 47 | All Drum Sound (PCM Card) Name Dump | 45 | All Multisound Sound (PCM Card) Name Dump | 4E | Mode Change | 41 | Parameter Change | 53 | Drumkit Parameter Change | 40 | Program Parameter Dump | 4C | All Program Parameter Dump | 49 | Combination Parameter Dump | 4D | All Combination Parameter Dump | 48 | All Sequence Data Dump | 51 | Global Data Dump | 52 | Drums Data Dump | 50 | All Data (Global, Drum, Combi) Dump | 26 | Received Message Format Error | 23 | Data Load Complete | 24 | Data Load Error | 21 | Write Completed | 22 | Write Error |
Далее поле данных. Эта часть sysex включает две вещи: номер параметра, который Вы желаете изменить, и значение этого параметра. Однако размещение полей в превое время может вызвать недоумение. Дело в том, что
структура одного информационного поля следующая: LSB MSB - нижний, верхний регистр. Т.о. чтобы задать параметру, к примеру, 1 значение 5, Вы должны записать следующее: 01 00 05 00 (каждые две части в обратном порядке).
И наконец, каждое сообщение заканчивается значением F7.
Sysex: примеры использования.
Example 1: mode changeWe willsee in this example how to change Korg X3 modes, (i.e. PROGAM, COMBI, EDIT PROGRAM, EDIT COMBI, SEQ, EDIT SEQ, GLOBAL et DISKmodes). We can seehere that the mode change function code is 4E The use of this code function is shown below:
Bytes | Description | F0 42 3g 35 | header | 4E | Mode Change | 0m | Mode data | 00 | | F7 | EOX |
(page 193 of the operating manual)
The mode is given by the m value:
0: Combination | 3: Edit Program | 6: Global | 1: Edit Combi | 4: Sequencer | 7: Disk | 2: Program | 5: Edit Sequencer | |
(note 11, page 195 of the operating manual)
To work inthe combination mode for example, you have to send the following sysex (global channel 1):
F0 42 30 35 4E 00 00 F7
And for the sequencer mode:
F0 42 30 35 4E 04 00 F7
Easy,isn't it ? You canput this at the beginning of a song (with cubase or cakewalk for example). This will put the Korg X3's mode to sequencer when youstart playing the song.
Example 2: How to change sounds parameters ?
We willhere change sounds parameters via sysex. More precisely, we will change the first oscillator's panoramic.We first have to place the keyboard in the edit program mode by the following sysex:
F0 42 30 35 4E 03 00 F7.
We can seein the herethat the mode change function code is 41 The use of this code function is shown here
Bytes | Description | F0 42 3g 35 | header | 0100 0001 (41) | Parameter change | 0ppp pppp (pp) | Parameter number (LSB) (table 6~9) | 0ppp pppp (pp) | Parameter number (MSB) (table 6~9) | 0vvv vvvv (vv) | Value (LSB bit6~0) (note 12) | 0vvv vvvv (vv) | Value (MSB bit13~7) (note 12) | 1111 0111 (F7) | EOX |
(note 23,page 194 of the operating manual)
The notes in italics refer to tables and notes of the operationg manual, where we can found how to use the parameterchange function code.Table 6 corresponds to program parameters. This table shows all the parameters of a sound in the X3. Here isan extract of this table. The parameter that interrets us is in red color.
N0. | PARAMETER | N0 of table 1 | ..... | .......... | ....... | 20 | VDA Amplitude | 36 | JOYSTICK | 21 | VDF MG Int | 39 | 22 | Pitch Bend Range | 37 | 23 | VDF Sweep Int | 38 | OSC-1 | 24 | Multisound | 12,13 | 25 | Level | 65 | 26 | Octave | 14 | 27 | Pitch EG Int | 40 | 28 | A:BPan> | 86 | td>29 td>C Send Level td>82 bit4~7 td>30 td>D Send Level td>82 bit0~3 colspan="3">VDF-1 31 | Cutoff Value | 50 | 32 | EG Intensity | 53 | ..... | ......... | ......... |
tabe 7 (table 6, page 199 of theoperating manual)
The parameter number that corresponds to the panoramic is 28. Be careful, this value is expressed in thedecimal system. You have to convert it in the hexadecimal system, giving 1C. Remind that you must write the function code ina reversed way. So we write 1C 00. The third column of table 7 refers to table 1. In this table, the way to calculatethe value to send is explained. Here, we have to refer to number 86 of table 1. Here is an extract of this table:
N0. | PARAMETER | DATA (Hex): VALUE | ..... | ........ | ........... | VDF-1, VDA-1 KBD TRACK MODE | 85 | F-1, A-1 KBD Track Mode | *4 | OSC-1 PANPOT | 86 | A:B PAN | 00~1E,FF *5 | OSC-2 PARAMETER | 87 --- 133 | Same as Osc-1 (40~86) | ..... | ........ | ........... |
table 8 (extact of table 1, page 196 of the operating manual)
The valuesof the panoramic control vary between 00 et 1E. (*5) indicates that more informations are available:
00 | A | .... | .... | 0F | CNT | .... | .... | 1E | B | 1F | PRG (Only Comb. Seq data) | FF | OFF |
table 9 (remark 5, page 196 of the operating manual)
To set thepanoramic of the first oscillator, you have to send the 00 00 value for a 14A pan, the 01 00 for the 13Avalue, the value 02 00... (don't forget to write it in a reversed way, 02 00 instead of 00 02). For example, to set the pan to CNT, you have to send the 0F 00 value.
Octets | Description | F0 42 30 35 | Header (channel 1) | 41 | Parameter change | 1C | oscillator 1 panoramic parameter (LSB) | 00 | oscillator 1 panoramic parameter (MSB) | 0F | panoramic value(LSB) | 00 | panoramic value(MSB) | F7 | EOX |
You have to sent the following sysex: F0 42 30 35 41 1C 00 0F 00 F7 |