
4.2.3.1 Setting Examples
Example 1: Sending the Save MIDI Setup message using Universal DevID
Header Block(Hexadecimal)
00 | F0 | [System Exclusive Status] |
01 | 44 | [Manufacturer's ID] 44H = CASIO ID |
02 | 7E | [Model ID MSB] |
03 | 02 | [Model ID LSB] |
04 | 00 | [Message Version] |
057F SysEx Device Id (Universal) Data Block
06 | 00 | tt | :Message Type |
07 | 00 | d0[0] | :Message Id |
08 | 20 | d1[0] | :System Parameter ID |
0900 d2[0] :Data (Save = 0)
EOX
10F7 [EOX]
Example 2: DSP Initialize
Header Block(Hexadecimal)
00 | F0 | [System Exclusive Status] |
01 | 44 | [Manufacturer's ID] 44H = CASIO ID |
02 | 7E | [Model ID MSB] |
03 | 02 | [Model ID LSB] |
04 | 00 | [Message Version] |
0510 SysEx Device Id Data Block
06 | 00 | tt | :Message Type |
07 | 00 | d0[0] | :Message Id |
0822 d1[0] :System Parameter ID
097F d2[0] :Data
EOX
10 F7 [EOX]
4.3 Patch MIDI Overview
4.3.1 MIDI Messages Received by Patch
4.3.1.1 Patch Parameter Configuration
The patch parameters can be broadly divided into the following blocks.
1.Tone Generator: Sound source setting block
2.Effect Module Select: Effect select block
3.Actual Effect: Actual effect image
4.Actual Mixer: Actual mixer image
5.Effect Macro Select: Effect macro select block
In the case of the Actual Effect and Actual Mixer, effect and mixer settings can be saved and restored by a bulk dump, which means these settings are integral parts of the patch parameter and they cannot be edited as patch parameter data. Because of this, these two blocks are not covered here.
For details on the remaining blocks, see each patch parameter block MIDI implementation as indicated below.
1.Patch Tone Generator (4.4)
2.Patch Effect Module Select (4.5)
3.Patch Effect Macro Select (4.6)
4.3.1.2 Patch Parameter Set Bulk Dump
The patch Parameter Set can be sent and received using bulk dump. There are two protocols, One- Way and Handshake, which are the same as those described under "4.1
The following shows the section that applies to effects only.
tt | 0100aaaa | aaaa = BDS..."SYSEX_ACT_BDS" = 02H |
|
| BDR..."SYSEX_ACT_BDR" = 03H |
|
| HDS..."SYSEX_ACT_HDS" = 04H |
|
| HDR..."SYSEX_ACT_HDR" = 05H |
|
| HDA..."SYSEX_ACT_HDA" = 06H |
|
| HDJ..."SYSEX_ACT_HDJ" = 07H |
|
| HDE..."SYSEX_ACT_HDE" = 08H |
d0[0] | 0ooocccc | cccc = Parameter Set Category = Patch = 01H |
|
| ooo = 00H |
d0[1] | 0ttttttt | 0TTTTTTT0ttttttt = Type ID = 0000 Fixd |
d0[2] | 0TTTTTTT |
|
d0[3] | 0mmmmmmm | 0MMMMMMM0mmmmmmm = Mdev ID = Internal RAM = 2F00 Fixd |
d0[4] | 0MMMMMMM |
|
d0[5] | 0sssssss | 00SSSSSSSsssssss = Section Number = 0000 Fixd |
d0[6] | 0SSSSSSS |
|
d0[7] | 0nnnnnnn | 00NNNNNNNnnnnnnn = PS Number = 0000 Fixd |
d0[8] | 0NNNNNNN |
|
The volume of data that follows the above is very large, so it is not included here. This data can be looked up by sending HDR and BDR.
4.4 Patch Tone Generator
4.4.1 General
This sound source control parameter is the tone generator block within the patch parameter.
4.4.2 Patch Tone Generator Parameter Control Message Format
tt | 0100aaaa | aaaa = IPC..."SYSEX_ACT_IPC" = 00H | |
|
| IPR..."SYSEX_ACT_IPR" = 01H | |
d0[0] | 00100000 | Parameter Modify | |
d0[1] | 0000cccc | cccc = Category = CAT_PATCH = 01H | |
d0[2] | 0ttttttt | 0TTTTTTT0ttttttt = Type ID | |
|
| = Tg Type ID for operation = 00H | |
d0[3] | 0TTTTTTT |
|
|
d0[4] | 0mmmmmmm | 0MMMMMMM0mmmmmmm = MDEV ID = 2F00H | |
d0[5] | 0MMMMMMM |
|
|
d0[6] | 0sssssss | 0SSSSSSS0sssssss = Section Number = 0000Hå≈ íË | |
d0[7] | 0SSSSSSS |
|
|
d0[8] | 0nnnnnnn | 00NNNNNNNnnnnnnn = PS Number = 00H | |
d0[9] | 0NNNNNNN |
|
|
d0[10] | 0ppppppp | qqPPPPPPPppppppp = Parameter ID | |
d0[11] | 0PPPPPPP |
| (See the following section for details.) |
d0[12] | 0rbbbbqq bbbb = number of parameter block - 1 = 02H | ||
| Target operation Tg Type ID => Operation Tg Type ID | ||
| (See next section.) => (See next section.) | ||
| For Scale Tune only, r = 1 => For Scale Tune only: r = 1 | ||
| Other parameters are not arrays, and so r = 0. | ||
d1[0] | 0iiiiiii 0iiiiiii = I:Main Block = 00H |
| |
d1[1] | 0jjjjjjj 0jjjjjjj = J:TgPatch = 00H |
| |
d1[2] | 0kkkkkkk 0kkkkkkk = K:TgCommon | = 00H | |
d1[2] | 0kkkkkkk 0kkkkkkk = K:Part | = 00H - |
These values are used when Part Index is specified.
When r = 1 only (d2[0] to d2[2]) d2[0] 0ooooooo
d2[1] 0ppppppp oooooooppppppp = top index number of array to send (transfer start array number)
d2[2] 0qqqqqqq qqqqqqq = number of array member to send (Members sent inside this packet)
17