As a MIDI device, this Instrument consists of the System Section, Performance Controller Section, and
Sound Generator Section described below. Each of these sections can send and receive specific MIDI
Messages in accordance with its function.
1.1System Section
The System Section manages the Instrument status and user data. A communication method known as
a ”bulk dump” can be used for two-way transfer of user data between the Instrument and a computer.
1.2Performance Controller Section
The Performance Controller Section performs keyboard play and controller operations, and generates
performance messages in accordance with auto play, etc. Basically, generated performance messages are
sent to external destinations while also being transmitted to the Sound Generator Section. The channel
number of the sent channel message is in accordance with the Instrument’s instrument part number.
MIDI Output Performance InformationThe following describes the performance information
that is output and is not output as MIDI signals.
• Output performance
– Keyboard play and controller operations by the musician
– Auto accompaniment
– Recorded song playback
• Non-output performance
– Demo Songs
– Song playback
– Lesson function
– Music Challenge
1.3Sound Generator Section
The Sound Generator Section mainly performs receive of performance information and sound source
setting information. It consists of a common part that do es not depend on the channel and a musical
instrument part that is independent of each channel.
1.3.1Sound Generator Common Block
The common block consists of system effects, mixer master control, etc. These can be controlled by
general universal system exclusive messages, and the Instrument’s system exclusive messages.
5
1.3.2Instrument Part Block
The instrument part section consists of a total of 32 instrument parts, divided into two groups, named
Group A and Group B of 16 instruments each. Each part can perform operations and setting changes
using channel messages and Instrument’s system exclusive messages. Only Group B can be controlled
by external channel messages.
As shown in the following table, there is a fixed relationship between channel message receive channel
The sound source operation performed for a sound generator instrument receive message may depend on
the value of the Timbre Type (see “About the Timbre Type” in “11 Program Change”) of each part’s
6
operation mode. For details, see the explanation for each message.
3Conditions that Disable Message Send and Receive
All MIDI message send and receive is temporarily disabled while any one of the following processes is in
progress.
The channel number of the channel message received by each part is shown in the table under “1.3.2
Instrument Part Block”.
5Send Channel
Basically, the MIDI channel of the channel message sent when the Instrument is played coincides with
the MIDI channel of the part being played. Note, however, that the MIDI channel of the performance
information that corresponds to the keyboard main part depends on the Keyboard Channel setting value.
6Note Off
Message Format:8nH kkH vvH
9nH kkH 00H(receive only)
n:MIDI Channel Number
kk:Key Number
vv:Velocity(Send:40H, Receive:Ignored)
SendSent when the keyboard is played and when play is performed using Auto Accompaniment. The
key number changes in accordance with the Octave Shift function.
Receive Receipt stops a note being sounded by a note on message.
7Note On
Message Format:9nH kkH vvH
n:MIDI Channel Number
kk:Key Number
vv:Velocity
SendSent when the keyboard is played and when play is performed using Auto Accompaniment. The
key number changes in accordance with the Octave Shift function.
Receive Receipt sounds a note of the corresponding instrument part.
8Polyphonic Key Pressure
Message Format:AnH kkH vvH
n:MIDI Channel Number
kk:Key Number
vv:Pressure Value
8
SendThis message is not sent by this Instrument.
Receive This message is not received by this Instrument.
9Control Change
Message Format:BnH ccH vvH
n:MIDI Channel Number
cc:Control Number
vv:Value
SendSent when the Instrument’s pedal is operated or when Instrument settings are changed.
Receive Receipt changes the pedal and other performance conditions, and Instrument settings.
9.1Bank Select (00H,20H)
Message Format:BnH 00H mmH (MSB)
BnH 20H llH (LSB)
n:MIDI Channel Number
mm:MSB Value(Note1)
ll:LSB Value(Send:00H, Receive:Ignored)
Note1: For details about the relationship between the MSB value and the tone, see the Tone List that comes with the
Instrument.
SendSent when a tone is selected.
Receive Receipt causes a change in the tone bank number stored in Instrument memory, but the
tone is not actually changed until a Program Change message is received. For details, see “11 Program
Change”.
9.2Modulation (01H)
Message Format:BnH 01H vvH
n:MIDI Channel Number
vv:Value
SendThis message is not sent by this Instrument.
Receive Receipt adds, to the tone being sounded, modulation of a depth specified by the value. In
the case of a tone that already has modulation applied, receipt of this message increases the modulation
depth. The modulation effect differs according to the tone b eing used.
9
9.3Data Entry (06H,26H)
Message Format:BnH 06H mmH (MSB)
BnH 26H llH (LSB)
n:MIDI Channel Number
mm:MSB Value
ll:LSB Value
SendSent when there is a change to the parameter assigned to RPN. This Instrument does not have
a parameter that corresponds to NRPN.
Receive Receipt changes the parameter assigned to RPN. This Instrument does not have a parameter
that corresponds to NRPN.
9.4Volume (07H)
Message Format:BnH 07H vvH
n:MIDI Channel Number
vv:Value
SendSent when auto accompaniment is used.
Receive Receipt changes the volume of the corresponding part.
9.5Pan (0AH)
Message Format:BnH 0AH vvH
n:MIDI Channel Number
vv:Value(Note1)
Note1: For information about the relationship between setting values and send/receive values, see “33.3 Pan Setting Value
Table” in “VII Setting Values and Send/Receive Values”.
SendSent when auto accompaniment is used.
Receive Receipt changes the pan of the corresponding part.
9.6Expression (0BH)
Message Format:BnH 0BH vvH
n:MIDI Channel Number
vv:Value
SendSent when auto accompaniment is used.
Receive Receipt changes the Expression value.
10
9.7Hold1 (40H)
Message Format:BnH 40H vvH
n:MIDI Channel Number
vv:Value (Note1)
Note1: For information about the relationship between setting values and send/receive values, see the “33.1 Off/On Setting
Value Table” in “VII Setting Values and Send/Receive Values” of this document.
SendSent when a pedal that has a sustain (damper) function is operated.
Receive Receipt performs an operation equivalent to a sustain pedal operation.
Timbre Type Specific OperationThis operation differs in accordance with the Timbre Type (see
“About the Timbre Type” in “11 Program Change”) setting.
• Timbre Type: Melody
Sustain off/on control is performed in accordance with the value of the received message.
• Timbre Type: Drum
The received message does not affect sound source operation.
9.8Sostenuto (42H)
Message Format:BnH 42H vvH
n:MIDI Channel Number
vv:Value (Note1)
Note1: For information about the relationship between setting values and send/receive values, see the “33.1 Off/On Setting
Value Table” in “VII Setting Values and Send/Receive Values” of this document.
SendSent when a pedal that has a sostenuto function is operated.
Receive Receipt performs an operation equivalent to a sostenuto pedal operation.
9.9Soft (43H)
Message Format:BnH 43H vvH
n:MIDI Channel Number
vv:Value (Note1)
Note1: For information about the relationship between setting values and send/receive values, see the “33.1 Off/On Setting
Value Table” in “VII Setting Values and Send/Receive Values” of this document.
SendSent when a pedal that has a soft function is operated.
Receive Receipt performs an operation equivalent to a soft pedal operation.
11
9.10Reverb Send (5BH)
Message Format:BnH 5BH vvH
n:MIDI Channel Number
vv:Value
SendSent when auto accompaniment is used.
Receive Receipt changes the reverb send of the corresponding part.
9.11Chorus Send (5DH)
Message Format:BnH 5DH vvH
n:MIDI Channel Number
vv:Value
SendSent when auto accompaniment is used and when a Chorus on/off operation is performed.
Receive Receipt changes the chorus send of the corresponding part.
9.12NRPN (62H,63H)
Message Format:BnH 62H llH (LSB)
BnH 63H mmH (MSB)
n:MIDI Channel Number
ll:LSB Value
mm:MSB Value
SendThis message is not sent by this Instrument.
Receive This Instrument does not have a corresponding NRPN message.
9.13RPN (64H,65H)
Message Format:BnH 64H llH (LSB)
BnH 65H mmH (MSB)
n:MIDI Channel Number
ll:LSB Value
mm:MSB Value
12
9.13.1Pitch Bend Sensitivity
Message Format:BnH 64H 00H
BnH 65H 00H
BnH 06H mmH
BnH 26H llH
n:MIDI Channel Number
mm:MSB Value(00H - 0CH)
ll:LSB Value(Send:00H, Receive:Ignored)
SendSent when Bend Range is changed (CTK-5300, WK-330, CDP-220R only).
Receive Receipt changes Bend Range.
9.13.2Fine Tune
Message Format:BnH 64H 01H
BnH 65H 00H
BnH 06H mmH
BnH 26H llH
n:MIDI Channel Number
mm:MSB Value
ll:LSB Value
SendThis message is not sent by this Instrument.
Receive Receipt changes the fine tune of the corresponding part.
9.13.3Coarse Tune
Message Format:BnH 64H 02H
BnH 65H 00H
BnH 06H mmH
BnH 26H llH
n:MIDI Channel Number
mm:MSB Value
ll:LSB Value
SendThis message is not sent by this Instrument.
Receive Receipt changes the coarse tune of the corresponding part. Does not affect sound source
operation when the Timbre Type (see “About the Timbre Type” in “11 Program Change”) is Drum.
9.13.4Null
Message Format:BnH 64H 7FH
BnH 65H 7FH
n:MIDI Channel Number
13
SendSent when an RPN message send operation is performed.
Receive Receipt de-selects RPN.
10Mode Message
10.1All Sound Off (78H)
Message Format:BnH 78H 00H
n:MIDI Channel Number
SendSent when the local control is set to OFF on the Instrument.
Receive Receipt stops all voices that are sounding.
10.2Reset All Controllers (79H)
Message Format:BnH 79H 00H
n:MIDI Channel Number
SendSent when MIDI send related settings are changed.
Receive Receipt initializes each performance controller.
10.3All Notes Off (7BH)
Message Format:BnH 7BH 00H
n:MIDI Channel Number
SendSent when MIDI send related settings are changed, or when auto play is stopped, etc.
Receive Receipt releases (key release) all voices that are sounding.
10.4Omni Off (7CH)
Message Format:BnH 7CH 00H
n:MIDI Channel Number
SendThis message is not sent by this Instrument.
Receive Receipt performs the same operation as when All Notes Off is received.
10.5Omni On (7DH)
Message Format:BnH 7DH 00H
n:MIDI Channel Number
14
SendThis message is not sent by this Instrument.
Receive Receipt performs the same operation as when All Notes Off is received.
10.6Mono (7EH)
Message Format:BnH 7EH 00H
n:MIDI Channel Number
SendThis message is not sent by this Instrument.
Receive Receipt performs the same operation as when All Notes Off is received.
10.7Poly (7FH)
Message Format:BnH 7FH 00H
n:MIDI Channel Number
SendThis message is not sent by this Instrument.
Receive Receipt performs the same operation as when All Notes Off is received.
11Program Change
Message Format:CnH ppH
n:MIDI Channel Number
pp:Program Number (Note1)
Note1: For details about the relationship between the program number and the tone, see the Tone List that comes with
the Instrument.
SendSent when a tone is selected.
Receive Receipt changes the tone of the corresponding part. The selected tone is determined by the
program value of this message and the Bank Select message value received prior to this message. Also
note that receipt of this message also may change the Timbre Type that corresponds to the selected
tone. For more information, see “About the Timbre Type” below.
About the Timbre TypeTones that are selected by each Instrument part have an attribute that
depends on the sound source operation type. This attribute is called the “timbre type,” which is one of
the types described below.
• Melody
This timbre type optimizes for normal melody tones.
• Drum
This setting optimizes for drum sounds. The damper pedal does not function. The Hold1, Channel
Coarse Tune, and Master Coarse Tune messages are ignored if they are received.
15
12Channel After Touch
Message Format:DnH vvH
n:MIDI Channel Number
vv:Value
SendThis message is not sent by this Instrument.
Receive Receipt adds, to the tone being sounded, modulation of a depth specified by the value. In
the case of a tone that already has modulation applied, receipt of this message increases the modulation
depth. The modulation effect differs according to the tone b eing used.
13Pitch Bend
Message Format:EnH llH mmH
n:MIDI Channel Number
ll:Value LSB
mm:Value MSB
SendSent when the bender is operated (CTK-5300, WK-330, CDP-220R only).
Receive Receipt changes the pitch of the currently sounding note. The range of the pitch change
depends on the Bend Range value setting.
16
Part III
System Message
14Timing Clock
Message Format:F8H
SendSent when auto accompaniment is used.
Receive This message is not received by this Instrument.
15Start
Message Format:FAH
SendSent when auto accompaniment is used.
Receive This message is not received by this Instrument.
16Stop
Message Format:FCH
SendSent when auto accompaniment is used.
Receive This message is not received by this Instrument.
17Active Sensing
Message Format:FEH
SendThis message is not sent by this Instrument.
Receive Once this message is received, the Active Sensing mode is entered. If no MIDI message is
received for a specified amount of time, voices being sounded by this Instrument’s sound source are
released, the controller is reset, and the Active Sensing mode is exited.
18System Exclusive Message
Message Format:F0H....F7H
The Instrument sends and receives standard universal system exclusive messages, and system exclusive
messages that have Instrument-specific formats.
17
18.1Universal Real Time System Exclusive Message
Message Format:F0H 7FH....F7H
18.1.1Master Volume
Message Format:F0H 7FH 7FH 04H 01H llH mmH F7H
ll:LSB Value(Send:00H, Receive:Ignored)
mm:MSB Value
SendThis message is not sent by this Instrument.
Receive Receipt changes the Master Volume.
18.1.2Master Fine Tuning
Message Format:F0H 7FH 7FH 04H 03H llH mmH F7H
ll:LSB Value(Note1)
mm:MSB Value(Note1)
Note1: For information about the relationship between setting values and send/receive values, see “33.4 Fine Tune Setting
Value Table” in “VII Setting Values and Send/Receive Values” of this document.
SendThis message is sent when the tuning setting is changed.
Receive Receipt changes the tuning setting.
18.1.3Master Coarse Tuning
Message Format:F0H 7FH 7FH 04H 04H llH mmH F7H
ll:LSB Value(Send:00H, Receive:Ignored)
mm:MSB Value
SendSent when Transpose is changed.
Receive Receipt changes the Transpose parameter. Does not affect sound source op eration when the
Timbre Type (see “About the Timbre Type” in “11 Program Change”) is Drum.
Receive Receipt performs the same operation as when the GM System On message is received.
18.2Instrument-Specific System Exclusive Message
Message Format:F0H 44H 16H 02H ...F7H
This message can be used to send the Instrument memory status, for two-way transfer of special
operation commands and user data, to perform sound source parameter operations, etc. For more
information, see “IV Instrument-Specific System Exclusive Messages”.
20
Part IV
Instrument-Specific System Exclusive
Messages
19Format
This section explains the format of the Instrument-specific System Exclusive Messages. See “V Parameter
List” and “VI Parameter Set List” for information about how parameter sets actually are transferred.
19.1Message Classifications
Basically, the operation that corresponds to Instrument-specific system exclusive messages is parameter
data transfer.
The following operations can be performed from an external device using this parameter transfer
message.
• Modification of an individual Instrument parameter
• Batch modification of a particular Instrument parameter set
• Import of an individual Instrument parameter value
• Batch import of a particular Instrument parameter set
In addition to parameters being used as device setting values, some parameters act as commands
when received by the Instrument and as device status information when sent from the Instrument.
The following table shows the parameter category for each type of transfer.
Function SectionParameter CategoryDescription
SystemSystemCommands to the Instrument, Instrument stats
Sound GeneratorPatchSound source common settings (system effects, mas-
ter settings, etc.), Instrument part settings (tone se-
lection, mixer channel setting, tuning, etc.)
ToneSampled sound (melody/drum) selected by the user
DrumSampled sound (drum) referenced from “Tone” cat-
“Drum” category parameters
Wave ParameterSampled sound Wave setting
Wave DataWaveform actual data referenced from “Wave Pa-
rameter” category parameters
21
19.2Basic Message Structure
Instrument-specific system exclusive message operation can be broadly divided between two methods:
Individual Parameter Transfer (single parameter send/receive) and Bulk Parameter Set Transfer (batch
parameter send/receive). Each method includes a number of different messages.
The field in the SysEx message that specifies the message type is the action (act ) field. The format
of the body part of the message depends on the act value.
The table below shows the body format for each action of Instrument-specific system exclusive mes-
sages. An actual message consists of the items indicated by Y, from left to right.
This is the System Exclusive Message status byte established by the MIDI standard.
19.3.2MAN : Manufacturer’s ID
Format:01000100B (CASIO = 44H)
Indicates this Instrument’s manufacturer ID.
19.3.3MOD : Model ID
Format:MSB00010110B (16H)
LSB00000001B (01H)
These two successive bytes (MSB, LSB) indicate the CTK-4200, LK-280, LK-211, WK-220, WK-225,
CTK-5300, WK-330, CDP-220R model ID.
22
19.3.4dev : MIDI Device ID 00H - 7FH
Format:0dddddddB
The contents of this field in a received message are compared with the Model’s MIDI Device ID, and
receipt of the incoming message is allowed only when the two IDs match. When a message containing
7FH is received, receipt of the message is always allowed, regardless of the Instrument’s ID setting. Note,
however, that the Instrument does not have a specific Device ID, so use only 7FH for send and receive.
19.3.5act : Action
Format:0aaaaaaaB
This field indicates the operation of the Instrument-specific System Exclusive Message.
aaaaaaaBActionFunction
00HNOPNo Operation
01HIPRIndividual Parameter Request
02HIPSIndividual Parameter Send
03HOBROne-way Bulk Parameter Set Request
04HOBSOne-way Bulk Parameter Set Send
05HHBRHandshake Bulk Parameter Set Request
06HHBSHandshake Bulk Parameter Set Send
0AHACKAcknowledge
0BHBSYBusy
0CHRJCReject
0DHEODEnd of Data
0EHEOSEnd of Session
0FHERRError
NOP:No OperationNo operation is performed when this action is received.
IPR:Individual Parameter RequestIndicates an individual parameter value send request message.
When the Instrument receives this action, it uses an IPS message to return the specified parameter value.
IPS:Individual Parameter SendIndicates an individual parameter value send message. When
the Instrument receives this action, it rewrites the value specified by the data field with the specified
parameter value.
OBR:One-way Bulk Parameter Set RequestIndicates a send request message using parameter
set image one-way mode. When the Instrument receives this action, it uses an OBS message to return
the specified parameter set.
OBS:One-way Bulk Parameter Set Bulk SendIndicates a parameter set image send message
using one-way mode. The parameter set to be transferred is divided into multiple packets when it is
greater than a prescribed size. At this time, packets are transferred at intervals of the prescribed time
(20 msec) or greater.
23
HBR:Handshake Bulk Parameter Set RequestIndicates a send request message using the parameter set image handshake mode. When the Instrument receives this action, it uses an HBS message
to return the specified parameter set.
HBS:Handshake Bulk Parameter Set SendIndicates a parameter set image send message using
handshake mode. The parameter set to be transferred is divided into multiple packets when it is greater
than a prescribed size. The packets are transferred in accordance with handshake mode.
ACK:AcknowledgeIndicates a message used by the receiver during parameter set handshake mode
transfer to convey to the sender that it is ready for send of the next packet. The cat, mem, and pset
fields indicate the value carried by the last received message.
BSY:BusyIndicates a message to convey to the requester that that the Instrument cannot send back
data after a parameter set one-way mode or handshake mode send request is received. The cat, mem,
and pset fields indicate the value carried by the last received message.
RJC:RejectIndicates a message to convey to the other side that an ongoing parameter set one-way
mode or handshake mode send or receive session was interrupted. The cat, mem, and pset fields indicate
the value carried by the last received message.
EOD:End of DataIndicates a message to convey to the receiver that a one-way mode or handshake
mode serial packet transfer for sending a sub-session (one parameter set) is complete. The cat, mem,
and pset fields indicate the value carried by the last received message.
EOS:End of SessionIndicates a message to convey to the receiver that a one-way mode or handshake
mode serial parameter set transfer session send, which was launched by some operation, is complete. The
cat, mem, and pset fields indicate the value carried by the last received message.
ERR:ErrorIndicates a message to convey to the sender that checksum or message format of the
previous packet was not correct when receiving a parameter set with handshake mode. The cat, mem,
and pset fields indicate the value carried by the last received message.
19.3.6cat : Category
Format:0cccccccB
The category indicates the categories of data handled by the System Exclusive Message. The ID
number (ID) of the Category is indicated on the left, while the communication operation (Action) is
indicated on the right.
24
CategoryTransfer
ID (c)Parameter SetIndividual ParameterOne-way BulkHandshake Bulk
00HSystemA--
02HPatchA--
03HToneAAA
06HDrumAAA
0DHInstrumentAAA
0EHWave ParameterAAA
0FHWave DataFAA
12HScale MemoryAAA
1FHAllFAA
20HSongFAA
21HSequenceFAA
22HRegistrationFAA
23HLesson RecFAA
24HRhythmFAA
A · · · Available (Also including when only some parameters are available.)
F · · · File Information (Not the data itself. Name, size, and other file information only.)
- · · · Not Available
19.3.7mem : Memory Area ID
Format:0mmmmmmmB
Specifies the memory area that is the object of the parameter transfer. The following are defined for
this Instrument.
memData TypeMeaning
0User areaRead/write enabled
1Preset areaRead/write disabled
19.3.8pset : Parameter Set Number
Format:LSB0nnnnnnnB
MSB0mmmmmmmB
This field is a 2-byte (LSB, MSB) value indicating the number of the parameter set (mmmmmmmnnnnnnnB,
Binary) being transferred.
19.3.9blkBlock Number
The block number is a supplementary number that specifies which block parameter is to be accessed
when there are multiple blocks (instrument parts, etc.) that include parameters with the same ID within
a single parameter set.
Format:LSB0iiiiiiiB
0jjjjjjjB
MSB0kkkkkkkB
25
Block Bit Field DivisionWhen the parameter block has a multi-dimensional array structure, bit 21
of the block number is divided into prescribed bit fields based on the rules explained below.
• Case 1
When an array has three or fewer nesting levels and the number of arrays in each dimension is 128
or less, they are assigned below the three 7-bit fields. Unused regions are filled will zeros.
– Example:
parameter [A][B][C]
With a 3-dimensional array parameter that consists of A = 8 (3 bits), B = 5 (3 bits) and
C = 10 (4 bits), the block bit fields are allocated as:
Block = 0000aaa 0000bbb 000cccc (Binary).
• Case 2
When Case 1 conditions are not satisfied, the minimal number of fields required for each number
of arrays is reserved from the lower bit of the block. Unused regions are filled will zeros. (This case
does not apply with this Instrument.)
– Example 1:
parameter [A][B][C][D]
With a 4-dimensional array parameter that consists of A = 3 (2 bits), B = 4 (3 bits), C = 3
(2 bits), and D = 4 (3 bits) like the one shown above, the block bit fields are allocated as:
Block = 0000000 0000aab bbccddd (Binary).
– Example 2:
parameter [A][B]
With a 2-dimensional array parameter that consists of A = 3 (2 bits) and B = 200 (8 bits)
like the one shown above, the block bit fields are allocated as:
Block = 0000000 0000aab bbbbbbb (Binary).
19.3.10pkt : Packet Number
Format:LSB0iiiiiiiB
0jjjjjjjB
MSB0kkkkkkkB
This is the divided packet number kkkkkkkjjjjjjjiiiiiiiB (Binary) for transferring a single
parameter set.
19.3.11prm : Parameter ID
Format:LSB0pppppppB
MSB0qqqqqqqB
The Parameter ID indicates the parameter type. When transferring parameters (see “V Parameter
List” below) individually (as opposed to bulk transfer), this field is used to identify the parameter being
transferred by its parameter ID.
19.3.12idx : Data Index Number
Format:LSB0iiiiiiiB
MSB0jjjjjjjB
The data index number indicates the first array number of the array from which transfer starts.
26
19.3.13len : Data Length
Format:LSB0lllllllB
MSB0mmmmmmmB
As shown below, the meaning of this field differs depending on whether an individual transfer or a
bulk parameter set transfer is being performed.
Individual Parameter TransferData length indicates the length of the array being transferred
minus 1 when the parameter contains a character string or other similar array structure.
Bulk Parameter Set TransferData length indicates the number of bytes of data included within a
packet. When this value is zero, it means the data itself does not exist.
Parameter data indicates the parameter value. Data is repeatedly placed in an array of the size equivalent to len+1. For the structure of one data item, the length depends on the data bit width(Parameter
List Size), as shown below.
SizeNumber of Data
1 - 71
8 - 142
15 - 213
22 - 284
29 - 325
Each block of data is packed from the lowest order byte first. In the case of multiple-byte data, the
lowest weighted bit is the least significant digit of the first data byte, and the highest weighted bit is
the most significant digit of the final data byte. The following shows an example of how data would be
divided for transfer in the case of 32-bit data.
With the Instrument’s system exclusive message format, the size of a single message cannot exceed 256
bytes. The data size and the array size, however, can cause a packet to exceed 256 bytes when transferring
a single parameter array. In this case, the IPS and IPR message data length and data index number
values can be modified to enable division of a single parameter value into multiple messages so it can be
sent that way.
19.3.16img : Parameter Set Image
Format:LSB0dddddddB
0cccccccB
MSB000000abB
For a bulk data transfer operation, the parameter set data to be transferred is read sequentially in
16-bit units starting from the top address. Read values are divided into 3-byte segments as shown below,
and then sent in sequence.
The following is the conversion format, which is the same as the individual parameter 16-bit transfer
detailed above.
16-bit Memory Image
MSB: abccccccB
LSB: cdddddddB
↓
data0:0dddddddB
data1:0cccccccB
data2:000000abB
If the length of the data begin transferred is an odd number of bytes, the final bit field is filled in
with zero.
Parameter Set Packet DivisionThe maximum image size of the parameter set that can be sent
with one packet is 128 bytes. When data that exceeds 128 bytes is transferred, data is always divided
into 128-byte units, except for the final packet. Because of this, the data in received packets can be
stored in an areas the size of [P arameterSetStartAddress] + [P acketN umber] × 128.
For bulk parameter set transfer, the 16-bit image is divided in 3-byte groups, so the img field length
is the value produced by multiplying the len value (len + 1 when len is an odd number) by 3/2. Note,
however, that a parameter set of 128 bytes or less can be sent using a single packet, and anything greater
than 128 bytes is divided among multiple packets. This means that the maximum length “data” field is
128 × 3/2 = 192 bytes.
Only one parameter set can be transferred per session, and data from different parameter sets cannot
be mixed within a single packet, even when sending multiple parameter sets. Different parameter sets
are always divided into separate packets.
19.3.17sum : Check Sum
Format:0sssssssB
In this case, this “sum” field contains a value, which, when added to the total value of the “img”
field, makes the lower seven bits 0. The receiving side checks if this is true, and performs error handling
(re-request, etc.) if it is not.
28
19.3.18EOX : End of System Exclusive Message
Format:11110111B
This is the End of System Exclusive Message status byte established by the MIDI standard.
20Individual Parameter Operations
There are two parameter unit operations: Individual Parameter Transfer and Individual Parameter
Request. For one session, in response to an IPR (Individual Parameter Request) from an external
device, this Instrument returns an IPS (Individual Parameter Send) or the session is concluded when
the external device or this Instrument spontaneously sends an IPS. If this Instrument received an IPS,
the value of the applicable parameter is changed. Depending on the function of a parameter, Individual
Parameter Send may be used to issue a command to the Instrument and Individual Parameter Request
may be used to check Instrument status information.
Data ReceiverData SenderOperation
IPR→Send Request(Optional)
←IPSData Transfer
21Parameter Set Transfer
21.1Communication Modes
21.1.1One-way and Handshake
In order to ensure maximum speed for bulk dumping of Parameter Sets, the data format is different from
the data format used for Individual Parameter Send. Data is transferred as-is, using the Model’s memory
image. Parameter Sets can be transferred by bulk dump using the message exchange types described
below.
• One-way mode Parameter Set send/receive
• One-way mode Parameter Set send request send/receive
With the one-way mode, the sending device sends data and ends the session without regard to the
response of the receiving device. This mode is best for one-way transfers from a sequencer or similar
device.
With the handshake mode, the sending device sends the data and then waits for a response from the
receiving device before advancing to the next session. This is a high-speed mode in which there is no
time wasted waiting.
See “VI Parameter Set List” for details about Instrument parameter sets.
21.1.2Session and Subsession
Subsession“One subsession” refers to transfer of one parameter set. A subsession transfers one
parameter set or a parameter set that has been divided into multiple packets for transfer, with EOD
(End of Data) at the end to terminate the send. Division of a parameter set into multiple packets is
used when the size of the parameter set is greater than a prescribed size. The packet number in the
packet index field indicates the sequential position of a packet relative to the other packets. A single
packet cannot be used to transfer multiple small parameter sets. A parameter set delimiter always must
be transferred as a packet delimiter.
29
Session“One session” refers to a series of processes that occur for one user operation. One subsession
or multiple subsessions make up a session. The sender sends EOS (End of Session) to end a session.
Regardless of whether there is a single parameter set or multiple parameter sets being transferred, a bulk
dump always takes the form of a session, never a subsession only.
21.2One-way Mode Communication Flow
A session starts with the receiving device sending a request using an OBR, or with the sending device
sending OBS data. The session ends after transfer of all the data in the parameter set being transferred
by the sending device is complete.
The transferred messages of a single parameter set cannot exceed 256 bytes. When 256 bytes are
exceeded, data is divided into multiple packets of 256 bytes or less each and transferred at fixed intervals
(20 msec).
A final EOD informs the receiving device when the session is ended.
Data ReceiverData SenderOperation
(External Device)(This Instrument)
OBR----->Send Request
(Optional)
<-----OBSData Transfer
(20 msec or greater
interval)
<-----OBSData Transfer
(20 msec or greater
interval)
<-----OBSData Transfer
(20 msec or greater
interval)
:
:
<-----EODEnd of Data
:
Other Sub Session
:
<-----EOSEnd of Session
21.3Handshake Mode Communication Flow
A session starts with the receiving device sending a request using a HBR, or with the sending device
sending HBS data. The sending device does not send the next packet until it receives an ACK from the
receiving device. The maximum wait time of at least 2000 msec is reserved. Failure of a response to
arrive within the wait time is treated as a timeout error, and data communication is terminated. The
receiving devices returns ERR (error) when there is mismatch in the received data checksum or when
an incompatible data format is discovered. When the sending device receives ERR (error) from the
receiving device, it resends the last data sent. If an error repeats a number of times (three times or more
for this Instrument), either the sending device or the receiving device sends an RJC to terminate the
session. A session ends after the sending device transfers the volume of data determined by the number
of parameter sets begin transferred, and sends EOD and EOS in response to an ACK from the sending
device.
30
Data ReceiverData SenderOperation
(External Device)(This Instrument)
HBR----->Send Request
(Optional)
<-----HBSData Send
ACK----->Acknowledge
<-----HBSData Send
ACK----->Acknowledge
:
:
ACK----->Acknowledge
<-----EODEnd of Data
:
Other Sub Session
:
<-----EOSEnd of Session
The packed with the same packet number is resent when a checksum mismatch or incompatible data
format error is detected.
Data ReceiverData SenderOperation
(External Device)(This Instrument)
HBR----->Send Request
(Optional)
<-----HBSData Send
ACK----->Acknowledge
<-----HBSData Send 1
ERR----->Error
<-----HBSData Send 2 (Retry
1)
ERR----->Error
<-----HBSData Send 3 (Retry
2)
ACK----->Acknowledge
:
:
ACK----->Acknowledge
<-----EODEnd of Data
:
Other Sub Session
:
<-----EOSEnd of Session
Session terminates if ERR is detected a number of times.
31
Data ReceiverData SenderOperation
(External Device)(This Instrument)
HBR----->Send Request
(Optional)
<-----HBSData Send
ACK----->Acknowledge
<-----HBSData Send
(Error generated)
ERR----->Error
<-----HBSData Send (Retry 1)
(Error generated)
ERR----->Error
<-----HBSData Send (Retry 2)
(Error generated)
ERR----->Error
<-----HBSData Send (Retry 3)
(Error generated)
RJC----->Session stopped
RJC is sent to terminate the session in case ACK cannot be recognized.
Data ReceiverData SenderOperation
(External
Device)
(This
Instrument)
HBR----->Send Request
(Optional)
<-----HBSData Send
:
(Fixed amount of time elapses)
RJC<-----Timeout error
The session can be canceled for any reason by sending an RJC. RJC can be sent by the sending device
or the receiving device. The bulk dump session is terminated immediately upon receipt of an RJC.
Data ReceiverData SenderOperation
(External Device)(This Instrument)
HBR----->Send Request
(Optional)
<-----HBSData Send
ACK----->Acknowledge
<-----HBSData Send
:
:
(Terminate operation)
RJC----->Data Receive
Canceled
32
Data ReceiverData SenderOperation
(External Device)(This Instrument)
HBR----->Send Request
(Optional)
ACK----->Acknowledge
<-----HBSData Send
ACK----->Acknowledge
<-----HBSData Send
:
:
(Terminate operation)
<-----RJCData Send
Canceled
BSY is returned to the external device when OBS, OBR, HBS, or HBR is sent while the Instrument
mode is not suitable to perform bulk dump, etc. After BSY is received, the external device should wait
until the instrument enters a mode in which the session is enabled.
Data ReceiverData SenderOperation
(External Device)(This Instrument)
OBR----->Send Request
<-----BSYSend Rejected
Data ReceiverData SenderOperation
(External Device)(This Instrument)
<-----OBSData Send
BSY----->Receive Rejected
Data ReceiverData SenderOperation
(External Device)(This Instrument)
HBR----->Send Request
<-----BSYSend Rejected
Data ReceiverData SenderOperation
(External Device)(This Instrument)
<-----HBSData Send
BSY----->Receive Rejected
33
Part V
Parameter List
This section explains the parameters that actually can be transferred by the Instrument.
22Using the Parameter List
• Parameter field
Shows the parameter name.
• ID field
Shows the parameter ID as a hexadecimal number.
• R/W field
Shows “R” to indicate that an IPR (Individual Parameter Request) read operation (Read) is
possible or “W” to indicate that an IPS (Individual Parameter Send) write operation is possible.
• Block field
Shows the bit field allo cation of the block number. The bit field position is shown as a decimal
format number.
• Size field
Shows the parameter bit width as a decimal format value.
• Array field
Shows the parameter array size as a hexadecimal value.
• Min-Def-Max field
Shows the minimum value, default value, and maximum value for parameter acquisition as a
hexadecimal value.
• Description field
Explains the meaning of parameter values. Unless otherwise specified, setting values are all indicated in decimal format.
23System Parameters
These parameters make it possible for an external device to check the status of the Instrument and for
an external device to command some operation of the Instrument.
23.1System Information Parameter
This parameter is a container for system information.
This section explains actually how parameter sets can be transferred by the Instrument with bulk dump.
32Parameter Set Table
Parameter Set Categorycatmempsetdescription
Tone03H00H0000H - 0004H(Melody Sampling Tone 0 - 4)
0005H - 0007H(Drum Sampling Tone 0 - 2)
Drum06H00H0000H - 0002H(Drum Sampling Tone 0 - 2)
Inst0DH00H0000H - 007FH(Drum Sampling Tone 0 / Inst 0 -
127)
0080H - 00FFH(Drum Sampling Tone 1 / Inst 0 -
127)
0100H - 017FH(Drum Sampling Tone 2 / Inst 0 -
127)
Wave Param0EH00H0000H - 0004H(Melody Sampling Tone 0 - 4)
0005H - 000CH(Drum Sampling Tone 0 / Wave
Param 0 - 7)
000DH - 0014H(Drum Sampling Tone 1 / Wave
Param 0 - 7)
0015H - 001CH(Drum Sampling Tone 2 / Wave
Param 0 - 7)
Wave Data0FH00H0000H - 0004H(Melody Sampling Tone 0 - 4)
0005H - 000CH(Drum Sampling Tone 0 / Wave
Param 0 - 7)
000DH - 0014H(Drum Sampling Tone 1 / Wave
Param 0 - 7)
0015H - 001CH(Drum Sampling Tone 2 / Wave
Param 0 - 7)
Scale Memory12H00H0003H - 0006H(User 1 - 4)
All1FH00H0000H - 003CH
Song20H00H0000H - 0009H(Song Bank Song 0 - 9)
Sequence21H00H0000H - 0004H(Recorder Song 0 - 4)
Registration22H00H0000H - 0007H(Bank 0 - 8)
Lesson Rec23H00H0000H
Rhythm24H00H0000H - 0009H(User Rhythm 0 - 9)
Field Contents
• cat field
Shows the category value.(Note1)
• mem field
Shows the memory area ID value.(Note1)
38
• pset field
Shows the parameter set number value. Applicable parameter set numbers are those in the user area
where the top number is zero, and are not the same numbers as those displayed by the Instrument.
(Note1)
Note1: Operation is not guaranteed for values other than those noted here.
39
Part VII
Setting Values and Send/ Receive Values
33Setting Value Tables
33.1Off/On Setting Value Table
Transmit ValueReceive ValueParameter
00H00H - 3FHOff
7FH40H - 7FHOn
33.2–64 - 0 - +63 Setting Value Table
Transmit ValueReceive ValueParameter
00H00H-64
:::
40H40H0
:::
7FH7FH+63
33.3Pan Setting Value Table
Transmit ValueReceive ValueParameter
00H00HLeft
:::
40H40HCenter
:::
7FH7FHRight
33.4Fine Tune Setting Value Table
Transmit ValueReceive ValueParameter
(LSB, MSB)(LSB, MSB) - (LSB, MSB)
(43H, 00H)(00H, 00H) - (5FH, 00H)415.5 Hz
(65H, 00H)(60H, 00H) - (7FH, 00H)415.6 Hz
(07H, 01H)(00H, 01H) - (1FH, 01H)415.7 Hz
(29H, 01H)(20H, 01H) - (3FH, 01H)415.8 Hz
:::
(40H, 3FH)(30H, 3FH) - (4FH, 3FH)439.8 Hz
(60H, 3FH)(50H, 3FH) - (6FH, 3FH)439.9 Hz
(00H, 40H)(70H, 3FH) - (1FH, 40H)440.0 Hz
(20H, 40H)(20H, 40H) - (3FH, 40H)440.1 Hz
(40H, 40H)(40H, 40H) - (5FH, 40H)440.2 Hz
:::
(54H, 7EH)(50H, 7EH) - (6FH, 7EH)465.6 Hz
(73H, 7EH)(70H, 7EH) - (0FH, 7FH)465.7 Hz
(11H, 7FH)(10H, 7FH) - (2FH, 7FH)465.8 Hz
(30H, 7FH)(30H, 7FH) - (7FH, 7FH)465.9 Hz
40
33.5Reverb Time Setting Value Table
Transmit ValueReceive ValueParameter
00H00H - 0BHOff
0CH0CH - 17H1
18H18H - 23H2
24H24H - 2FH3
30H30H - 3BH4
3CH3CH - 47H5
48H48H - 53H6
54H54H - 5FH7
60H60H - 6BH8
6CH6CH - 77H9
78H78H - 7FH10
33.6Chorus Type Setting Value Table
Transmit ValueReceive ValueParameter
00H00HChorus 1
01H01HChorus 2
02H02HChorus 3
03H03HChorus 4
04H04HChorus 5
41
Part VIII
MIDI Implementation Notation
34Value Notation
34.1Hexadecimal Notation
MIDI implementation sometimes requires that data be expressed in hexadecimal format. Hexadecimal
values are indicated by the letter “H” after the value. The hexadecimal equivalents of decimal values 10
through 15 are expressed as the letters A through F.
The table below shows the hexadecimal equivalents for decimal values 0 through 127, which are often
used in MIDI messages.
When a MIDI implementation data value is expressed in binary, the letter “B” (for “binary”) is affixed
at the end of the value. The table below shows the binary equivalents for the decimal values 0 through
127, which are often used for settings.