CT-X700/CT-X800/CTX-870IN MIDI Implementation CASIO COMPUTER CO., LTD. Contents I Overview 1 4 Product Configuration as a System Section . . . . . . . . . Performance Controller Section Sound Generator Section . . . 1.1 1.2 1.3 MIDI Device . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.19 7.20 7.21 7.22 7.23 7.24 7.25 7.26 7.27 7.28 7.29 7.30 Portamento Control(54H) . Reverb Send (5BH) . . . . Chorus Send (5DH) . . . . Delay Send (5EH) . . . . . RPN (64H,65H) . . . . . . All Sound Off (78H) . . . . Reset All Controllers (79H) All Notes Off (7BH) . . . . Omni Off (7CH) . . . . . . Omni On (7DH) . . . . . . Mono (7EH) . . . . . . . . Poly (7FH) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
18 18.1 18.2 18.3 18.4 18.5 18.6 18.7 18.8 VII 19 19.1 19.2 Setting Value Tables 0 - 127 Setting Value Table . . . . Off/On Setting Value Table . . . . Sustain Pedal Setting Value Table –64 - 0 - +63 Setting Value Table Pan Setting Value Table . . . . . . Fine Tuning Setting Value Table . Reverb Type Setting Value Table . Chorus Type Setting Value Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . MIDI Implementation Notation . . . . . . . . . . . . . . . . . . .
Part I Overview 1 Product Configuration as a MIDI Device As a MIDI device, this Instrument consists of the System Section, Sound Generator Section, and Performance Controller 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. 1.
Port A A A A A A A A A A A A A A A A Part number 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 MIDI Receive Ch - MIDI Transmit ch 1-16 1-16 1-16 1-16 1-16 6 7 8 9 10 11 12 13 14 15 16 Port B B B B B Part number 17 18 19 20 21 MIDI Receive Ch - MIDI Transmit Ch - B B B B B B B B B B B 22 23 24 25 26 27 28 29 30 31 32 - - 5 Assigned Function Details Upper1 - Upper2 - Lower - - - Auto Harmonize - Lesson guide sound - Lesson guide voice - Metronome - Accomp Percussion Accomp
Port C Part number 33 MIDI Receive Ch 1 MIDI Transmit Ch - C 34 2 C 35 C 2 Assigned Function Details MIDI/Auto Play/Recorder Recorder Track2 - MIDI/Auto Play/Recorder Recorder Track3 3 - MIDI/Auto Play/Recorder Recorder Track4 36 4 - MIDI/Auto Play/Recorder Recorder Track5 C 37 5 - MIDI/Auto Play/Recorder Recorder Track6 C C C C C C C C C C C 38 39 40 41 42 43 44 45 46 47 48 6 7 8 9 10 11 12 13 14 15 16 - MIDI/Auto Play - MIDI/Auto Play - MIDI/Auto Play - MIDI/Auto
Part II Channel Message 5 Note Off Format Message Format: n: kk: vv: 8nH kkH vvH 9nH kkH 00H(receive only) MIDI Channel Number Key Number velocity Transmit Sent when something is played on the keyboard or when play is performed using an arpeggio, etc. The key number changes in accordance with on the Transpose function and Octave Shift function. Receive Receipt stops a note being sounded by a note on message.
Note1: For details about the relationship between the MSB value and the tone, see the Tone List that comes with the Instrument. Transmit Sent when a tone setup number 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 “8 Program Change”. 7.
Transmit Sent when MIDI setting of Accomp Out set to ON and when automatic accompaniment is used. Receive Receipt changes the part volume. 7.6 Pan (0AH) Message Format: n: vv: BnH 0AH vvH MIDI Channel Number Value(Note1) Note1: For information about the relationship between setting values and send/receive values, see “18.5 Pan Setting Value Table” in “VI Setting Values and Send/Receive Values”. Transmit Sent when MIDI setting of Accomp Out set to ON and when automatic accompaniment is used.
• Timbre Type: Piano Continuous control of the following is performed in accordance with the value of the received message. – Piano note decay rate For information about the relationship between setting values and send/receive values, see “ 18.3 Sustain Pedal Setting Value Table ” in “ VI Setting Values and Send/Receive Values. ” • Timbre Type: LM (Linear Morphing) Piano Continuous control of the following is performed in accordance with the value of the received message.
7.11 Soft (43H) Message Format: n: vv: BnH 43H vvH MIDI Channel Number Value (Note1) Note1: For information about the relationship between setting values and send/receive values, see the “18.2 Off/On Setting Value Table” in “VI Setting Values and Send/Receive Values” of this document. Transmit Sent when a pedal that has a soft function is operated. Receive Receipt performs an operation equivalent to a soft pedal operation. 7.
7.15 Filter Cutoff (4AH) Message Format: n: vv: BnH 4AH vvH MIDI Channel Number Value (Note1) Note1: For information about the relationship between setting values and send/receive values, see the “18.4 –64 - 0 - +63 Setting Value Table” in “VI Setting Values and Send/Receive Values” of this document. Receive Receipt changes how the cut-off filter is applied. 7.
7.19 Portamento Control(54H) Message Format: n: vv: BnH 54H vvH MIDI Channel Number Source Key Number Receive Receipt of this message first stores the Source Note Number for the next note. When the next Note On is received, the portamento effect is applied to the note using this Source Note Number as the pitch start point and the Note On event key number as the end point.
7.23 RPN (64H,65H) Message Format: n: ll: mm: 7.23.1 BnH 64H llH (LSB) BnH 65H mmH (MSB) MIDI Channel Number LSB Value MSB Value Pitch Bend Sensitivity Message Format: n: mm: ll: BnH 64H 00H BnH 65H 00H BnH 06H mmH BnH 26H llH MIDI Channel Number MSB Value(00H - 18H) LSB Value(Transmit:00H, Receive:Ignored) Transmit Sent when calling Registration.(CT-X800/CT-X870IN) Receive Receipt changes Bend Range of the corresponding part. 7.23.
Transmit Sent when calling Registration. 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 “8 Program Change”) is Drum. 7.23.4 Null Message Format: n: BnH 64H 7FH BnH 65H 7FH MIDI Channel Number Transmit Sent when change settings related to MIDI transmission. Receive Receipt de-selects RPN, NRPN. 7.
7.28 Omni On (7DH) Message Format: n: BnH 7DH 00H MIDI Channel Number Receive Receipt performs the same operation as when All Notes Off is received. 7.29 Mono (7EH) Message Format: n: BnH 7EH 00H MIDI Channel Number Receive Receipt performs the same operation as when All Sound Off is received. 7.30 Poly (7FH) Message Format: n: BnH 7FH 00H MIDI Channel Number Receive Receipt performs the same operation as when All Sound Off is received.
• LMPiano This Timbre Type is for Linear Morphing piano tones. The decay rate of the voice being sounded and Damper Resonance effect characteristics are seamlessly altered in accordance with the damper pedal position. The method for producing sound in response to the note messages also is different from that of the melody Timbre Type, and operation is optimized for piano. • Drum This setting optimizes for drum sounds. The damper pedal does not function.
Part III System Message 11 Active Sensing Message Format: FEH Transmit Sent periodically. 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. 12 System Exclusive Message Message Format: ii: F0H iiH 7FH....
Note1: For information about the relationship between setting values and send/receive values, see “18.6 Fine Tuning Setting Value Table” in “VI Setting Values and Send/Receive Values” of this document. Transmit This message is sent when the tuning setting is changed. Receive Receipt changes the tuning setting. 12.1.
12.1.7 Modulation Rate Message Format: vv: F0H 7FH 7FH 04H 05H 01H 01H 01H 01H 02H 01H vvH F7H Value Receive Receipt changes the Chorus Rate. 12.1.8 Modulation Depth Message Format: vv: F0H 7FH 7FH 04H 05H 01H 01H 01H 01H 02H 02H vvH F7H Value Receive Receipt changes the chorus level setting. 12.1.9 Send To Reverb Message Format: vv: F0H 7FH 7FH 04H 05H 01H 01H 01H 01H 02H 04H vvH F7H Value Receive Receipt changes the Chorus Sent To Reverb setting. 12.
Part IV Instrument-Specific System Exclusive Messages 13 Format This section explains the format of the Instrument-specific System Exclusive Messages. See “V Parameter List” for information about how parameter sets actually are transferred. 13.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.
13.3.3 MOD : Model ID Format: MSB LSB 00011001B (19H) 00000001B (01H) These two successive bytes (MSB, LSB) indicate the CT-X700/CT-X800/CTX-870IN model ID. 13.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.
13.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. Instrument-specific System Exclusive messages basically correspond to the user area only. mem 1 13.3.
2-dimension array block [index1][index0] Value 00jjjjjjjiiiiiiiB 00lllllllkkkkkkkB 00nnnnnnnmmmmmmmB 00pppppppoooooooB Meaning 0000H 0000H index1 index0 3-dimension array block [index2][index1][index0] Value 00jjjjjjjiiiiiiiB 00lllllllkkkkkkkB 00nnnnnnnmmmmmmmB 00pppppppoooooooB Meaning 0000H index2 index1 index0 4-dimension array block [index3][index2][index1][index0] Value 00jjjjjjjiiiiiiiB 00lllllllkkkkkkkB 00nnnnnnnmmmmmmmB 00pppppppoooooooB 13.3.
13.3.13 data : Parameter Data Individual Parameter Transfer Format: index0 index1 index2 : indexN 0dddddddB 0dddddddB 0dddddddB : 0dddddddB (0eeeeeeeB) (0fffffffB) (0gggggggB) (0hhhhhhhB) (0eeeeeeeB) (0fffffffB) (0gggggggB) (0hhhhhhhB) (0eeeeeeeB) (0fffffffB) (0gggggggB) (0hhhhhhhB) (0eeeeeeeB) (0fffffffB) (0gggggggB) (0hhhhhhhB) Parameter data indicates the parameter value. Data is repeatedly placed in an array of the size equivalent to len+1.
15 15.1 Casio General System Exclusive Format Message Format: ii: cc ...: ss ...: pp ...: dd ...: 15.2 F0H 44H 7EH 7FH iiH ccH ... Device ID (0x00...0x7F) Category ID Sub Category ID Parameter ID Data ssH ... ppH ... ddH ... F7H Declared Variable Length of Category ID, Sub Category ID and Parameter ID Category ID(cc...),Sub Category ID(ss...) and Parameter ID(pp...) is declared variable length.
Part V Parameter List This section explains the parameters that actually can be transferred by the Instrument. 16 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.
Parameter ID R/W Oct Shift Line Select 002B R/W 002C R/W ↑ ↑ Level Chorus Send Reverb Send Delete Send Stretch Tuning 002D 0038 0039 003A 0050 ↑ ↑ ↑ ↑ ↑ R/W R/W R/W R/W R/W Block Size Array Min-Def-Max Description 2...Both 3 01 02-04-06 -2 - 0 - +2 1 01 00-00-01 0...Direct 1...DSP 7 01 00-64-7F 0 - 127 7 01 00-00-7F 0 - 127 7 01 00-28-7F 0 - 127 7 01 00-00-7F 0 - 127 4 01 00-00-0F 0...Off 1...Piano1 2...Piano2 3...Piano3 4...Piano4 5...Piano5 6...E.Piano1 7...E.
Part VI Setting Values and Send/ Receive Values 18 18.1 Setting Value Tables 0 - 127 Setting Value Table Receive Value 00H - 00H : 7FH - 7FH 18.2 Parameter Off On Receive Value 00H : 7FH Parameter Off (continuous) Full –64 - 0 - +63 Setting Value Table Transmit Value 00H : 40H : 7FH 18.5 Receive Value 00H - 3FH 40H - 7FH Sustain Pedal Setting Value Table Transmit Value : - 18.4 Parameter 0 : 127 Off/On Setting Value Table Transmit Value 00H 7FH 18.
18.6 Fine Tuning Setting Value Table Transmit Value (LSB, MSB) (43H, 00H) (65H, 00H) (07H, 01H) (29H, 01H) : (40H, 3FH) (60H, 3FH) (00H, 40H) (20H, 40H) (40H, 40H) : (54H, 7EH) (73H, 7EH) (11H, 7FH) (30H, 7FH) 18.
Part VII MIDI Implementation Notation 19 19.1 Value Notation 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 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 : 125 126 127 Hexadecimal 00H 01H 02H 03H 04H 05H 06H 07H 08H 09H 0AH 0BH 0CH 0DH 0EH 0FH 10H : 7DH 7EH 7FH Binary 00000000B 00000001B 00000010B 00000011B 00000100B 00000101B 00000110B 00000111B 00001000B 00001001B 00001010B 00001011B 00001100B 00001101B 00001110B 00001111B 00010000B 01111101B 01111110B 01111111B 32