36
MIDI Implementation
9
System Realtime Message
7
Active Sensing
Status
FEH
* When Active Sensing is received, the unit will begin monitoring the intervals of all further mes-
sages. While monitoring, if the interval between messages exceeds 300 ms, the same processing
will be carried out as when All Notes Off are received, and message interval monitoring will be
halted.
7
System Exclusive Message
Status
F0H
: System Exclusive
F7H
: EOX (End of Exclusive)
* Exclusive message can change either each parameter individually or all parameters, of a patch or
tone.
* Refer to Section 3 to see details.
3. Exclusive Communication
9
3.1 Message Format
Roland’s exclusive format (type IV) messages all have the following structure.
Byte
Explanation
F0H
Exclusive status
41H
Roland ID
DEV
Device-ID
MDL
Model-ID
CMD
Command-ID
[BODY]
Data
F7H
EOX (End Of Exclusive)
7
MIDI status (F0H), (F7H)
Exclusive messages are enclosed between two status bytes; a “maker ID” is required after the F0H
status byte. <This is prescribed by MIDI Specification version 1.0.>
7
Maker ID (41H)
This is Roland’s ID. The “maker ID” specifies the manufacturer whose exclusive message this is.
7
Device ID “DEV”
This distinguishes between multiple devices. Normally, this will be a value that is one less than the
“basic channel” (00H-0FH), but in the case of a device that has multiple basic channels, it may also
be specified as (00H-1FH).
7
Model ID “MDL”
This has a fixed value for each model. However, if the same data is used by differing models, the
same value is used. For expansion, (00H) is used; the number of (00H) is also used to differentiate
various things.
For example,
(01H),
(02H),
(03H),
(00H, 01H),
(00H, 02H),
(00H, 00H, 01H)
each indicate different models.
7
Command ID “CMD”
This indicates the role of the message.
For expansion, (OOH) is used; the number of (OOH) is also used to differentiate various things.
For example,
(01H),
(02H),
(03H),
(00H, 01H),
(00H, 02H),
(00H, 00H, 01H)
each indicate different roles.
7
Data body [BODY]
This is the actual body of data that is transmitted or received. The size and content differ depending
on the “model ID” and “command ID.”
9
3.2 Data Transfer Using Address Mapping
Address mapping is the method in which data is transferred according to the format described
in section 3.1. With this method, waveform data, sound data, switch information, and parameters
are assigned to the address space specified for each model, so that various types of data can be
transferred by specifying its address.
This means that the data transfer method does not differ depending on the model or the type of
data. There are two methods of transferring the data: one-way and handshake.
Depending on the model and on the type of data, one or another of the two methods is used, or in
some cases only one method is possible.
7
One-way method (see 3.3)
This method is suitable for transferring relatively small amounts of data; it transfers data by
unilaterally transmitting an exclusive message.
Connection diagram
Device A
MIDI OUT
MIDI IN
MIDI IN
MIDI OUT
Device B
1
2
If “data request” (see 3) is used, connection 2 is required.
7
Handshake method (see 3.4)
This method transfers data using bi-directional verification (handshaking) between the transmitting
and receiving devices. When transferring large amounts of data, this method provides high
reliability and faster transfer.
Connection diagram
Device A
MIDI OUT
MIDI IN
MIDI IN
MIDI OUT
Device B
1
2
Both connections 1 and 2 are required.
Regarding the above two methods
* The “command ID” is fixed according to the transfer method.
* Data transfer cannot occur unless both device [A] and device [B] use the same method, are both
in a state that allows them to transfer data, and are both set to matching “device ID” and “model
ID.”
9
3.3 Transferring Data Using the One-Way
Method
When transferring relatively small amount of data, this method transmits the data unilaterally
without checking each message. However, when consecutively sending large amount of data,
an appropriate interval of time (at least 20 msec) is inserted between transmissions. This method
requires that the receiving device be able to correctly receive the data within that time.
Types of message
Byte
Explanation
Request data 1
RQ1
(11H)
Data set
DT1
(12H)