Casio MZ-2000 User Manual

MZ-2000 MIDI Implementation
CASIO Computer Electronic Musical Instrument Division
Jan 7, 2000
MZ-2000 MIDI Implementation
CONTENTS * 1 MIDI Message Format Overview o 1.1 Configuration o 1.2 messages and Channels + 1.2.1 Performance Block + 1.2.2 Sound Source Common Sub-block + 1.2.3 Parts Sub-block * 2 Channel messages o 2.1 Note messages + 2.1.1 Note Off + 2.1.1.1 Receive + Format + Operation + 2.1.1.2 Send + Format + Operation + 2.1.2 Note On + 2.1.2.1 Receive + Format + Operation + 2.1.2.2 Send + Format + Operation o 2.2 Polyphonic Key Pressure + Format + Receive + Send o 2.3 Control Change + 2.3.1 Bank Select + Format + Receive + Send + 2.3.2 Modulation Wheel + Format + Receive + Send + 2.3.3 Portamento Time + Format + Receive + Send + 2.3.4 Data Entry + Format + 2.3.5 Channel Volume + Format + Receive + Send + 2.3.6 Pan + Format + Receive + Send + 2.3.7 Expression Controller + Format + Receive + Send + 2.3.8 General Controller 1 to 8 + Format + Receive + Send + 2.3.9 Hold 1 (Damper Pedal) + Format + Receive + Send + 2.3.10 Portamento + Format + Receive + Send + 2.3.11 Sostenuto + Format + Receive + Send + 2.3.12 Soft + Format
+ Receive + Send + 2.3.13 Sound Controller 2 (Resonance) + Format + Receive + Send + 2.3.14 Sound Controller 3 (Release Time) + Format + Receive + Send + 2.3.15 Sound Controller 4 (Attack Time) + Format + Receive + Send + 2.3.16 Sound Controller 5 (Brightness) + Format + Receive + Send + 2.3.17 Portamento Control + Format + Receive + Send + 2.3.18 Effect 1 (Reverb Send Level) + Format + Receive + Send + 2.3.19 Effect 3 (Chorus Send Level) + Format + Receive + Send + 2.3.20 NRPN + Format + Receive + Send + 2.3.20.1 Vibrato Rate + Receive + Send + 2.3.20.2 Vibrato Depth + Receive + Send + 2.3.20.3 Vibrato Delay + Receive + Send + 2.3.20.4 TVF Cutoff Frequency + Receive + Send + 2.3.20.5 TVF Resonance + Receive + Send + 2.3.20.6 TVF/TVA Envelope Attack Time + Receive + Send + 2.3.20.7 TVF/TVA Envelope Decay Time + Receive + Send + 2.3.20.8 TVF/TVA Envelope Release Time + Receive + Send + 2.3.20.9 Drawbar Control + Receive + Send + 2.3.21 RPN + Format + Receive + Send + 2.3.21.1 Pitch Bend Sensitivity + Receive + Send + 2.3.21.2 Master Fine Tuning + Receive + Send + 2.3.21.3 Master Coarse Tuning
1
MZ-2000 MIDI Implementation
+ Receive + Send + 2.3.21.4 RPN Null + Receive + Send o 2.4 Program Change + Format + Receive + Send o 2.5 Channel Pressure + Format + Receive + Send o 2.6 Pitch Bend Change + Format + Receive + Send o 2.7 Channel Mode messages + 2.7.1 All Sound Off + Format + Receive + Send + 2.7.2 Reset All Controller + Format + Receive + Send + 2.7.3 All Note Off + Format + Receive + Send + 2.7.4 Omni Mode Off + Format + Receive + Send + 2.7.5 Omni Mode On + Format + Receive + Send + 2.7.6 Mono Mode On + Format + Receive + Send + 2.7.7 Poly Mode On + Format + Receive + Send * 3 System Messages o 3.1 System Real-Time Messages + 3.1.1 Active Sensing + Format + Receive + Send + 3.1.2 Timing Clock + Format + Receive + Send + 3.1.3 Start + Format + Receive + Send + 3.1.4 Stop + Format + Receive + Send o 3.2 System Common Messages o 3.3 System Exclusive Messages + 3.3.1 Universal System Exclusive Messages + 3.3.1.1 GM System On + Format + Receive + Send + 3.3.1.2 Master Volume
+ Format + Receive + Send + 3.3.2 MZ-2000 Sound Source System Exclusive Overview + Format * 4 MZ-2000 Sound Source System Exclusive Messages o 4.1 MZ-2000 Sound Source Common System Exclusive Format + 4.1.1 General + 4.1.2 MZ-2000 Sound Source Common System Exclusive Data Blocks + 4.1.3 Parameter Configuration + 4.1.4 Individual Parameter Operations + IPR Communication Flow + IPC/IPR + 4.1.5 Parameter Set Bulk Dump + One-Way Communication Flow + Hand Shake Protocol + Parameter Set HDJ/HDA/HDE + Parameter Set BDS/HDS + Parameter Set BDR/HDR o 4.2 MZ-2000 System Control + 4.2.1 General + 4.2.2 MZ-2000 System Control Message Format + 4.2.3 IDs and Operations of Each Control Parameter + MIDI Setup Save/Resume + Tone Generator/Effect/Mixer Initialize + DSP Initialize + 4.2.3.1 Setting Examples o 4.3 Patch MIDI Overview + 4.3.1 MIDI Messages Received by Patch + 4.3.1.1 Patch Parameter Configuration + 4.3.1.2 Patch Parameter Set Bulk Dump o 4.4 Patch Tone Generator + 4.4.1 General + 4.4.2 Patch Tone Generator Parameter Control Message Format + 4.4.3 Patch Common Parameters + 4.4.3.1 System Reverb + 4.4.3.2 System Chorus + 4.4.3.3 Master + 4.4.4 Patch Part Parameter + 4.4.4.1 Receive Filter Parameter + 4.4.4.2 Modulation Effects + 4.4.4.3 Bender Effects + 4.4.4.4 Channel After Touch + 4.4.4.5 Polyphonic After Touch Effects + 4.4.4.6 Continuous Controller 1 Effects + 4.4.4.7 Continuous Controller 2 + 4.4.4.8 Scale Tuning + 4.4.4.9 Other Parameters + 4.4.4.10 Example Settings o 4.5 Selecting Patch Effects + 4.5.1 General + 4.5.2 Common Format for Patch Effect Selection Parameter Control + 4.5.3 Parameter Ids and Bit Sizes + 4.5.4 Patch Parameter Effect Select Bulk Dump o 4.6 Patch Effect Macro Select + 4.6.1 Patch Parameter Effect Macro Select + 4.6.2 Effect Macro Select Parameter Control Message Format + 4.6.3 Parameter IDs and Bit Sizes o 4.7 Drawbar Tone Generator + 4.7.1 Drawbar TG Parameter Settings + 4.7.2 Parameter Operations + 4.7.3 Parameter IDs and Value Ranges + 4.7.3.1 Drawbar TG Common Parameter + 4.7.3.2 Setting Parameters + 4.7.4 Sample Message + 4.7.4.1 Enabling On Click o 4.8 Effects + 4.8.1 Organization of Effects + 4.8.2 Effect Select Operation + 4.8.3 Effect Load Precautions + 4.8.3.1 Parts + 4.8.3.2 Effect Connections
2
MZ-2000 MIDI Implementation
+ Monaural Effect and Stereo Effect Connection + Stereo Effect and Monaural Effect Connection + Assignment of a Stereo Effect to a DSP + Parallel Use of Two Monoaural Effects + 4.8.3.3 Resource Problem + 4.8.3.4 Distortion + 4.8.4 Effect Parameter Change Operation + 4.8.5 Effect Parameter Control Message Common Format + 4.8.6 Effector Types + 4.8.6.1 Thru + Specifications + Parameter List + Operation + Preset List + 4.8.6.2 Stereo Thru + Specifications + Parameter List + Operation + Preset List + 4.8.6.3 Noise Gate + Specifications + Specifications + Parameter List + Operation + Preset List + 4.8.6.4 System Noise Gate + Specifications + Parameter List + Operation + Preset List + 4.8.6.5 Compressor/Limiter + Specifications + Parameter List + Operation + Compressor + Limiter + Preset List + 4.8.6.6 Stereo Compressor/Limiter + Specifications + Parameter List + Operation + Preset List + 4.8.6.7 Slow Attack + Specifications + Operation + Preset List + 4.8.6.8 3-Band EQ + Specifications + Parameter List + Operation + Equalizer Frequencies + Preset List + 4.8.6.9 Stereo 3-Band EQ + Specifications + Parameter List + Operation + Preset List + 4.8.6.10 Enhancer + Specifications + Operation + Preset List + 4.8.6.11 Stereo Enhancer + Specifications + Parameter List + Operation + Preset List + 4.8.6.12 Wah + Specifications + Operation + Preset List + 4.8.6.13 Auto Wah + Specifications
Parameter List Operation Preset List
4.8.6.14 Distortion Specifications Parameter List Operation Preset List
4.8.6.15 Guitar Amp Simulator Specifications Parameter List Operation Preset List
4.8.6.16 Rotary Speaker Specifications Parameter List Operation Preset List
4.8.6.17 Phaser Specifications Parameter List Operation Preset List
4.8.6.18 Stereo Phaser Specifications Parameter List Operation Preset List
4.8.6.19 Chorus Specifications Operation Preset List
4.8.6.20 Stereo Chorus Specifications Parameter List Operation Preset List
4.8.6.21 System Chorus Specifications Parameter List Operation Preset List
4.8.6.22 Flanger Specifications Parameter List Operation Preset List
4.8.6.23 Delay Specifications Parameter List Operation Preset List
4.8.6.24 Stereo Delay Specifications Parameter List Operation Preset List
4.8.6.25 Stereo Tap Delay Specifications Parameter List Operation Preset List
4.8.6.26 System Reverb Specifications Parameter List Operation Preset List
4.8.6.27 Gate Reverb Specifications Parameter List Operation Preset List
3
MZ-2000 MIDI Implementation
+ 4.8.6.28 Surround + Specifications + Parameter List + Operation + Preset List + 4.8.6.29 Ring Modulator + Specifications + Specifications + Parameter List + Operation + Preset List + 4.8.6.30 Tremolo + Specifications + Parameter List + Operation + Preset List + 4.8.6.31 Auto Pan + Specifications + Parameter List + Operation + Preset List + 4.8.6.32 Lo-Fi + Specifications + Parameter List + Operation + Preset List + 4.8.6.33 Stereo Lo-Fi + Specifications + Parameter List + Operation + Preset List + 4.8.7 FX Parameter Set Bulk Dump o 4.9 Mixer + 4.9.1 General + 4.9.2 Parameter Operations Using MIDI Messages + 4.9.2.1 Mixer Parameter IDs and Value Ranges + 4.9.2.2 Mix Parameter Set Bulk Dump o 4.10 Drum Setup + 4.10.1 Drum Setup Parameter Control Message Format + 4.10.1.1 Drum Setup ParameterID and Value Range + 4.10.1.2 Setup Example o 4.11 Effect Macro + 4.11.1 Effect Macro Overview + 4.11.2 Effect Parameter Control Message Format + 4.11.3 Parameter Type ID, Size, Index Num, Bit Width, Value Range + 4.11.4 Effect Macro Parameter Set Bulk Dump + 4.11.5 Control Using the Val Control Change Message + Channel + Number

1 MIDI Message Format Overview

1.1 Configuration

The MZ-2000 is made up of a Performance Block and a Sound Source Block as shown below. The Performance Block includes the keyboard, wheels, and other real-time controllers, as well as auto accompaniment, the sequencer, the control panel, etc. The Sound Source Block consists of a Common Sub-block that includes tone generator settings, effector, and mixer, and a Parts Sub-block that includes a 32-tone tone generator.
* Performance Block o Keyboard o Wheels and other real-time controllers o Auto accompaniment o Sequencer * Sound Source Block o Common Sub-block + Tone generator settings + Effector + Mixer o Parts Sub-block + Parts that cannot be received by the tone generator (Parts 1 to 16) + Parts that can be received by the tone generator (Parts 17 to 32)

1.2 messages and Channels

1.2.1 Performance Block

The Performance Block generates messages for keyboard, wheel, pedal and other real-time con­troller operations, and for the sequencer, auto accompaniment, the control panel, etc. messages for each type of operation are sent both to the sound source and to the MIDI OUT terminal. Though the Performance Block has only send functions, it also performs chord recognitions when note data is received.
Send message channel numbers are in accordance with the MZ-2000 send (Tx) channel settings.
Accompaniment part send messages are sent when the MZ-2000 Accomp MIDI Out parameter is turned on.

1.2.2 Sound Source Common Sub-block

The Common Sub-block consists of a tone generator for tones that do not depend on in the sound source, an effector, a mixer, etc. The settings of these items can be changed by system exclusive messages or by channel messages with channel numbers set by the MIDI Global Channel.

1.2.3 Parts Sub-block

Operation and setting changes of the Parts Sub-block of the Sound Source Block can be controlled using system exclusive messages and channel messages. Channel messages used for such control are limited to those with channel numbers set by the MIDI channel assigned to the applicable part.
Also note that Parts 17 through 32 only can receive channel messages.

2 Channel messages

The channel numbers of the channel messages received by each part are in accordance with the MZ-2000 receive (Rx) channel settingfor each part. Channel messages are not received for any part whose receive channel setting is off. When the MZ-2000 MIDI In Chord Judge option is turned on, MZ-2000 auto accompaniment chords can be specified using note messages within the chord judge keyboard range specified by the MZ-2000 by sending the note messages over the channel that is specified as the receive chan­nel for Part 1.
4
MZ-2000 MIDI Implementation

2.1 Note messages

2.1.1 Note Off

2.1.1.1 Receive
Format Byte 1 Byte 2 Byte 3 8nH kkH vvH 9nH kkH 00H
n : Voice Channel Number = 0H to FH (Ch1 to Ch16) kk : Note Number = 00H to 7FH vv : Note Off Velocity = 00H to 7FH
Operation
The Note Off Velocity value is ignored. For drum parts, Note Off is not received by each instrument when Rx.Note Off = ON.
2.1.1.2 Send
Format
Byte 1 Byte 2 Byte 3 8nH kkH vvH
n : Voice Channel Number = 0H to FH (Ch1 to Ch16) kk : Note Number = 18H to 6CH vv : Note Off Velocity = 40H
Operation
Normally, the range of the Note Number is 24H to 60H. Changing the Pattern Sequencer's Octave Shift value (-1 to 1) causes the value of kk to change within the range shown below.
Octave Note Number Range (kk)
-1 18H to 54H 0 24H to 60H
+1 30H to 6CH

2.2 Polyphonic Key Pressure

Format
Byte 1 Byte 2 Byte 3 AnH kkH vvH
n : Voice Channel Number = 0H to FH (Ch1 to Ch16) kk : Note Number = 00H to 7FH vv : Pressure Value = 00H to 7FH
Receive
Polyphonic Key Pressure is not received when Rx.Poly Pressure = OFF.
Send
Polyphonic Key Pressure cannot be sent.

2.3 Control Change

Operation
Normally, the range of the Note Number is 24H to 60H. Changing the Pattern Sequencer's Octave Shift value (-1 to 1) causes the value of kk to change within the range shown below.
Octave Note Number Range (kk)
-1 18H to 54H 0 24H to 60H
+1 30H to 6CH

2.1.2 Note On

2.1.2.1 Receive
Format
Byte 1 Byte 2 Byte 3 9nH kkH vvH
n : Voice Channel Number = 0H to FH (Ch1 to Ch16) kk : Note Number = 00H to 7FH vv : Note On Velocity = 00H to 7FH
Operation
Note On is not received when Rx.Note message is turned off. For drum parts, Note On is when Rx.Note On = OFF for each instrument.
2.1.2.2 Send
Format
Byte 1 Byte 2 Byte 3 9nH kkH vvH
n : Voice Channel Number = 0H to FH (Ch1 to Ch16) kk : Note Number = 18H to 6CH vv : Note On Velocity = 01 to 7FH
When Rx.Control Change = OFF, all Control change messages for that part are not received.

2.3.1 Bank Select

Format
Byte 1 Byte 2 Byte 3 BnH 00H mmH (Bank SelectMSB) BnH 20H llH (Bank SelectLSB)
n : Voice Channel Number = 0H to FH (Ch1 to Ch16) mm : Bank NumberMSB = 00H to 7FH ll : Bank NumberLSB = 00H to 7FH
Receive
The ll value is used for tone map switching, but since 00H is the only value currently stored in the tone map, any setting other than 00H is ignored. Program change messages received with a bank number value other than 00H are ignored.
Bank Select is not received when Rx.Bank Select = Off. The Bank Number LSB is always treated as 00H when Rx.Bank Select LSB = Off.
Send
The Bank Select message is sent whenever the tone selection is changed.

2.3.2 Modulation Wheel

Format
Byte 1 Byte 2 Byte 3 BnH 01H mmH
n : Voice Channel Number = 0H to FH (Ch1 to Ch16) vv : Modulation Depth = 00H to 7FH
5
MZ-2000 MIDI Implementation
Receive
The Modulation Wheel message is not received when Rx.Modulation = OFF. The modulation type can be specified using a system exclusive message.
Send
Modulation Wheel messages are sent when you operate the modulation wheel when Tone Preset is selected for the modulation wheel or the assignable switch when Tone Preset (Mod.) is selected for the assignable switch.

2.3.3 Portamento Time

Format
Byte 1 Byte 2 Byte 3 BnH 05H mmH
n : Voice Channel Number = 0H to FH (Ch1 to Ch16) vv : Modulation Depth = 00H to 7FH
Receive
This message is received when Rx.Control Change = ON and its channel matches the part MIDI channel.
Send
Modulation Wheel messages are sent when you operate the modulation wheel when Portamento Time is selected for the modulation wheel or the assignable switch when Portamento On/Off is selected for the assignable switch.
Receive
The Pan message is not received when Rx.Panpot = OFF. For drum parts, the pan settings are changed relative to the pan setting of each drum part note number.
Send
The Pan message is sent whenever the mixer's pan setting is changed.

2.3.7 Expression Controller

Format
Byte 1 Byte 2 Byte 3 BnH 0BH vvH
n : Voice Channel Number = 0H to FH (Ch1 to Ch16) vv : Expression = 00H to 7FH
Receive
The Expression Controller message is not received when Rx.Expression = OFF.
Send
The Expression Controller message is sent whenever an expression pedal operation is performed.

2.3.8 General Controller 1 to 8

General Controller messages are assigned to the effect parameters in the Common Sub-block.

2.3.4 Data Entry

Format
Byte 1 Byte 2 Byte 3 BnH 06H mmH (Data Entry MSB) BnH 26H llH (Data Entry LSB)
n : Voice Channel Number = 0H to FH (Ch1 to Ch16) mm : MSB of parameter specified by RPN, NRPN ll : LSB of parameter specified by RPN, NRPN

2.3.5 Channel Volume

Format
Byte 1 Byte 2 Byte 3 BnH 07H vvH
n : Voice Channel Number = 0H to FH (Ch1 to Ch16) vv : Volume = 00H to 7FH
Receive
The Channel Volume message is no received when Rx.Volume = OFF.
Send
The Channel Volume message is sent whenever a change is made in mixer volume, accomp vol­ume, disk volume, or U1/U2 balance settings.

2.3.6 Pan

Format
Byte 1 Byte 2 Byte 3 BnH 0AH vvH
n : Voice Channel Number = 0H to FH (Ch1 to Ch16) vv : Pan = 00H (Left) to 40H (Center) to 7FH (Right)
Format
Byte 1 Byte 2 Byte 3 BnH kkH vvH
n : Voice Channel Number = 0H to FH (Ch1 to Ch16) kk : cc Number = 4cH to 53H vv : Effect Value = 00H to 7fH
The following shows the relationship between cc numbers and effect parameters.
cc Parameter ) 4CH DSP1 Parameter 1 4DH DSP1 Parameter 2 4EH DSP2 Parameter 1 4FH DSP2 Parameter 2 50H DSP3 Parameter 1 51H DSP3 Parameter 2 52H DSP4 Parameter 1 53H DSP4 Parameter 2
Receive
This message is received when its channel matches the MIDI Global channel.
For details about the receive operation General Controller messages, see "4.11.5 Control Using the Val Control Change Message."
Send
A General Controller message is sent whenever an effect parameter is changed.

2.3.9 Hold 1 (Damper Pedal)

Format
Byte 1 Byte 2 Byte 3 BnH 40H vvH
6
MZ-2000 MIDI Implementation
Receive
n : Voice Channel Number = 0H to FH (Ch1 to Ch16) vv : Hold 1 = 00H to 7FH
The Hold 1 message is not received when Rx.Hold1 = OFF.
Send
n : Voice Channel Number = 0H to FH (Ch1 to Ch16) vv : Hold 1 = 00H, 7fH (00H:OFF, 7fH:ON)
The Hold 1 message is sent whenever the MZ-2000 sustain pedal is operated while the sustain effect is assigned to the pedal, or when the sustain switch of the MZ-2000 is operated.

2.3.10 Portamento

Format
Byte 1 Byte 2 Byte 3 BnH 41H vvH
Receive
n : Voice Channel Number = 0H to FH (Ch1 to Ch16) vv : Portamento = 00H to 7FH (00H to 3fH:OFF, 40H to 7FH:ON)
The Portamento message is not received when Rx.Portamento = OFF.
Send
n : Voice Channel Number = 0H to FH (Ch1 to Ch16) vv : Portamento = 00H, 7fH (00H:OFF, 7fH:ON)
The Portamento message is sent whenever the assignable button of the MZ-2000 is operated when the portamento effect is assigned to the button.

2.3.11 Sostenuto

Format
Send
n : Voice Channel Number = 0H to FH (Ch1 to Ch16) vv : Soft = 00H, 7fH(00H:OFF, 7fH:ON)
The Soft message is sent whenever the MZ-2000 sustain pedal is operated when the soft effect is assigned to the pedal.

2.3.13 Sound Controller 2 (Resonance)

Format
Byte 1 Byte 2 Byte 3 BnH 47H vvH
n : Voice Channel Number = 0H to FH (Ch1 to Ch16) vv : TVF Resonance = 00H to 7FH Receive
This message is received when Rx.Control Change = ON and its channel matches the part MIDI channel.
Send
The Sound Controller 2 message cannot be sent.

2.3.14 Sound Controller 3 (Release Time)

Format
Byte 1 Byte 2 Byte 3 BnH 48H vvH
n : Voice Channel Number = 0H to FH (Ch1 to Ch16) vv : TVA Release Time = 00H to 7FH
Receive
This message is received when Rx.Control Change = ON and its channel matches the part MIDI channel.
Byte 1 Byte 2 Byte 3 BnH 42H vvH
Receive
n : Voice Channel Number = 0H to FH (Ch1 to Ch16) vv : Sostenuto = 00H to 7FH (00H to 3fH:OFF, 40H to 7FH:ON)
Sostenuto is not received when Rx.Sostenuto = OFF.
Send
n : Voice Channel Number = 0H to FH (Ch1 to Ch16) vv : Sostenuto = 00H,7fH(00H:OFF,7fH:ON)
The Sostenuto message is sent whenever the MZ-2000 sustain pedal is operated when the sostenuto effect is assigned to the pedal.

2.3.12 Soft

Format
Byte 1 Byte 2 Byte 3 BnH 43H vvH
Receive
n : Voice Channel Number = 0H to FH (Ch1 to Ch16) vv : Soft = 00H to 7FH (00H to 3fH:OFF, 40H to 7FH:ON)
Send
The Sound Controller 3 message cannot be sent.

2.3.15 Sound Controller 4 (Attack Time)

Format
Byte 1 Byte 2 Byte 3 BnH 49H vvH
n : Voice Channel Number = 0H to FH (Ch1 to Ch16) vv : TVA Attack Time = 00H to 7FH
Receive
This message is received when Rx.Control Change = ON and its channel matches the part MIDI channel.
Send
The Sound Controller 4 message cannot be sent.
The Soft message is not received when Rx.Soft = OFF.
7
MZ-2000 MIDI Implementation
2.3.16 Sound Controller 5 (Brightness)
Format
Byte 1 Byte 2 Byte 3 BnH 4AH vvH
n : Voice Channel Number = 0H to FH (Ch1 to Ch16) vv : TVF Cutoff Frequency = 00H to 7FH
Receive
This message is received when Rx.Control Change = ON and its channel matches the part MIDI channel.
Send
The Sound Controller 5 message cannot be sent.
2.3.17 Portamento Control
Format
Byte 1 Byte 2 Byte 3 BnH 54H kkH
n : Voice Channel Number = 0H to FH (Ch1 to Ch16) kk : Source Note Number = 00H to 7FH
Send
The Effect 1 message is sent whenever a mixer chorus depth, accomp chorus depth, or melody chorus depth operation is performed.
2.3.20 NRPN
Format
Byte 1 Byte 2 Byte 3 BnH 63H pmH (MSB) BnH 62H plH (LSB)
n : Voice Channel Number = 0H to FH (Ch1 to Ch16) pm : NRPN MSB pl : NRPN LSB
Receive
NPRN are not received when Rx.Nrpn = OFF. Though undefined NRPN can be received and stored, subsequent data entry values following undefined NRPN messages are ignored. Applicable parameters are set following receipt of the NRPN MSB and LSB, the data entry MSB is received and the value is set in accordance with the data entry MSB. The data entry LSB is ignored.
Send
An NRPN and data entry are sent whenever the parameter assigned to the NRPN is changed.
Receive
This message is received when Rx.Control Change = ON and its channel matches the part MIDI channel.
Send
The Portamento Control message cannot be sent.
2.3.18 Effect 1 (Reverb Send Level)
Format
Byte 1 Byte 2 Byte 3 BnH 5BH vvH
n : Voice Channel Number = 0H to FH (Ch1 to Ch16) vv : Reverb Send Level = 00H to 7FH
Receive
This message is received when Rx.Control Change = ON and its channel matches the part MIDI channel.
Send
The Effect 1 message is sent whenever a mixer reverb depth, accomp reverb depth, or melody reverb depth operation is performed.
2.3.19 Effect 3 (Chorus Send Level)
Format
Byte 1 Byte 2 Byte 3 BnH 5DH vvH
n : Voice Channel Number = 0H to FH (Ch1 to Ch16) vv : Chorus Send Level = 00H to 7FH
Receive
This message is received when Rx.Control Change = ON and its channel matches the part MIDI channel.
2.3.20.1 Vibrato Rate
NRPN MSB = 01H NRPN LSB = 08H Data Entry MSB = mmH
mm : Vibrato Rate = 00H to 40H to 7FH (-64 to 0 to +63)
Receive
When the MZ-2000 receives the Vibrato Rate message, the reset vibrato rate value for the tone is changed accordingly. There is no change when the value of the data entry MSB is 40H (0).
Send
The Vibrato Rate message is sent whenever a vibrato rate operation is performed.
2.3.20.2 Vibrato Depth
NRPN MSB = 01H NRPN LSB = 09H Data Entry MSB = mmH
mm : Vibrato Depth = 00H to 40H to 7FH (-64 to 0 to +63)
Receive
When the MZ-2000 receives the Vibrato Depth message, the reset vibrato depth value for the tone is changed accordingly. There is no change when the value of the data entry MSB is 40H (0).
Send
The Vibrato Depth message is sent whenever a vibrato depth operation is performed.
2.3.20.3 Vibrato Delay
NRPN MSB = 01H NRPN LSB = 0AH Data Entry MSB = mmH
mm : Vibrato Delay = 00H to 40H to 7FH (-64 to 0 to +63)
8
MZ-2000 MIDI Implementation
Receive
When the MZ-2000 receives the Vibrato Delay message, the reset vibrato delay value for the tone is changed accordingly. There is no change when the value of the data entry MSB is 40H (0).
Send
The Vibrato Delay message cannot be sent.
2.3.20.4 TVF Cutoff Frequency
NRPN MSB = 01H NRPN LSB = 20H Data Entry MSB = mmH
mm : Cutoff Frequency = 00H to 40H to 7FH (-64 to 0 to +63)
Receive
When the MZ-2000 receives the TVF Cutoff Frequency message, the reset TVF cutoff frequency value for the tone is changed accordingly. There is no change when the value of the data entry MSB is 40H (0).
Send
The TVF Cutoff Frequency message is sent whenever a cutoff frequency operation is performed using the initial screen in the Synthesizer Mode.
2.3.20.5 TVF Resonance
NRPN MSB = 01H NRPN LSB = 21H Data Entry MSB = mmH
mm : TVF Resonance = 00H to 40H to 7FH (-64 to 0 to +63)
Receive
When the MZ-2000 receives the TVF Resonance message, the reset TVF resonance value for the tone is changed accordingly. There is no change when the value of the data entry MSB is 40H (0).
Send
The TVF Cutoff Frequency message is sent whenever a resonance operation is performed using the initial screen in the Synthesizer Mode.
2.3.20.6 TVF/TVA Envelope Attack Time
NRPN MSB = 01H NRPN LSB = 63H Data Entry MSB = mmH
Receive
When the MZ-2000 receives the TVF/TVA Envelope Decay Time message, the reset TVF/TVA envelope decay time value for the tone is changed accordingly. There is no change when the value of the data entry MSB is 40H (0).
Send
The TVF/TVA Envelope Decay Time message cannot be sent.
2.3.20.8 TVF/TVA Envelope Release Time
NRPN MSB = 01H NRPN LSB = 66H Data Entry MSB = mmH
mm : TVF/TVA Envelope Release Time = 00H to 40H to 7FH (-64 to 0 to +63)
Receive
When the MZ-2000 receives the TVF/TVA Envelope Release T ime message, the reset TVF/TVA envelope release time value for the tone is changed accordingly. There is no change when the value of the data entry MSB is 40H (0).
Send
The TVF/TVA Envelope Release Time message is sent whenever whenever a release time opera­tion is performed using the initial screen in the Synthesizer Mode.
2.3.20.9 Drawbar Control
NRPN MSB = 40H NRPN LSB = 00H to 08H (16' to 1') Data Entry MSB = mmH
mm : Bar Position = 00H to 7FH (0 to 8)
The following shows the relationship between the NRPN and the drawbar numbers.
MSB LSB Drawbar Number 40H 00H 16' 40H 01H 5 1/3' 40H 02H 8' 40H 03H 4' 40H 04H 2 1/3' 40H 05H 2' 40H 06H 1 3/5' 40H 07H 1 1/3' 40H 08H 1'
The following shows the drawbar position for each mm value.
mm : TVF/TVA Envelope Attack Time = 00H to 40H to 7FH (-64 to 0 to +63)
Receive
When the MZ-2000 receives the TVF/TVA Envelope Attack Time message, the reset TVF/TVA envelope attack time value for the tone is changed accordingly. There is no change when the value of the data entry MSB is 40H (0).
Send
The TVF/TVA Envelope Attack Time message is sent whenever an attack time operation is per­formed using the initial screen in the Synthesizer Mode.
2.3.20.7 TVF/TVA Envelope Decay Time
NRPN MSB = 01H NRPN LSB = 64H Data Entry MSB = mmH
mm : TVF/TVA Envelope Decay Time = 00H to 40H to 7FH (-64 to 0 to +63)
mm : Bar Position 00H to 0EH 0 0FH to 1CH 1 1DH to 2AH 2 2BH to 38H 3 39H to 47H 4 48H to 55H 5 56H to 63H 6 64H to 71H 7 72H to 7FH 8
Receive
While a Preset Drawbar Organ tone (Bank Number 60H) or User Drawbar Organ (Bank Number 61H) is selected on the MZ-2000, you can use Drawbar Control messages for external adjustment of harmonic component levels.
9
MZ-2000 MIDI Implementation
Send
The Drawbar Control message is sent whenever a drawbar operation is performed.
2.3.21 RPN
Format
Byte 1 Byte 2 Byte 3 BnH 65H qmH (MSB) BnH 64H qlH (LSB)
n : Voice Channel Number = 0H to FH (Ch1 to Ch16) qm : RPN MSB ql : RPNÇÃLSB
Receive
An RPN cannot be received when Rx.Rpn = OFF. Though undefined RPN can be received and stored, subsequent data entry values following unde­fined RPN messages are ignored. Applicable parameters are set following receipt of the RPN MSB and LSB, the data entry MSB is received and the value is set in accordance with the data entry MSB. The data entry LSB is ig­nored.
Send
An RPN and data entry are sent whenever the parameter assigned to the RPN is changed.
2.3.21.1 Pitch Bend Sensitivity
RPN MSB = 00H RPN LSB = 00H Data Entry MSB = mmH
mm : Pitch Bend Sensitivity = 00H to 18H (0 to 24îºâπ)
Receive
The data entry LSB is always ignored.
Send
The Pitch Bend Sensitivity message is sent when accompaniment starts.
Receive
The data entry LSB is always ignored.
Send
The Master Coarse Tuning message sent whenever a mixer coarse tuning operation is performed.
2.3.21.4 RPN Null
RPN MSB = 7FH RPN LSB = 7FH
Receive
Receipt of an RPN null causes all received RPN and NRPN data entry MSBs and LSBs to be ignored until another non-null RPN message is received.
Send
A Null RPN message is sent whenever a drawbar operation performed or when an operation is performed using the initial screen in the Synthesizer Mode.
2.4 Program Change
Format
Byte 1 Byte 2 CnH ppH
pp : Program Number = 00H to 7FH
Receive
The Program Change message is not received when Rx.Program Change = OFF. The Bank Select MSB is always 00H for a drum part program change, regardless of the MSB value received in the Program Change message.
Send
The Program Change message is sent whenever a tone selection operation is performed.
2.5 Channel Pressure
2.3.21.2 Master Fine Tuning
RPN MSB = 00H RPN LSB = 01H Data Entry MSB = mmH Data Entry LSB = llH
mm : ll Master Fine Tuning = 00 00H to 40H, 00H to 7FH 7FH (-100 to 0 to +99.99 cents)
Receive
The Master Fine Tuning message is always received when the MIDI Global Channel and RPN match.
Send
The Master Fine Tuning message sent whenever a mixer fine tuning operation is performed.
2.3.21.3 Master Coarse Tuning
RPN MSB = 00H RPN LSB = 02H Data Entry MSB = mmH
mm : Master Coarse Tuning = 28H to 40H to 58H (-24 to 0 to +24 semitones)
Format
Byte 1 Byte 2 DnH vvH
vv : Pressure Value = 00H to 7FH
Receive
The Channel Pressure message is not received when Rx.Pressure Change = OFF. The Bank Select MSB is always 00H for drum part channel pressure, regardless of the MSB value received in the Channel Pressure Change message.
Send
The Channel Pressure Change message is sent whenever an tone preset operation is performed.
2.6 Pitch Bend Change
Format
Byte 1 Byte 2 Byte 3 EnH llH mmH
n : Voice Channel Number = 0H to FH (Ch1 to Ch16) ll : Pitch Bend Change LSB = 00H to 7FH mm : Pitch Bend Change MSB = 00H to 7FH
10
MZ-2000 MIDI Implementation
Receive
The value llH mmH is 00H 00H at the lowest pitch, 00H 40H at mid-pitch, and 7FH 7FH at the highest pitch.
The Pitch Bend Change message is not received when Rx.Pitch Change = OFF. The LSB and MSB must be sent together to form a 14-bit value in order to be a valid Pitch Bend Change setting.
Send
The Pitch Bend Wheel message is send whenever a ptone preset operation is performed.
2.7 Channel Mode messages
2.7.1 All Sound Off
Format
Byte 1 Byte 2 Byte 3 BnH 78H 00H
n : Voice Channel Number = 0H to FH (Ch1 to Ch16)
Receive
Receipt of the All Sound Off message immediately mutes all notes being received over the MIDI channels.
Receive
Receipt of the All Note Off message mutes all notes being received over the MIDI channels. If Hold 1 or Sostenuto is turned all when the All Note Off message is received, notes are sustained.
Send
The All Note Off message cannot be sent.
2.7.4 Omni Mode Off
Format
Byte 1 Byte 2 Byte 3 BnH 7CH 00H
n : Voice Channel Number = 0H to FH (Ch1 to Ch16)
Receive
Receipt of the Omni Mode Off message does not enter the MZ-2000 Omni Mode. Instead, it is treated as receipt of an All Note Off message.
Send
The Omni Mode Off message cannot be sent.
2.7.5 Omni Mode On
Send
The All Sound Off message is sent whenever the Fade Out function is used.
2.7.2 Reset All Controller
Format
Byte 1 Byte 2 Byte 3 BnH 79H 00H
n : Voice Channel Number = 0H to FH (Ch1 to Ch16)
Receive
Receipt of the All Controller message causes the following controllers to be reset.
Controller Name Reset Value Polyphonic Key Pressure vvH = 00H Modulation Wheel vvH = 00H Expression Controller vvH = 7FH Hold 1 vvH = 00H Portamento vvH = 00H Sostenuto vvH = 00H Soft vvH = 00H NRPN msb = 7FH, lsb = 7FH RPN msb = 7FH, lsb = 7FH Channel Pressure vvH = 00H Pitch Bend Change llH mmH = 00H 40H
Send
The Reset All Controller message is sent whenever you change modes on the MZ-2000.
2.7.3 All Note Off
Format
Byte 1 Byte 2 Byte 3 BnH 7DH 00H
n : Voice Channel Number = 0H to FH (Ch1 to Ch16)
Receive
Receipt of the Omni Mode On message does not enter the MZ-2000 Omni Mode. Instead, it is treated as receipt of an All Note Off message.
Send
The Omni Mode On message cannot be sent.
2.7.6 Mono Mode On
Format
Byte 1 Byte 2 Byte 3 BNH 7EH vvH
n : Voice Channel Number = 0H to FH (Ch1 to Ch16) vv : Number of Mono Mode Channels = 00H to 10H
Receive
Receipt of the Mono Mode On message does not enter the MZ-2000 Mono Mode. Instead, it functions as the All Sound Off message and All Note Off message.
Send
The Mono Mode On message cannot be sent.
Format
Byte 1 Byte 2 Byte 3 BnH 7BH 00H
n : Voice Channel Number = 0H to FH (Ch1 to Ch16)
11
MZ-2000 MIDI Implementation
2.7.7 Poly Mode On
Format
Byte 1 Byte 2 Byte 3 BNH 7FH vvH
n : Voice Channel Number = 0H to FH (Ch1 to Ch16) vv : Number of Mono Mode Channels = 00H to 10H
Receive
Receipt of the Poly Mode On message changes the Channel n setting to Mode 3. The Poly Mode On message functions as the All Sound Off message and All Note Off message.
Send
The Poly Mode On message cannot be sent.
3 System Messages
3.1 System Real-Time Messages
3.1.1 Active Sensing
Format
Byte 1 FEH
Receive
After the Active Sensing message is received, the MZ-2000 stands by for 400 msec waiting for another message to be sent. If nothing is received within 400 msec, the MZ-2000 performs the All Sound Off, All Note Off, and Reset All Controller procedures.
Send
The Active Sensing message cannot be sent.
3.1.2 Timing Clock
Format
Byte 1 F8H
Receive
The Timing Clock message cannot be received.
Send
The Timing Clock message is sent whenever an accompaniment or a song playback is performed while the MZ-2000's Realtime Message Out feature is turned on.
3.1.3 Start
Format
Send
The Timing Clock message is sent whenever an accompaniment or a song playback is performed while the MZ-2000's Realtime Message Out feature is turned on.
3.1.4 Stop
Format
Byte 1 FCH
Receive
The Stop message cannot be received.
Send
The Timing Clock message is sent whenever an accompaniment or a song playback is performed while the MZ-2000's Realtime Message Out feature is turned on.
3.2 System Common Messages
The MS-2000 does not support sending or receiving of system common messages.
3.3 System Exclusive Messages
3.3.1 Universal System Exclusive Messages
3.3.1.1 GM System On
Format
F0H 7EH 7FH 09H 01H F7H
Receive
The GM System On message is not received when Rx.Gm On = OFF.
Send
The GM System On message cannot be sent.
3.3.1.2 Master Volume
Format
F0H 7FH 7FH 04H 01H llH mmH F7H
ll : Master VolumeLSB mm : Master VolumeMSB
Receive
The Master Volume message is always received.
Send
The Master Volume message is whenever a Fade In/Out operation is performed.
Byte 1 FAH
Receive
The Start message cannot be received.
12
MZ-2000 MIDI Implementation
3.3.2 MZ-2000 Sound Source System Exclusive Overview
System exclusive messages received by the MZ-2000 sound source start with the following data.
Format
F0H 44H 7EH 02H 00H .... 7FH
Though the purpose of system exclusive messages is mainly to assign parameters, the MZ-2000 also sends system exclusive messages whenever an operation that changes the setting of a param­eter is performed.
A system exclusive message also includes a Device ID value, which corresponds to the channel number of a channel message. A Device ID is used when a system exclusive message is sent.
You can change the Device ID value on the MZ-2000.
See "4 MZ-2000 Sound Source System Exclusive Messages" for full details on MZ-2000 sound source system exclusive messages.
4 MZ-2000 Sound Source System Exclusive Messages
4.1 MZ-2000 Sound Source Common System Exclusive Format
4.1.1 General
The MZ-2000 sound source consists of audio signal processor sections for the tone generator, effects, mixer, etc.
The MZ-2000 sound source sends and receives sound source-related system information, param­eters, and parameter sets, using the format described later in this chapter.
The format consists of a header block and data block. The same header block is always used within the MZ-2000, but the format of the data block is determined by the data being communi­cated.
The data content, in turn, depends on the MS-2000 function. The following sections of this chap­ter provide detailed information about the data content for each function.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ­Header Block (Hexadecimal) 00 F0 [System Exclusive Status] 01 44 [Manufacturer's ID] CASIO ID = 44H 02 7E [Model ID MSB] MZ-2000 Sound Source Model-ID MSB 03 02 [Model ID LSB] MZ-2000 Sound Source Model-ID LSB 04 00 [Message Version] 05 ** [SysEx Dev ID] SysEx Device ID 00H to 1FH,7FH (Default: 16)
Even with system exclusive messages, channel numbers can be specified within the range of 00H to 1FH for use as a Device ID number. Messages are ignored if their ID Device ID number does not match that of the MZ-
2000. A Universal Device ID of 7FH is provided, which means that the MZ-2000 always recognizes any SysExc message with a Device ID of 7FH.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ­Data Block (Format depends on content.) 06 ** [Message Type] (Category / Action) 07 ** [Data] (Not required when a Handshak Bulk Dump Reject value is present.) 08 ** [Data] nn-1 ** [Checksum] (Option) Required for Bulk Dump only.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ­ nn F7 [EOX] (nn < 256) Indicates there are 256 data bytes or less from F0H to F7H.
4.1.2 MZ-2000 Sound Source Common System Exclusive Data Blocks
The MZ-2000 sound source system exclusive data block always starts with the message type, which indicates the type of communication is being performed. Messages can be broadly classi­fied into the types listed below.
* Individual Parameter Send/Receive * Individual Parameter Send Request Send/Receive * One-Way Parameter Set Bulk Send/Receive * One-Way Parameter Set Bulk Send Request Send/Receive * Handshake Parameter Set Bulk Send/Receive * Handshake Parameter Set Bulk Send Request/Receive Rejection/ Error Report Send/Receive
With one-way communication, the sender sends the data and immediately ends the session with­out any response from the receiver. This type of communication is best for one-way data transfer from a sequencer, etc.
With handshake protocol, the sender sends the data but does not advance to the next session until it receives a response from the receiver. This type of communication helps to reduce time wasted waiting for the receiver to become ready.
About Message Types 0cccaaaa aaaa Action(Binary)
- - - -
0000...IPC Individual Parameter Change (Individual Parameter Send)
0001...IPR Individual Parameter Request (Individual Parameter Send Request)
0010...BDS One Way Bulk Dump Send (One Way Data Send)
0011...BDR One Way Bulk Dump Request (One Way Data Send Request)
0100...HDS Handshake Bulk Dump Send (Handshake Data Send)
0101...HDR Handshake Bulk Dump Request (Handshake Data Send Request)
0110...HDA Handshake Bulk Dump Acknowledge (Handshake Data Send Request)
0111...HDJ Handshake Bulk Dump Reject (Handshake Data Rejection)
1000...HDE Handshake Bulk Dump Error (Handshake Data Error)
1111...NOP No operation (No Operation)
ccc Category
- - -
100...MZ-2000 Instrument Section (Sound Source)
4.1.3 Parameter Configuration
A parameter is a variable for making sound source operational settings, while a parameter set is a group of multiple parameters. When using the MZ-2000 sound source system exclusive messages to access parameters and parameter sets, you must specify the location of data you are trying to access. The following shows the location of each type of data.
* Category (4 bits) ....Parameter set category
* Type ID (7 bits - 7 bits).....ID number inside parameter set category
* Mdev ID (7 bits - 7 bits) ..... ID number of memory where parameter set is stored
* Section Number (14 bits) ..... Section number indicating where a parameter set is stored in
memory
* PS (Parameter Set) Number (14 bits)....Number indicating where inside a section a parameter
set is stored
* Parameter ID (For parameter specification only)(16 bits) ....ID number of a parameter inside a
parameter set
* Parameter Block Number (For parameter specification only) (7 bits* 1 to 16)
....Block number to which a parameter is attached inside a parameter set
In a structure where parameters with the same parameter ID are assigned to multiple blocks within the same parameter set, the block numbers must be specified specified using at least one as as many as 16 array data items.
The parameter blocks of the sound source parts and key numbers are a typical example of this. When there are parameters with the same ID for the key numbers in each part, a single param­eter can be specified to substitute the part number and key number for at least one of the Block Number arrays.
Exactly how many of these values there are is covered within the explanations for each parameter.
There are two parameter formats, depending on the parameter ID: single data and array data. Array data is sent by specifying the starting element and the number of elements to be sent.
13
MZ-2000 MIDI Implementation
4.1.4 Individual Parameter Operations
This section describes parameter operation formats.
IPR Communication Flow
A session consists of an IPC being sent in reply to an IPR request, or an IPC being sent and the session being terminated with without a request. When the MZ-2000 receives an IPR, it returns the corresponding parameter IPR. When the MZ-2000 receives an IPC, it changes the value of the corresponding parameter.
Data Receiver Data Sender
IPR -> Send Request (Optional)
<- IPC Data Transfer
For information about how parameters are actually assigned, see sections 4.2 thorugh 4.11.
IPC/IPR
tt 0100aaaa aaaa = IPC/IPR d0[0] 00100000 Parameter Modify Message ID = 20H d0[1] 0000cccc cccc = Cat (Parameter Set Category) d0[2] 0ttttttt 0TTTTTTT0ttttttt = Type ID d0[3] 0TTTTTTT d0[4] 0mmmmmmm 0MMMMMMM0mmmmmmm = Mdev ID d0[5] 0MMMMMMM d0[6] 0sssssss 00SSSSSSSsssssss = Section Number d0[7] 0SSSSSSS d0[8] 0nnnnnnn 00NNNNNNNnnnnnnn = PS Number d0[9] 0NNNNNNN d0[10] 0ppppppp qqPPPPPPPppppppp = Parameter ID d0[11] 0PPPPPPP d0[12] 0rbbbbqq bbbb = number of parameter block - 1
One less than the number nested parameter block levels in the parameter configuration bbbb==0 is interpreted as one-level parameter block nesting. This means that at least one parameter must be associated with a param­eter block.
One data size (number of bits) minus 1
d3[0] 000zzzzz
zzzzz = number of bits - 1
When zzzz + 1 is: The number of data bytes is:
1to 7 1
8to14 2 15 to 21 3 22 to 28 4 29 to 32 5
Following is actual data transfer format, which is added only in the case of IPC
Single Data When the data size is 29 bits to 32 bits
d4[0] 0xxxxxxx yyyyXXXXXXX....xxxxxxx = Data
: d4[3] 0XXXXXXX d4[4] 0000yyyy
When the data size is 22 bits to 28 bits
d4[0] 0xxxxxxx yyyyyyyXXXXXXX....xxxxxxx = Data
: d4[2] 0XXXXXXX d4[3] 0yyyyyyy
When the data size is 15 bits to 21 bits d4[0] 0xxxxxxx yyyyyyyXXXXXXXxxxxxxx = Data d4[1] 0XXXXXXX d4[2] 0yyyyyyy
When the data size is 8 bits to 14 bits d4[0] 0xxxxxxx XXXXXXXxxxxxxx = Data d4[1] 0XXXXXXX
When the data size is 7 bits or less d4[0] 0xxxxxxx xxxxxxx = Data
r = array flag
0...single data
1...array data
Flag indicating whether the data immediately following it is single data or array data
✩ Parameter block number specification (number of bytes required for parameter blocks) d1[0] 0iiiiiii 0iiiiiii = block-0 number of parameter
:
d1[bbbb] 0IIIIIII 0IIIIIII = block-bbbb number of parameter
Data indicating the block number of the parameter when parameters are nested in a parameter set
✩ Section indicating the number of data in a data array and the number of data array numbers (This data string is not necessary in the case of non-array data.) d2[0] 0ooooooo d2[1] 0ppppppp oooooooppppppp = top index number of array to send (Number of array where transfer starts)
d2[2] 0qqqqqqq qqqqqqq = number of array members to send
(Number of send members in current packet)
In the case of an array that does not fit inside one packet, multiple packets are sent for the length specified by the top index number.
Array Data When an entire array is transferred, the format is the same as that for single data.
d4[0][0] 0xxxxxxx yyyyyyy....xxxxxxx = Data
: d4[0][X] 0yyyyyyy
d4[1][0] 0xxxxxxx yyyyyyy....xxxxxxx = Data
: d4[1][X] 0yyyyyyy : :
d4[N][0] 0xxxxxxx yyyyyyy....xxxxxxx = Data
: d4[N][X] 0yyyyyyy
Notes: N = oooooooppppppp - 1
X = depends on data size - 1
When zzzz + 1 is: The number of data bytes is:
1to 7 0
8to14 1 14 to 21 2 22 to 28 3 29 to 32 4
14
MZ-2000 MIDI Implementation
4.1.5 Parameter Set Bulk Dump
This section describes the bulk format for parameter set transfers.
How parameter sets are actually allocated depends on the MZ-2000 sound source specifications. See sections 4.2 thorugh 4.11 for more information.
Unlike the data format for individual parameter changes, a memory image is sent in order to increase the speed of the parameter set bulk dump. Pre- and post-processing required for each parameter is performed after bulk dump of all the data is complete.
You can transfer multiple parameter sets during a session. When a single parameter set is very large, it can be divided and transferred as multiple packets. In such a case, and address offset is included as part of the data.
Transferring multiple small-size parameter sets using a single packet is not allowed. Each param­eter set must always be transferred as a separate packet.
One-Way Communication Flow
A session starts with a BDR request by the data receiver or a BDS data send by the data sender. The session ends after the data sender transfers the required amount of data for the number of parameter sets.
When the MZ-2000 receives a BDR, it uses a BDS to return the corresponding parameter set. When the MZ-2000 receives a BDS, it modifies the setting of the applicable parameter set.
Data is divided into packets of 256 bytes or less and transferred at fixed intervals (20 msec).
Data Receiver Data Sender
BDR -> Send Request (Optional)
<- BDS Data T ransfer
Interval: 20 msec minimum
<- BDS Data T ransfer
Interval: 20 msec minimum
<- BDS Data Transfer Interval: 20 msec minimum : :
Hand Shake Protocol
Resend is performed after an error due to checksum error or data format error.
Data Receiver Data Sender
HDR -> Send Request (Optional)
<- HDS Data Send
HDA -> Acknowledge
<- HDS Data Send
HDE -> Acknowledge
<- HDS Data Resend : :
Send is terminated if there is no acknowledgement (ACK).
Data Receiver Data Sender
HDR -> Send Request (Optional)
<- HDS Data Send
HDA -> Acknowledge
<- HDS Data Send (Send Terminated)
HDJ is sent whenever the session is terminated for any reason. HDJ can be sent from either the sender or receiver. Receipt of HDJ immediately terminates a bulk dump.
Data Receiver Data Sender
HDR -> Send Request (Optional)
<- HDS Data Send
HDA -> Acknowledge
<- HDS Data Send :
HDJ -> Data Receive Rejection
(Send Terminated)
Data Receiver Data Sender
HDR -> Send Request (Optional) HDA -> Acknowledge
<- HDS Data Send
HDA -> Acknowledge
<- HDS Data Send :
<- HDJ Data Send Rejection
A session starts with the data receiving sending an HDR request or an HDS data send from the data sender.
The data sender does not send the next packet until it receives an acknowledgement (ACK) from the data receiver. Be sure to reserve at least 100msec as the maximum wait time. If no response is received within the prescribed time, a time out error occurs and communication is terminated.
If the data receiver returns an HDE (error) due to a checksum error, illegal data format, or any other reason, the data sender resends the data. Resend the data at least one time.
The session ends after the data sender transfers the correct amount of data for the number of parameter sets, and is terminated when an ACK is returned.
Data Receiver Data Sender
HDR -> Send Request(Optional)
<- HDS Data Send
HDA -> Acknowledge
<- HDS Data Send
HDA -> Acknowledge : :
Parameter Set HDJ/HDA/HDE
tt 0100aaaa aaaa = HDJ/HDA/HDE
No data in the case of Rejection, Acknowledge, or Error
Parameter Set BDS/HDS
tt 0100aaaa aaaa = BDS/HDS
d0[0] 0ooocccc cccc = Parameter Set Category
ooo = option (Definition for each category)
d0[1] 0ttttttt 0TTTTTTT0ttttttt = Type ID d0[2] 0TTTTTTT d0[3] 0mmmmmmm 0MMMMMMM0mmmmmmm = Mdev ID d0[4] 0MMMMMMM d0[5] 0sssssss 00SSSSSSSsssssss = Section Number d0[6] 0SSSSSSS d0[7] 0nnnnnnn 00NNNNNNNnnnnnnn = PS Number d0[8] 0NNNNNNN
15
Loading...
+ 35 hidden pages