161
MIDI Implementation
MIDI Implementation
❍Controller
Status Data byte Status
F0H 7FH, 7FH, 09H, 03H, 0nH, ccH, ppH, rrH F7H
Byte Explanation
F0H Exclusive status
7FH ID number (universal realtime message)
7FH Device ID (Broadcast)
09H Sub ID#1 (Controller Destination Setting)
03H Sub ID#2 (Control Change)
0nH MIDI Channel (00 - 0F)
ccH Controller number (01 - 1F, 40 - 5F)
ppH Controlled parameter
rrH Controlled range
pp = 0 Pitch Control
rr = 28H - 58H (-24 - +24 [semitones])
pp = 1 Filter Cutoff Control
rr = 00H - 7FH (-9600 - +9450 [cents])
pp = 2 Amplitude Control
rr = 00H - 7FH (0 - 200%)
pp = 3 LFO Pitch Depth
rr = 00H - 7FH (0 - 600 [cents])
pp = 4 LFO Filter Depth
rr = 00H - 7FH (0 - 2400 [cents])
pp = 5 LFO Amplitude Depth
rr = 00H - 7FH (0 - 100%)
F7H EOX (End Of Exclusive)
❍Scale/Octave Tuning Adjust
Status Data byte Status
F0H 7EH, 7FH, 08H, 08H, ffH, ggH, hhH, ssH... F7
Byte Explanation
F0H Exclusive status
7EH ID number (Universal Non-realtime Message)
7FH Device ID (Broadcast)
08H Sub ID#1 (MIDI Tuning Standard)
08H Sub ID#2 (scale/octave tuning 1-byte form)
ffH Channel/Option byte 1
bits 0 to 1 = channel 15 to 16
bit 2 to 6 = Undefined
ggH Channel byte 2
bits 0 to 6 = channel 8 to 14
hhH Channel byte 3
bits 0 to 6 = channel 1 to 7
ssH 12 byte tuning offset of 12 semitones from C to B
00H = -64 [cents]
40H = 0 [cents] (equal temperament)
7FH = +63 [cents]
F7H EOX (End Of Exclusive)
❍Key-based Instrument Controllers
Status Data byte Status
F0H 7FH, 7FH, 0AH, 01H, 0nH, kkH, nnH, vvH F7H
Byte Explanation
F0H Exclusive status
7FH ID number (universal realtime message)
7FH Device ID (Broadcast)
0AH Sub ID#1 (Key-Based Instrument Control)
01H Sub ID#2 (Controller)
0nH MIDI Channel (00 - 0F)
kkH Key Number
nnH Control Number
vvH Value
nn = 07H Level
vv = 00H - 7FH (0 - 200%) (Relative)
* Level, a Drum Set parameter, is modified.
nn = 0AH Pan
vv = 00H - 7FH (Left - Right) (Absolute)
* Pan, a Drum Set parameter, is modified.
nn = 5BH Reverb Send
vv = 00H - 7FH (0 - 127) (Absolute)
* Reverb Send, a Drum Set parameter, is modified.
nn = 5D Chorus Send
vv = 00H - 7FH (0 - 127) (Absolute)
::
F7 EOX (End Of Exclusive)
●Data transmission
This instrument can use exclusive messages to exchange many varieties of internal settings
with other devices.
The model ID of the exclusive messages used by this instrument is 00H 3CH.
❍Request data 1 (RQ1)
This message requests the other device to transmit data. The address and size indicate the
type and amount of data that is requested.
When a Data Request message is received, if the device is in a state in which it is able to
transmit data, and if the address and size are appropriate, the requested data is transmitted
as a Data Set 1 (DT1) message. If the conditions are not met, nothing is transmitted.
Status
Data byte Status
F0H 41H, dev, 00H, 3CH, 11H, aaH, bbH, F7H
ccH, ddH, ssH, ttH, uuH, vvH, sum
Byte Remarks
F0H Exclusive status
41H ID number (Roland)
dev Device ID (dev: 10H - 1FH, 7FH)
00H model ID #1 (RS-5/9)
3CH model ID #2 (RS-5/9)
11H command ID (RQ1)
aaH address MSB
bbH address
ccH address
ddH address LSB
ssH size MSB
ttH size
uuH size
vvH size LSB
sum checksum
F7H EOX (End Of Exclusive)
* The size of data that can be transmitted at one time is fixed for each type of data. And
data requests must be made with a fixed starting address and size. Refer to the address
and size given in “Parameter Address Map” (p. 165).
* For the checksum, refer to (p. 170).
❍Data set 1 (DT1)
This is the message that actually performs data transmission, and is used when you wish to
transmit the data.
Status Data byte Status
F0H 41H, dev, 00H, 10H, 12H, aaH, bbH, F7H
ccH, ddH, eeH, ... ffH, sum
Byte Explanation
F0H Exclusive status
41H ID number (Roland)
dev Device ID (dev: 10H - 1FH, 7FH)
00H model ID #1 (RS-5/9)
3CH model ID #2 (RS-5/9)
12H Command ID (DT1)
aaH Address MSB
bbH Address
ccH Address
ddH Address LSB
eeH Data: the actual data to be sent. Multiple bytes of data are
transmitted in order starting from the address.
: :
ffH Data
sum Checksum
F7H EOX (End Of Exclusive)
* The amount of data that can be transmitted at one time depends on the type of data, and
data will be transmitted from the specified starting address and size. Refer to the address
and size given in “Parameter Address Map” (p. 165).
* Data larger than 128 bytes will be divided into packets of 128 bytes or less, and each
packet will be sent at an interval of about 40 ms.
* Regarding the checksum, please refer to (p. 170)