| CTK-4200/CTK-5300/LK-211/LK-280   WK-220/WK-225/WK-330/CDP-220R   MIDI Implementation   CASIO COMPUTER CO., LTD.   Contents   I MIDI Message Overview   5 1 Product Configuration as a MIDI Device   5 5 5 5 1.1   System Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   Performance Controller Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   Sound Generator Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   1.2   1.3   2 3 Timbre Type Specific Operation   6 7 Conditions that Disable Message Send and Receive   II Channel Message   8 8 8 8 8 8 4 5 6 7 8 9 Receive Channel   Send Channel   Note Off   Note On   Polyphonic Key Pressure   Control Change   9 9 9 9.1   9.2   9.3   9.4   9.5   9.6   Bank Select (00H,20H) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   Modulation (01H) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   Data Entry (06H,26H) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10   Volume (07H) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10   Pan (0AH) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10   Expression (0BH) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10   1 19.3 Format of Each Field . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22   20   Individual Parameter Operations   29   21   Parameter Set Transfer   29   21.1 Communication Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29   21.2 One-way Mode Communication Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30   21.3 Handshake Mode Communication Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30   V 22   23   Parameter List   34   34   34   Using the Parameter List   System Parameters   23.1 System Information Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34   23.2 Data Management Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35   24   Patch Parameter   36   24.1 Master Tune Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36   24.2 Master Mixer Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36   24.3 Part Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36   25   Scale Memory Parameter   36   25.1 Scale Memory Octave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36   26   27   All Data Parameter   Sequence Parameter   37   37   27.1 Sequence Directory Info . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37   28   Registration Parameter   37   28.1 Registration Directory Info . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37   29   Rhythm Parameter   37   29.1 Rhythm Directory Info . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37   30   Song Parameter   37   30.1 Song Directory Info . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37   31   Lesson Rec Parameter   37   31.1 Lesson Rec Directory Info . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37   VI Parameter Set List   38   3 32   Parameter Set Table   38   VII Setting Values and Send/ Receive Values   40   33   Setting Value Tables   40   33.1 Off/On Setting Value Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40   33.2 –64 - 0 - +63 Setting Value Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40   33.3 Pan Setting Value Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40   33.4 Fine Tune Setting Value Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40   33.5 Reverb Time Setting Value Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41   33.6 Chorus Type Setting Value Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41   VIII MIDI Implementation Notation   42   34   Value Notation   42   34.1 Hexadecimal Notation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42   34.2 Binary Notation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42   4 Part I   MIDI Message Overview   1 Product Configuration as a MIDI Device   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.1 System 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.2 Performance 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 Information The 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.3 Sound Generator Section   The Sound Generator Section mainly performs receive of performance information and sound source   setting information. It consists of a common part that does not depend on the channel and a musical   instrument part that is independent of each channel.   1.3.1 Sound 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.2 Instrument 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   numbers and instrument parts.   Number Name Channel   Assigned Function   Keyboard (Main)   00   01   02   03   04   05   06   07   08   09   10   11   12   13   14   15   16   17   18   19   20   21   22   23   24   25   26   27   28   29   30   31   A01   A02   A03   A04   A05   A06   A07   A08   A09   A10   A11   A12   A13   A14   A15   A16   B01   B02   B03   B04   B05   B06   B07   B08   B09   B10   B11   B12   B13   B14   B15   B16   01   02   03   04   05   06   07   08   09   10   11   12   13   14   15   16   01   02   03   04   05   06   07   08   09   10   11   12   13   14   15   16   Keyboard (Layer)   Keyboard (Split)   Keyboard/Recorder (Harmonize)   Sampling Phrase   Guide Sound   Guide Voice   Metronome   Auto Accompaniment (Percussion)   Auto Accompaniment (Drum)   Auto Accompaniment (Bass)   Auto Accompaniment (Chord 1)   Auto Accompaniment (Chord 2)   Auto Accompaniment (Chord 3)   Auto Accompaniment (Chord 4)   Auto Accompaniment (Chord 5)   MIDI/Auto Performance Functions/Recorder (Keyboard Playback Main)   MIDI/Auto Performance Functions/Recorder (Keyboard Playback Layer)   MIDI/Auto Performance Functions/Recorder (Keyboard Playback Split)   MIDI/Auto Performance Functions/Recorder (Solo 1)   MIDI/Auto Performance Functions/Recorder (Solo 2)   MIDI/Auto Performance Functions/Recorder (Solo 3)   MIDI/Auto Performance Functions/Recorder (Solo 4)   MIDI/Auto Performance Functions/Recorder (Solo 5)   MIDI/Auto Performance Functions   MIDI/Auto Performance Functions   MIDI/Auto Performance Functions   MIDI/Auto Performance Functions   MIDI/Auto Performance Functions   MIDI/Auto Performance Functions   MIDI/Auto Performance Functions   MIDI/Auto Performance Functions   2 Timbre Type Specific Operation   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.   3 Conditions 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.   • SD memory card operation in progress(LK-280, LK-211, CTK-5300, WK-330, CDP-220R only)   • Recorder recording in progress   • Sampling operation in progress   7 Part II   Channel Message   4 Receive Channel   The channel number of the channel message received by each part is shown in the table under “1.3.2   Instrument Part Block”.   5 Send 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.   6 Note Off   Message Format: 8nH kkH vvH   9nH kkH 00H(receive only)   n: MIDI Channel Number   kk: Key Number   vv: Velocity(Send:40H, Receive:Ignored)   Send Sent 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.   7 Note On   Message Format: 9nH kkH vvH   n: MIDI Channel Number   kk: Key Number   vv: Velocity   Send Sent 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.   8 Polyphonic Key Pressure   Message Format: AnH kkH vvH   n: MIDI Channel Number   kk: Key Number   vv: Pressure Value   8 Send This message is not sent by this Instrument.   Receive This message is not received by this Instrument.   9 Control Change   Message Format: BnH ccH vvH   n: MIDI Channel Number   cc: Control Number   vv: Value   Send Sent 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.1 Bank 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.   Send Sent 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.2 Modulation (01H)   Message Format: BnH 01H vvH   n: MIDI Channel Number   vv: Value   Send This 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 being used.   9 9.3 Data Entry (06H,26H)   Message Format: BnH 06H mmH (MSB)   BnH 26H llH (LSB)   n: MIDI Channel Number   mm: MSB Value   ll: LSB Value   Send Sent 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.4 Volume (07H)   Message Format: BnH 07H vvH   n: MIDI Channel Number   vv: Value   Send Sent when auto accompaniment is used.   Receive Receipt changes the volume of the corresponding part.   9.5 Pan (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”.   Send Sent when auto accompaniment is used.   Receive Receipt changes the pan of the corresponding part.   9.6 Expression (0BH)   Message Format: BnH 0BH vvH   n: MIDI Channel Number   vv: Value   Send Sent when auto accompaniment is used.   Receive Receipt changes the Expression value.   10   9.7 Hold1 (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.   Send Sent 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 Operation This 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.8 Sostenuto (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.   Send Sent when a pedal that has a sostenuto function is operated.   Receive Receipt performs an operation equivalent to a sostenuto pedal operation.   9.9 Soft (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.   Send Sent when a pedal that has a soft function is operated.   Receive Receipt performs an operation equivalent to a soft pedal operation.   11   9.10 Reverb Send (5BH)   Message Format: BnH 5BH vvH   n: MIDI Channel Number   vv: Value   Send Sent when auto accompaniment is used.   Receive Receipt changes the reverb send of the corresponding part.   9.11 Chorus Send (5DH)   Message Format: BnH 5DH vvH   n: MIDI Channel Number   vv: Value   Send Sent 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.12 NRPN (62H,63H)   Message Format: BnH 62H llH (LSB)   BnH 63H mmH (MSB)   n: MIDI Channel Number   ll: LSB Value   mm: MSB Value   Send This message is not sent by this Instrument.   Receive This Instrument does not have a corresponding NRPN message.   9.13 RPN (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.1 Pitch 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)   Send Sent when Bend Range is changed (CTK-5300, WK-330, CDP-220R only).   Receive Receipt changes Bend Range.   9.13.2 Fine 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   Send This message is not sent by this Instrument.   Receive Receipt changes the fine tune of the corresponding part.   9.13.3 Coarse 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   Send This 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.4 Null   Message Format: BnH 64H 7FH   BnH 65H 7FH   n: MIDI Channel Number   13   Send Sent when an RPN message send operation is performed.   Receive Receipt de-selects RPN.   10 Mode Message   10.1 All Sound Off (78H)   Message Format: BnH 78H 00H   n: MIDI Channel Number   Send Sent when the local control is set to OFF on the Instrument.   Receive Receipt stops all voices that are sounding.   10.2 Reset All Controllers (79H)   Message Format: BnH 79H 00H   n: MIDI Channel Number   Send Sent when MIDI send related settings are changed.   Receive Receipt initializes each performance controller.   10.3 All Notes Off (7BH)   Message Format: BnH 7BH 00H   n: MIDI Channel Number   Send Sent 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.4 Omni Off (7CH)   Message Format: BnH 7CH 00H   n: MIDI Channel Number   Send This message is not sent by this Instrument.   Receive Receipt performs the same operation as when All Notes Off is received.   10.5 Omni On (7DH)   Message Format: BnH 7DH 00H   n: MIDI Channel Number   14   Send This message is not sent by this Instrument.   Receive Receipt performs the same operation as when All Notes Off is received.   10.6 Mono (7EH)   Message Format: BnH 7EH 00H   n: MIDI Channel Number   Send This message is not sent by this Instrument.   Receive Receipt performs the same operation as when All Notes Off is received.   10.7 Poly (7FH)   Message Format: BnH 7FH 00H   n: MIDI Channel Number   Send This message is not sent by this Instrument.   Receive Receipt performs the same operation as when All Notes Off is received.   11 Program Change   Message Format: CnH ppH   n: MIDI Channel Number   pp: Program Number (Note1)   Note1   : the Instrument.   For details about the relationship between the program number and the tone, see the Tone List that comes with   Send Sent 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 Type Tones 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   12 Channel After Touch   Message Format: DnH vvH   n: MIDI Channel Number   vv: Value   Send This 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 being used.   13 Pitch Bend   Message Format: EnH llH mmH   n: MIDI Channel Number   ll: Value LSB   mm: Value MSB   Send Sent 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   14 Timing Clock   Message Format: F8H   Send Sent when auto accompaniment is used.   Receive This message is not received by this Instrument.   15 Start   Message Format: FAH   Send Sent when auto accompaniment is used.   Receive This message is not received by this Instrument.   16 Stop   Message Format: FCH   Send Sent when auto accompaniment is used.   Receive This message is not received by this Instrument.   17 Active Sensing   Message Format: FEH   Send This 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.   18 System 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.1 Universal Real Time System Exclusive Message   Message Format: F0H 7FH....F7H   18.1.1 Master Volume   Message Format: F0H 7FH 7FH 04H 01H llH mmH F7H   ll: LSB Value(Send:00H, Receive:Ignored)   mm: MSB Value   Send This message is not sent by this Instrument.   Receive Receipt changes the Master Volume.   18.1.2 Master 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.   Send This message is sent when the tuning setting is changed.   Receive Receipt changes the tuning setting.   18.1.3 Master Coarse Tuning   Message Format: F0H 7FH 7FH 04H 04H llH mmH F7H   ll: LSB Value(Send:00H, Receive:Ignored)   mm: MSB Value   Send Sent when Transpose is changed.   Receive Receipt changes the Transpose parameter. Does not affect sound source operation when the   Timbre Type (see “About the Timbre Type” in “11 Program Change”) is Drum.   18.1.4 Reverb Time   Message Format: F0H 7FH 7FH 04H 05H 01H 01H 01H 01H 01H 01H vvH F7H   vv: Value(Note1)   Note1   : Setting Value Table” in “VII Setting Values and Send/Receive Values” of this document.   For information about the relationship between setting values and send/receive values, see “33.5 Reverb Time   Send Sent when the Reverb duration is changed.   18   Receive Receipt changes the Reverb duration.   18.1.5 Chorus Type   Message Format: F0H 7FH 7FH 04H 05H 01H 01H 01H 01H 02H 00H vvH F7H   vv: Value(Note1)   Note1   : For information about the relationship between setting values and send/receive values, see “33.6 Chorus Type   Setting Value Table” in “VII Setting Values and Send/Receive Values” of this document.   Send Sent when the Chorus Type is changed.   Receive Receipt changes the Chorus Type.   18.1.6 Modulation Rate   Message Format: F0H 7FH 7FH 04H 05H 01H 01H 01H 01H 02H 01H vvH F7H   vv: Value   Send This message is not sent by this Instrument.   Receive Receipt changes the Chorus Rate.   18.1.7 GM System On   Message Format: F0H 7EH 7FH 09H 01H F7H   Send This message is not sent by this Instrument.   Receive Receipt puts the sound source into a GM sound source mode.   18.1.8 GM System Off   Message Format: F0H 7EH 7FH 09H 02H F7H   Send This message is not sent by this Instrument.   Receive Receipt changes the sound source setting to the Instrument presetting.   18.1.9 GM2 System On   Message Format: F0H 7EH 7FH 09H 03H F7H   Send This message is not sent by this Instrument.   Receive Though the Instrument does not support GM2, receipt of the GM2 System On message has   the same result as receipt of the GM System On message.   19   18.1.10 GS Message   Message Format: F0H 41H ddH 42H 12H 40H 00H 7FH 00H 41H F7H   dd: Device ID(Ignored)   Send This message is not sent by this Instrument.   Receive Receipt performs the same operation as when the GM System On message is received.   18.2 Instrument-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   19 Format   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.1 Message 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 Section   System   Parameter Category Description   System   All   Commands to the Instrument, Instrument stats   All user data   Performance Controller Song   Scale Memory   User Song   User Scale Memory   Song Sequencer   Registration   Recorder Song(Play-Along)   User Rhythm   Sequence   Registration   Lesson Rec   Rhythm   Sound Generator   Patch   Sound source common settings (system effects, mas-   ter settings, etc.), Instrument part settings (tone se-   lection, mixer channel setting, tuning, etc.)   Tone   Sampled sound (melody/drum) selected by the user   Drum   Sampled sound (drum) referenced from “Tone” cat-   egory parameters   Instrument   Individual instrument setting referenced from   “Drum” category parameters   Wave Parameter   Wave Data   Sampled sound Wave setting   Waveform actual data referenced from “Wave Pa-   rameter” category parameters   21   19.2 Basic 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.   <-   body (Depends on act )   ->   SX MAN MOD dev act cat mem pset blk pkt prm idx len data img sum EOX   NOP   IPR   IPS   OBR   OBS   HBR   HBS   ACK   BSY   RJC   EOD   EOS   ERR   Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y - Y Y Y Y Y Y Y Y Y Y Y Y - Y Y Y Y Y Y Y Y Y Y Y Y - Y Y Y Y Y Y Y Y Y Y Y Y - Y Y - - - - - - - - - - - - - - Y - Y - - - - - - - Y Y - - - - - - - - - - - Y Y - - - - - - - - - - - Y Y - Y - Y - - - - - - - - Y - - - - - - - - - - - - - - Y - Y - - - - - - - - - - Y - Y - - - - - - Y Y Y Y Y Y Y Y Y Y Y Y Y 19.3 Format of Each Field   19.3.1 SX : System Exclusive Message Status   Format: 11110000B (F0H)   This is the System Exclusive Message status byte established by the MIDI standard.   19.3.2 MAN : Manufacturer’s ID   Format: 01000100B (CASIO = 44H)   Indicates this Instrument’s manufacturer ID.   19.3.3 MOD : Model ID   Format: MSB 00010110B (16H)   LSB 00000001B (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.4 dev : 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.5 act : Action   Format: 0aaaaaaaB   This field indicates the operation of the Instrument-specific System Exclusive Message.   aaaaaaaB Action Function   00H NOP   01H IPR   02H IPS   03H OBR   04H OBS   05H HBR   06H HBS   0AH ACK   0BH BSY   0CH RJC   0DH EOD   0EH EOS   0FH ERR   No Operation   Individual Parameter Request   Individual Parameter Send   One-way Bulk Parameter Set Request   One-way Bulk Parameter Set Send   Handshake Bulk Parameter Set Request   Handshake Bulk Parameter Set Send   Acknowledge   Busy   Reject   End of Data   End of Session   Error   NOP:No Operation No operation is performed when this action is received.   IPR:Individual Parameter Request Indicates 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 Send Indicates 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 Request Indicates 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 Send Indicates 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 Request Indicates a send request message using the pa-   rameter 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 Send Indicates 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:Acknowledge Indicates 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:Busy Indicates 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:Reject Indicates 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 Data Indicates 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 Session Indicates 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:Error Indicates 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.6 cat : 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   Category   Transfer   ID (c) Parameter Set   Individual Parameter One-way Bulk Handshake Bulk   00H   02H   03H   06H   0DH   0EH   0FH   12H   1FH   20H   21H   22H   23H   24H   System   A A A A A A F A F F F F F F - - A A A A A A A A A A A A - - A A A A A A A A A A A A Patch   Tone   Drum   Instrument   Wave Parameter   Wave Data   Scale Memory   All   Song   Sequence   Registration   Lesson Rec   Rhythm   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.7 mem : Memory Area ID   Format: 0mmmmmmmB   Specifies the memory area that is the object of the parameter transfer. The following are defined for   this Instrument.   mem Data Type Meaning   0 1 User area   Preset area Read/write disabled   Read/write enabled   19.3.8 pset : Parameter Set Number   Format: LSB 0nnnnnnnB   MSB 0mmmmmmmB   This field is a 2-byte (LSB, MSB) value indicating the number of the parameter set (mmmmmmmnnnnnnnB,   Binary) being transferred.   19.3.9 blk Block 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: LSB 0iiiiiiiB   0jjjjjjjB   MSB 0kkkkkkkB   25   Block Bit Field Division When 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.10 pkt : Packet Number   Format: LSB 0iiiiiiiB   0jjjjjjjB   MSB 0kkkkkkkB   This is the divided packet number kkkkkkkjjjjjjjiiiiiiiB (Binary) for transferring a single   parameter set.   19.3.11 prm : Parameter ID   Format: LSB 0pppppppB   MSB 0qqqqqqqB   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.12 idx : Data Index Number   Format: LSB 0iiiiiiiB   MSB 0jjjjjjjB   The data index number indicates the first array number of the array from which transfer starts.   26   19.3.13 len : Data Length   Format: LSB 0lllllllB   MSB 0mmmmmmmB   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 Transfer Data 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 Transfer Data 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.   19.3.14 data : Parameter Data   Individual Parameter Transfer   Format: index0 0dddddddB (0eeeeeeeB) (0fffffffB) (0gggggggB) (0hhhhhhhB)   index1 0dddddddB (0eeeeeeeB) (0fffffffB) (0gggggggB) (0hhhhhhhB)   index2 0dddddddB (0eeeeeeeB) (0fffffffB) (0gggggggB) (0hhhhhhhB)   : : indexN 0dddddddB (0eeeeeeeB) (0fffffffB) (0gggggggB) (0hhhhhhhB)   Parameter data indicates the parameter value. Data is repeatedly placed in an array of the size equiv-   alent to len+1. For the structure of one data item, the length depends on the data bit width(Parameter   List Size), as shown below.   Size   Number of Data   1 - 7   1 2 3 4 5 8 - 14   15 - 21   22 - 28   29 - 32   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.   7 0 0 0 0 0 6 5 4 3 2 1 0 data0:   data1:   data2:   data3:   data4:   [bit06] [bit05] [bit04] [bit03] [bit02] [bit01] [bit00]   [bit13] [bit12] [bit11] [bit10] [bit09] [bit08] [bit07]   [bit20] [bit19] [bit18] [bit17] [bit16] [bit15] [bit14]   [bit27] [bit26] [bit25] [bit24] [bit23] [bit22] [bit21]   0 0 0 [bit31] [bit30] [bit29] [bit28]   27   19.3.15 Single Parameter Data Size Limit   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.16 img : Parameter Set Image   Format: LSB 0dddddddB   0cccccccB   MSB 000000abB   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 Division The 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 [ParameterSetStartAddress] + [PacketNumber] × 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.17 sum : 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.18 EOX : End of System Exclusive Message   Format: 11110111B   This is the End of System Exclusive Message status byte established by the MIDI standard.   20 Individual 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 Receiver   IPR   Data Sender   IPS   Operation   → ← Send Request(Optional)   Data Transfer   21 Parameter Set Transfer   21.1 Communication Modes   21.1.1 One-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   • Handshake mode Parameter Set send/receive   • Handshake mode Parameter Set send request, receive rejected, error notification 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.2 Session 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.2 One-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 Receiver   (External Device)   OBR   Data Sender   Operation   (This Instrument)   ----->   <-----   Send Request   (Optional)   OBS   Data Transfer   Data Transfer   Data Transfer   (20 msec or greater   interval)   <-----   <-----   OBS   (20 msec or greater   interval)   OBS   (20 msec or greater   interval)   : : <-----   EOD   EOS   End of Data   : Other Sub Session   : <-----   End of Session   21.3 Handshake 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 Receiver   (External Device)   HBR   Data Sender   Operation   (This Instrument)   ----->   Send Request   (Optional)   <-----   HBS   HBS   Data Send   ACK   ACK   ----->   Acknowledge   Data Send   <-----   ----->   Acknowledge   : : ACK   ----->   Acknowledge   End of Data   <-----   EOD   EOS   : Other Sub Session   : <-----   End of Session   The packed with the same packet number is resent when a checksum mismatch or incompatible data   format error is detected.   Data Receiver   (External Device)   HBR   Data Sender   Operation   (This Instrument)   ----->   Send Request   (Optional)   <-----   ----->   <-----   ----->   <-----   HBS   HBS   HBS   Data Send   Acknowledge   Data Send 1   Error   ACK   ERR   Data Send 2 (Retry   1)   ERR   ACK   ----->   <-----   Error   HBS   Data Send 3 (Retry   2)   ----->   Acknowledge   : : ACK   ----->   Acknowledge   End of Data   <-----   EOD   EOS   : Other Sub Session   : <-----   End of Session   Session terminates if ERR is detected a number of times.   31   Data Receiver   (External Device)   HBR   Data Sender   Operation   (This Instrument)   ----->   Send Request   (Optional)   <-----   ----->   HBS   HBS   Data Send   Acknowledge   Data Send   ACK   ERR   ERR   ERR   RJC   <-----   (Error generated)   ----->   Error   <-----   HBS   HBS   HBS   Data Send (Retry 1)   (Error generated)   ----->   Error   <-----   Data Send (Retry 2)   (Error generated)   ----->   Error   <-----   Data Send (Retry 3)   (Error generated)   ----->   Session stopped   Operation   RJC is sent to terminate the session in case ACK cannot be recognized.   Data Receiver   Data Sender   (External   Device)   (This   Instrument)   HBR   ----->   Send Request   (Optional)   <-----   HBS   Data 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 Receiver   (External Device)   HBR   Data Sender   Operation   (This Instrument)   ----->   Send Request   (Optional)   <-----   HBS   HBS   Data Send   Acknowledge   Data Send   ACK   ----->   <-----   : : (Terminate operation)   ----->   RJC   Data Receive   Canceled   32   Data Receiver   (External Device)   HBR   Data Sender   Operation   (This Instrument)   ----->   Send Request   (Optional)   ACK   ACK   ----->   Acknowledge   Data Send   <-----   HBS   HBS   ----->   Acknowledge   Data Send   <-----   : : (Terminate operation)   <-----   RJC   Data 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 Receiver   (External Device)   OBR   Data Sender   Operation   (This Instrument)   ----->   <----- BSY   Send Request   Send Rejected   Data Receiver   Data Sender   (This Instrument)   <----- OBS   Operation   (External Device)   Data Send   BSY   ----->   Receive Rejected   Data Receiver   (External Device)   HBR   Data Sender   Operation   (This Instrument)   ----->   Send Request   Send Rejected   <----- BSY   Data Receiver   Data Sender   (This Instrument)   <----- HBS   ----->   Operation   (External Device)   Data Send   BSY   Receive Rejected   33   Part V   Parameter List   This section explains the parameters that actually can be transferred by the Instrument.   22 Using 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 allocation 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 indi-   cated in decimal format.   23 System 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.1 System Information Parameter   This parameter is a container for system information.   34   Parameter   ID   R/W Block Size Array Min-Def-Max Description   Model Name   0000   R 000000   7 08   00-20-7F   Ascii Character   CTK-4200........"CTK-4200"   CTK-5300........"CTK-5300"   LK-211.........."LK-211   LK-280.........."LK-280   WK-220/WK-225..."WK-220   WK-330.........."WK-330   " " " " CDP-220R........"CDP-220R"   Ascii Character   Program Revision 0001   R ↑ ↑ 7 8 08   01   00-20-7F   00-00-FF   Ex. " 12345"   General Register 0002 R/W   General-purpose register for communication test   23.2 Data Management Parameter   These are information acquisition and operation command parameters for this Instrument’s Data Man-   ager PC application.   Parameter   ID   R/W   W Block   Size Array   Min-Def-Max   00-00-7F   Description   Ps Category   0005   00000000   7 7 01   01   Specifies the category ID of the   parameter set that corresponds to an   operation.   Ps Memory   0006   W ↑ 00-00-7F   Specifies the memory ID of the   parameter set that corresponds to an   operation.   Ps Number   0007   0008   W R ↑ ↑ 14   8 01   01   0000-0001-3FFF   00-00-FF   Specifies the number of the parameter   set that corresponds to an operation.   Ps Data Type   This the data type of the parameter   set in the specified category.   Compatibility is provided between   models with the same type.   Current Ps Existence 0009   R R ↑ ↑ 1 1 01   01   00-00-01   00-00-01   Whether a parameter set exists in the   specified category.   0...No   1...Yes   Current Ps Protect   Current Ps Size   000A   000B   Protect status of a parameter set data   in the specified category.   0...Off   1...On   R R R R R R ↑ ↑ ↑ ↑ ↑ ↑ 32   32   8 01   01   08   01   01   01   00000000-00000000-FFFFFFFF Size of a parameter set in the   specified category/number (bytes).   Current Sub Ps Size 000C   00000000-00000000-FFFFFFFF Total size of a parameter sets under   the specified category (bytes).   Current Ps Name   Max Ps Size   000D   000E   000F   0010   00-20-7F   Name of a parameter set in the   specified category (ASCII characters).   32   14   32   00000000-00000000-FFFFFFFF Maximum size of parameter sets in the   specified category (bytes).   Max Ps Number   Current Free Size   0000-0000-FFFF   Maximum number parameter sets in the   specified category (bytes).   00000000-00000000-FFFFFFFF Size of current parameter set free   space in the specified category   (byte).   Max Free Size   Delete Ps   0011   0012   R W ↑ ↑ 32   1 01   01   00000000-00000000-FFFFFFFF Maximum size of parameter free space   in the specified category (bytes).   00-00-01   Deletes parameter sets in the   specified category.   Values are ignored.   35   24 Patch Parameter   The main function of patch parameters is to configure the settings of the sound source of a device.   24.1 Master Tune Parameter   These parameters configure the Master Tuning settings.   Parameter   ID   R/W Block Size Array   Min-Def-Max   0000-0200-03FF -512*100/512~0*100/512~+511*100/512(cent)   00-40-7F -24~0~+24(semitone)   Description   Master Fine Tune   0000 R/W 000000 10   01   01   Master Coarse Tune 0001 R/W   ↑ 7 24.2 Master Mixer Parameter   These parameters configure the Master settings of the mixer.   Parameter   ID   R/W Block Size Array Min-Def-Max Description   01 00-7F-7F 0~127   Master Volume 0002 R/W 000000   7 24.3 Part Parameter   Part parameters configure the settings of each musical instrument part.   Parameter   ID   R/W   Block   Size Array   Min-Def-Max   00-01-01   Description   0...Off   Part Enable   0068 R/W 4-0: Part #   1 01   1...On   Scaletune Enable 0069 R/W   ↑ 1 01   00-01-01   0...Disable   1...Enable   Tone Num   Fine Tune   Coarse Tune   Volume   006A R/W   006B R/W   006C R/W   006D R/W   006E R/W   006F R/W   0070 R/W   0071 R/W   0072 R/W   ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ 14   7 01   01   01   01   01   01   01   01   01   0000-0000-3FFF 0~16383   00-40-7F   28-40-58   00-64-7F   00-7F-7F   00-40-7F   00-00-7F   00-28-7F   00-02-18   -100~0~+99(cent)   7 -24~0~+24(semitone)   0~127   7 Acmp Volume   Pan   7 0~127   7 -64~00~+63   0~127   Cho Send   Rev Send   Bend Range   7 7 0~127   7 0~24   25 Scale Memory Parameter   25.1 Scale Memory Octave   Scale memory parameters store scale memory data.   Parameter ID   R/W Block Size Array Min-Def-Max Description   Note   0000 R/W 000000   8 0C   00-80-FF   -128~0~127   Array : Note   0....C   1....C#   2....D   3....D#   4....E   5....F   6....F#   7....G   8....G#   9....A   10...A#   11...B   A Key Mode 0001 R/W   ↑ 1 01   00-00-01   0...Relative   1...Absolute   36   26 All Data Parameter   There is no parameter for storing all data directory information.   27 Sequence Parameter   27.1 Sequence Directory Info   The sequence parameter stores recorder song directory information.   Parameter ID   Size 0001   R/W Block Size Array   000000 32 01   Min-Def-Max   Description   R 00000000-00000000-00FFFFFF 0~0xFFFFFFFF   28 Registration Parameter   28.1 Registration Directory Info   The registration parameter stores registration data directory information.   Parameter ID   Size 0001   R/W Block Size Array   000000 32 01   Min-Def-Max   Description   R 00000000-00000000-00FFFFFF 0~0xFFFFFFFF   29 Rhythm Parameter   29.1 Rhythm Directory Info   The rhythm parameter stores rhythm directory information.   Parameter ID   R/W Block Size Array   Min-Def-Max   20-20-7F   Description   Name   Size   0000   0002   R R 000000   7 08   01   Ascii Character   ↑ 32   00000000-00000000-00FFFFFF 0~0xFFFFFFFF   30 Song Parameter   30.1 Song Directory Info   The song parameter stores song data directory information.   Parameter ID   R/W Block Size Array   Min-Def-Max   20-20-7F   Description   Name   Size   0000   0002   R R 000000   7 08   01   Ascii Character   ↑ 32   00000000-00000000-00FFFFFF 0~0xFFFFFFFF   31 Lesson Rec Parameter   31.1 Lesson Rec Directory Info   The lesson rec parameter stores recorder song (play-along) directory information.   Parameter ID   Size 0001   R/W Block Size Array   000000 32 01   Min-Def-Max   Description   R 00000000-00000000-00FFFFFF 0~0xFFFFFFFF   37   Part VI   Parameter Set List   This section explains actually how parameter sets can be transferred by the Instrument with bulk dump.   32 Parameter Set Table   Parameter Set Category cat mem pset   description   Tone   03H 00H 0000H - 0004H (Melody Sampling Tone 0 - 4)   0005H - 0007H (Drum Sampling Tone 0 - 2)   Drum   Inst   06H 00H 0000H - 0002H (Drum Sampling Tone 0 - 2)   0DH 00H 0000H - 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 Param   0EH 00H 0000H - 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 Data   0FH 00H 0000H - 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 Memory   All   12H 00H 0003H - 0006H (User 1 - 4)   1FH 00H 0000H - 003CH   Song   20H 00H 0000H - 0009H (Song Bank Song 0 - 9)   21H 00H 0000H - 0004H (Recorder Song 0 - 4)   22H 00H 0000H - 0007H (Bank 0 - 8)   23H 00H 0000H   Sequence   Registration   Lesson Rec   Rhythm   24H 00H 0000H - 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   33 Setting Value Tables   33.1 Off/On Setting Value Table   Transmit Value   Receive Value   00H - 3FH   Parameter   00H   7FH   Off   On   40H - 7FH   33.2 –64 - 0 - +63 Setting Value Table   Transmit Value   Receive Value   Parameter   00H   : 00H   : -64   : 40H   : 40H   : 0 : 7FH   7FH   +63   33.3 Pan Setting Value Table   Transmit Value   Receive Value   Parameter   Left   : 00H   : 00H   : 40H   : 40H   : Center   : 7FH   7FH   Right   33.4 Fine Tune Setting Value Table   Transmit Value   (LSB, MSB)   (43H, 00H)   (65H, 00H)   (07H, 01H)   (29H, 01H)   : Receive Value   Parameter   (LSB, MSB) - (LSB, MSB)   (00H, 00H) - (5FH, 00H)   (60H, 00H) - (7FH, 00H)   (00H, 01H) - (1FH, 01H)   (20H, 01H) - (3FH, 01H)   : 415.5 Hz   415.6 Hz   415.7 Hz   415.8 Hz   : (40H, 3FH)   (60H, 3FH)   (00H, 40H)   (20H, 40H)   (40H, 40H)   : (30H, 3FH) - (4FH, 3FH)   (50H, 3FH) - (6FH, 3FH)   (70H, 3FH) - (1FH, 40H)   (20H, 40H) - (3FH, 40H)   (40H, 40H) - (5FH, 40H)   : 439.8 Hz   439.9 Hz   440.0 Hz   440.1 Hz   440.2 Hz   : (54H, 7EH)   (73H, 7EH)   (11H, 7FH)   (30H, 7FH)   (50H, 7EH) - (6FH, 7EH)   (70H, 7EH) - (0FH, 7FH)   (10H, 7FH) - (2FH, 7FH)   (30H, 7FH) - (7FH, 7FH)   465.6 Hz   465.7 Hz   465.8 Hz   465.9 Hz   40   33.5 Reverb Time Setting Value Table   Transmit Value   Receive Value   00H - 0BH   0CH - 17H   18H - 23H   24H - 2FH   30H - 3BH   3CH - 47H   48H - 53H   54H - 5FH   60H - 6BH   6CH - 77H   78H - 7FH   Parameter   00H   0CH   18H   24H   30H   3CH   48H   54H   60H   6CH   78H   Off   1 2 3 4 5 6 7 8 9 10   33.6 Chorus Type Setting Value Table   Transmit Value   Receive Value   Parameter   Chorus 1   Chorus 2   Chorus 3   Chorus 4   Chorus 5   00H   01H   02H   03H   04H   00H   01H   02H   03H   04H   41   Part VIII   MIDI Implementation Notation   34 Value Notation   34.1 Hexadecimal 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.   Decimal   0 Hexadecimal   00H   01H   02H   03H   04H   05H   06H   07H   08H   09H   0AH   0BH   0CH   0DH   0EH   0FH   10H   11H   12H   13H   14H   15H   16H   17H   18H   19H   1AH   1BH   1CH   1DH   1EH   1FH   Decimal   32   33   34   35   36   37   38   39   40   41   42   43   44   45   46   47   48   49   50   51   52   53   54   55   56   57   58   59   60   61   62   63   Hexadecimal   20H   21H   22H   23H   24H   25H   26H   27H   28H   29H   2AH   2BH   2CH   2DH   2EH   2FH   30H   31H   32H   33H   34H   35H   36H   37H   38H   39H   3AH   3BH   3CH   3DH   3EH   3FH   Decimal   64   65   66   67   68   69   70   71   72   73   74   75   76   77   78   79   80   81   82   83   84   85   86   87   88   89   90   91   92   93   94   95   Hexadecimal   40H   41H   42H   43H   44H   45H   46H   47H   48H   49H   4AH   4BH   4CH   4DH   4EH   4FH   50H   51H   52H   53H   54H   55H   56H   57H   58H   59H   5AH   5BH   5CH   5DH   5EH   5FH   Decimal   96   Hexadecimal   60H   61H   62H   63H   64H   65H   66H   67H   68H   69H   6AH   6BH   6CH   6DH   6EH   6FH   70H   71H   72H   73H   74H   75H   76H   77H   78H   79H   7AH   7BH   7CH   7DH   7EH   7FH   1 97   2 98   3 99   4 100   101   102   103   104   105   106   107   108   109   110   111   112   113   114   115   116   117   118   119   120   121   122   123   124   125   126   127   5 6 7 8 9 10   11   12   13   14   15   16   17   18   19   20   21   22   23   24   25   26   27   28   29   30   31   34.2 Binary Notation   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.   42   Decimal   Hexadecimal   00H   01H   02H   03H   04H   05H   06H   07H   08H   09H   0AH   0BH   0CH   0DH   0EH   0FH   10H   : Binary   0 1 00000000B   00000001B   00000010B   00000011B   00000100B   00000101B   00000110B   00000111B   00001000B   00001001B   00001010B   00001011B   00001100B   00001101B   00001110B   00001111B   00010000B   2 3 4 5 6 7 8 9 10   11   12   13   14   15   16   : 125   126   127   7DH   7EH   7FH   01111101B   01111110B   01111111B   43   |