CT-X3000/CT-X8000IN/CT-X3100/CT-X5000/CTX9000IN/CT-X5100 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.17 7.18 7.19 7.20 7.21 7.22 7.23 7.24 7.25 7.26 7.27 7.28 7.29 7.30 Vibrato Depth (4DH) . . . Vibrato Delay (4EH) . . . 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 Part number 17 MIDI Receive Ch - MIDI Transmit Ch - B 18 - B 19 B Assigned Function Details Upper1 - Upper2 - Lower1 - Lower2 - Auto Harmonize - - - - - Metronome - Accomp Percussion Accomp Drum Accomp Bass Accomp Chord1 Accomp Chord2 Accomp Chord3 Accomp Chord4 Accomp Ch
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 Solo Track1 - MIDI/Auto Play/Recorder Recorder Solo Track2 3 - MIDI/Auto Play/Recorder Recorder Solo Track3 36 4 - MIDI/Auto Play/Recorder Recorder Solo Track4 C 37 5 - MIDI/Auto Play/Recorder Recorder Solo Track5 C 38 6 - MIDI/Auto Play/Recorder Recorder Solo Track6 C 39 7 - MIDI/Auto Play/Recorder Recorder Solo Track7 C 40 8 -
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.
7.5 Volume (07H) Message Format: n: vv: BnH 07H vvH MIDI Channel Number Value Transmit Sent when mixer part volume is used. 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.
Timbre Type Specific Operation This operation differs in accordance with the Timbre Type (see “About the Timbre Type” in “8 Program Change”) setting. • Timbre Type: Melody,Hex Layer Sustain off/on control is performed in accordance with the value of the received message. 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 ”.
7.10 Sostenuto (42H) Message Format: n: vv: BnH 42H 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 sostenuto function is operated. Receive Receipt performs an operation equivalent to a sostenuto pedal operation. 7.
Receive Receipt makes a relative change in the time it takes for a note to decay to zero after a key is released. 7.14 Attack Time (49H) Message Format: n: vv: BnH 49H 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 the degree of pitch modulation. 7.18 Vibrato Delay (4EH) Message Format: n: vv: BnH 4EH 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 the time it takes until note vibrato starts. 7.
7.22 Delay Send (5EH) Message Format: n: vv: BnH 5EH vvH MIDI Channel Number Value Transmit Sent when mixer part delay send is operated. Sent when Delay type is selected, when GM tone is selected, when MIDI setting of Accomp Out set to ON and when automatic accompaniment is used. Receive Receipt changes the delay send of the corresponding part. 7.23 RPN (64H,65H) Message Format: n: ll: mm: 7.23.
Receive Receipt changes the fine tune of the corresponding part. 7.23.3 Coarse Tune Message Format: n: mm: ll: BnH 64H 02H BnH 65H 00H BnH 06H mmH BnH 26H llH MIDI Channel Number MSB Value(28H - 58H) LSB Value(Transmit:00H, Receive:Ignored) 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.
Receive Receipt releases (key release) all voices that are sounding. 7.27 Omni Off (7CH) Message Format: n: BnH 7CH 00H MIDI Channel Number Receive Receipt performs the same operation as when All Notes Off is received. 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.
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. The damper pedal performs on/off operations. • Piano This Timbre Type is for piano tones. The decay rate of the voice being sounded is seamlessly altered in accordance with the damper pedal position.
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-X3000/CT-X8000IN/CT-X3100/CT-X5000/CTX9000IN/CT-X5100 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.
A · · · Available (Also including when only some parameters are available.) - · · · Not Available 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 Block Level Chorus Send Reverb Send Delay Send 002D 0038 0039 003A R/W R/W R/W R/W ↑ ↑ ↑ ↑ Size Array Min-Def-Max Description 1...
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