* Messages for which [model name] is indicated are applicable only to that specific model.
Messages for which [other than KR-277] is indicated are applicable to units other than
the KR-277 (i.e., the HP-557R, KR-377/577/977/1077).
■Channel Voice Messages
●Note off
Status2nd byte3rd byte
8nHkkHvvH
9nHkkH00H
n = MIDI channel number: 0H-FH (ch.1-ch.16)
kk = note number: 00H-7FH (0-127)
vv = note off velocity: 00H-7FH (0-127)
* For Drum Parts, these messages are received when Rx.NOTE OFF = ON for each
Instrument.
* The velocity values of Note Off messages are ignored.
●Note on
Status2nd bytes3rd byte
9nHkkHvvH
n = MIDI channel number: 0H-FH (ch.1-ch.16)
kk = note number: 00H-7FH (0-127)
vv = note on velocity: 01H-7FH (1-127)
* Not received when Rx.NOTE MESSAGE = OFF. (Initial value is ON)
* For Drum Parts, not received when Rx.NOTE ON = OFF for each Instrument.
●Polyphonic Key Pressure
Status2nd bytes3rd byte
AnHkkHvvH
n = MIDI channel number: 0H-FH (ch.1-ch.16)
kk = note number: 00H-7FH (0-127)
vv = key pressure: 00H-7FH (0-127)
* Not received when Rx.POLY PRESSURE (PAf) = OFF. (Initial value is ON)
* The resulting effect is determined by System Exclusive messages. With the initial
settings, there will be no effect.
●Control Change
* When Rx.CONTROL CHANGE = OFF, all control change messages except for Channel
Mode messages will be ignored.
* The value specified by a Control Change message will not be reset even by a Program
Change, etc.
❍Bank Select (Controller number 0, 32)
Status2nd bytes3rd byte
BnH00HmmH
BnH20HllH
n = MIDI channel number: 0H-FH (ch.1-ch.16)
mm, ll = Bank number: 00H, 00H-7FH, 7FH (bank.1-bank.16384), Initial Value = 00 00H
(bank.1)
* Not received when Rx.BANK SELECT = OFF.
* "Rx.BANK SELECT" is set to OFF by "GM1 System On," and Bank Select message will be
ignored.
* "Rx.BANK SELECT" is set to ON by "GM2 System On."
* "Rx.BANK SELECT" is set to ON by power-on Reset or by receiving "GS RESET."
* When Rx.BANK SELECT LSB = OFF, Bank number LSB (llH) will be handled as 00H
regardless of the received value. However, when sending Bank Select messages, you
have to send both the MSB (mmH) and LSB (llH, the value should be 00H) together.
* Bank Select processing will be suspended until a Program Change message is received.
* The GS format "Variation number" is the value of the Bank Select MSB (Controller
number 0) expressed in decimal.
* Some other GS devices do not recognize the Bank Select LSB (Controller number 32).
* Not received when Rx.MODULATION = OFF. (Initial value is ON)
* The resulting effect is determined by System Exclusive messages. With the initial
settings, this is Pitch Modulation Depth.
❍Portamento Time (Controller number 5)
Status2nd bytes3rd byte
BnH05HvvH
n = MIDI channel number: 0H-FH (ch.1-ch.16)
vv = Portamento Time: 00H-7FH (0-127), Initial value = 00H (0)
* This adjusts the rate of pitch change when Portamento is ON or when using the
Portamento Control. A value of 0 results in the fastest change.
❍Data Entry (Controller number 6, 38)
Status2nd bytes3rd byte
BnH06HmmH
BnH26HllH
n = MIDI channel number: 0H-FH (ch.1-ch.16)
mm, ll = the value of the parameter specified by RPN/NRPN
mm = MSB, ll = LSB
❍Volume (Controller number 7)
Status2nd bytes3rd byte
BnH07HvvH
n = MIDI channel number: 0H-FH (ch.1-ch.16)
vv = Volume: 00H-7FH (0-127), Initial Value = 64H (100)
* Volume messages are used to adjust the volume balance of each Part.
* Not received when Rx.VOLUME = OFF. (Initial value is ON)
❍Pan (Controller number 10)
Status2nd bytes3rd byte
BnH0AHvvH
n = MIDI channel number: 0H-FH (ch.1-ch.16)
vv = pan: 00H-40H-7FH (Left-Center-Right), Initial Value = 40H (Center)
* For Rhythm Parts, this is a relative adjustment of each Instrument's pan setting.
* Some Tones are not capable of being panned all the way to the left or right.
* Not received when Rx.PANPOT = OFF. (Initial value is ON)
❍Expression (Controller number 11)
Status2nd bytes3rd byte
BnH0BHvvH
n = MIDI channel number: 0H-FH (ch.1-ch.16)
vv = Expression: 00H-7FH (0-127), Initial Value = 7FH (127)
* This adjusts the volume of a Part. It can be used independently from Volume messages.
Expression messages are used for musical expression within a performance;
e.g., expression pedal movements, crescendo and decrescendo.
* Not received when Rx.EXPRESSION = OFF. (Initial value is ON)
❍Hold 1 (Controller number 64)
Status2nd bytes3rd byte
BnH40HvvH
n = MIDI channel number: 0H-FH (ch.1-ch.16)
vv = Control value: 00H-7FH (0-127)
* Not received when Rx.HOLD1 = OFF. (Initial value is ON)
❍Portamento (Controller number 65)
Status2nd bytes3rd byte
BnH41HvvH
n = MIDI channel number: 0H-FH (ch.1-ch.16)
vv = Control value: 00H-7FH (0-127) 0-63 = OFF, 64-127 = ON
* Not received when Rx.PORTAMENTO = OFF. (Initial value is ON)
n = MIDI channel number: 0H-FH (ch.1-ch.16)
vv = Control value: 00H-7FH (0-127) 0-63 = OFF, 64-127 = ON
* Not received when Rx.SOSTENUTO = OFF. (Initial value is ON)
❍Soft (Controller number 67)
Status2nd bytes3rd byte
BnH43HvvH
n = MIDI channel number: 0H-FH (ch.1-ch.16)
vv = Control value: 00H-7FH (0-127) 0-63 = OFF, 64-127 = ON
* Not received when Rx.SOFT = OFF. (Initial value is ON)
* Some Tones will not exhibit any change.
❍Filter Resonance (Timbre/Harmonic Intensity) (Controller number 71)
Status2nd byte3rd byte
BnH47HvvH
n = MIDI channel number: 0H-FH (ch.1-ch.16)
vv= Resonance value (relative change) : 00H-7FH(-64 - 0 - +63),
Initial value = 40H (no change)
* Some Tones will not exhibit any change.
❍Release Time (Controller number 72)
Status2nd byte3rd byte
BnH48HvvH
n = MIDI channel number: 0H-FH (ch.1-ch.16)
vv = Release Time value (relative change) : 00H-7FH(-64 - 0 - +63),
Initial value = 40H (no change)
* Some Tones will not exhibit any change.
❍Attack time (Controller number 73)
Status2nd byte3rd byte
BnH49HvvH
n = MIDI channel number: 0H-FH (ch.1-ch.16)
vv = Attack time value (relative change) : 00H-7FH(-64 - 0 - +63),
Initial value=40H (no change)
* Some Tones will not exhibit any change.
❍Cutoff (Controller number 74)
Status2nd byte3rd byte
BnH4AHvvH
n = MIDI channel number: 0H-FH (ch.1-ch.16)
vv = Cutoff value (relative change) : 00H-7FH(-64 - 0 - +63),
Initial value = 40H (no change)
* Some Tones will not exhibit any change.
❍Decay Time (Controller number 75)
Status2nd byte3rd byte
BnH4BHvvH
n = MIDI channel number: 0H-FH (ch.1-ch.16)
vv = Decay Time value (relative change) : 00H-7FH(-64 - 0 - +63),
Initial value = 40H (no change)
* Some Tones will not exhibit any change.
❍Vibrato Rate (Controller number 76)
Status2nd byte3rd byte
BnH4CHvvH
n = MIDI channel number: 0H-FH (ch.1-ch.16)
vv = Vibrato Rate value (relative change) : 00H-7FH(-64 - 0 - +63),
Initial value = 40H (no change)
* Some Tones will not exhibit any change.
n = MIDI channel number: 0H-FH (ch.1-ch.16)
vv = Vibrato Depth Value (relative change) : 00H-7FH(-64 - 0 - +63),
Initial Value = 40H (no change)
* Some Tones will not exhibit any change.
❍Vibrato Delay (Controller number 78)
Status2nd byte3rd byte
BnH4EHvvH
n = MIDI channel number: 0H-FH (ch.1-ch.16)
vv = Vibrato Delay value (relative change) : 00H-7FH(-64 - 0 - +63),
Initial value=40H (no change)
* Some Tones will not exhibit any change.
❍Portamento control (Controller number 84)
Status2nd bytes3rd byte
BnH54HkkH
n = MIDI channel number: 0H-FH (ch.1-ch.16)
kk = source note number: 00H-7FH (0-127)
* A Note-on received immediately after a Portamento Control message will change
continuously in pitch, starting from the pitch of the Source Note Number.
* If a voice is already sounding for a note number identical to the Source Note Number,
this voice will continue sounding (i.e., legato) and will, when the next Note-on is
received, smoothly change to the pitch of that Note-on.
* The rate of the pitch change caused by Portamento Control is determined by the
Portamento Time value.
Example 1.
On MIDI DescriptionResult
90 3C 40Note on C4C4 on
B0 54 3CPortamento Control from C4no change (C4 voice still sunding)
90 40 40Note on E4glide from C4 to E4
80 3C 40Note off C4no change
80 40 40Note off E4E4 off
Example 2.
On MIDI DescriptionResult
B0 54 3CPortamento Control from C4no change
90 40 40Note on E4E4 is played with glide from C4 to E4
80 40 40Note off E4E4 off
❍Effect 1 (Reverb Send Level) (Controller number 91)
Status2nd bytes3rd byte
BnH5BHvvH
n = MIDI channel number: 0H-FH (ch.1-ch.16)
vv = Control value: 00H-7FH (0-127), Initial Value = 28H (40)
* This message adjusts the Reverb Send Level of each Part.
❍Effect 3 (Chorus Send Level) (Controller number 93)
Status2nd bytes3rd byte
BnH5DHvvH
n = MIDI channel number: 0H-FH (ch.1-ch.16)
vv = Control value: 00H-7FH (0-127), Initial Value = 00H (0)
* This message adjusts the Chorus Send Level of each Part.
2
Page 3
❍NRPN MSB/LSB (Controller number 98, 99)
Status2nd bytes3rd byte
BnH63HmmH
BnH62HllH
❍RPN MSB/LSB (Controller number 100, 101)
Status2nd bytes3rd byte
BnH65HmmH
BnH64HllH
n = MIDI channel number: 0H-FH (ch.1-ch.16)
mm = upper byte (MSB) of the parameter number specified by NRPN
ll = lower byte (LSB) of the parameter number specified by NRPN
* Rx.NRPN is set to OFF by power-on reset or by receiving "GM1 System On" or "GM2
System On," and NRPN message will be ignored. NRPN message will be received when
Rx.NRPN = ON, or by receiving "GS RESET."
* The value set by NRPN will not be reset even if Program Change or Reset All Controllers
is received.
**NRPN**
The NRPN (Non Registered Parameter Number) message allows an extended range of
control changes to be used.
To use these messages, you must first use NRPN MSB and NRPN LSB messages to specify
the parameter to be controlled, and then use Data Entry messages to specify the value of the
specified parameter. Once an NRPN parameter has been specified, all Data Entry messages
received on that channel will modify the value of that parameter. To prevent accidents, it is
recommended that you set RPN Null (RPN Number = 7FH/7FH) when you have finished
setting the value of the desired parameter. Refer to Section 4. Supplementary material
"Examples of actual MIDI messages" <Example 4> (p. 14). On the GS devices, Data entry
LSB (llH) of NRPN is ignored, so it is no problem to send Data entry MSB (mmH) only
(without Data entry LSB).
On this instrument, NRPN can be used to modify the following parameters.
rr : key number of drum instrument
mm: 01H-7FH (zero-maximum)
* Parameters marked "relative change" will change relatively to the preset value(40H).
Even among different GS devices, "relative change" parameters may sometimes differ in
the way the sound changes or in the range of change.
* Parameters marked "absolute change" will be set to the absolute value of the parameter,
regardless of the preset value.
* Data entry LSB (llH) is ignored.
n = MIDI channel number: 0H-FH (ch.1-ch.16)
mm = upper byte (MSB) of parameter number specified by RPN
ll = lower byte (LSB) of parameter number specified by RPN
* Not received when Rx.RPN = OFF. (Initial value is ON)
* The value specified by RPN will not be reset even by messages such as Program Change
or Reset All Controller.
**RPN**
The RPN (Registered Parameter Number) messages are expanded control changes, and each
function of an RPN is described by the MIDI Standard.
To use these messages, you must first use RPN MSB and RPN LSB messages to specify the
parameter to be controlled, and then use Data Entry messages to specify the value of the
specified parameter. Once an RPN parameter has been specified, all Data Entry messages
received on that channel will modify the value of that parameter. To prevent accidents, it is
recommended that you set RPN Null (RPN Number = 7FH/7FH) when you have finished
setting the value of the desired parameter.Refer to Section 4. "Examples of actual MIDI
messages" <Example 4> (p. 14).
On this instrument, RPN can be used to modify the following parameters.
Set condition where RPN and NRPN are unspecified. The data
entry messages after set RPN null will be ignored. (No Data
entry messages are required after RPN null).
Settings already made will not change.
mm, ll : ignored
●Program Change
Status2nd bytes
CnHppH
n = MIDI channel number: 0H-FH (ch.1-ch.16)
pp = Program number: 00H-7FH (prog.1-prog.128)
* Not received when Rx.PROGRAM CHANGE = OFF. (Initial value is ON)
* After a Program Change message is received, the sound will change beginning with the
next Note-on. Voices already sounding when the Program Change message was
received will not be affected.
* For Drum Parts, Program Change messages will not be received on bank numbers 129-
16384 (the value of Control Number 0 is other than 0 (00H)).
* Not received when Rx.CH PRESSURE (CAf) = OFF. (Initial value is ON)
* The resulting effect is determined by System Exclusive messages. With the initial
settings there will be no effect.
3
Page 4
●Pitch Bend Change
Status2nd byte3rd bytes
EnHllHmmH
n = MIDI channel number: 0H-FH (ch.1-ch.16)
mm, ll = Pitch Bend value: 00 00H - 40 00H - 7F 7FH (-8192 - 0 - +8191)
* Not received when Rx.PITCH BEND = OFF. (Initial value is ON)
* The resulting effect is determined by System Exclusive messages. With the initial
settings the effect is Pitch Bend.
●MONO (Controller number 126)
Status2nd byte3rd bytes
BnH7EHmmH
n = MIDI channel number: 0H-FH (ch.1-ch.16)
mm = mono number: 00H-10H (0-16)
* The same processing will be carried out as when All Sounds Off and All Notes Off is
received, and the corresponding channel will be set to Mode 4 (M = 1) regardless of the
value of "mono number."
■Channel Mode Messages
●All Sounds Off (Controller number 120)
Status2nd byte3rd bytes
BnH78H00H
n = MIDI channel number: 0H-FH (ch.1-ch.16)
* When this message is received, all currently-sounding notes on the corresponding
channel will be turned off immediately.
●Reset All Controllers (Controller number 121)
Status2nd byte3rd bytes
BnH79H00H
n = MIDI channel number: 0H-FH (ch.1-ch.16)
* When this message is received, the following controllers will be set to their reset values.
ControllerReset value
Pitch Bend Change+-0 (Center)
Polyphonic Key Pressure0 (off)
Channel Pressure0 (off)
Modulation0 (off)
Expression127 (max)
Hold 10 (off)
Portamento0 (off)
Sostenuto0 (off)
Soft0 (off)
RPNunset; previously set data will not change
NRPNunset; previously set data will not change
●Loacl Control (Controller number 122)
Status2nd byte3rd bytes
BnH7AHvvH
n = MIDI channel number: 0H-FH (ch.1-ch.16)
vv = Control value: 00H, 7FH (0, 127), 00H: Local Off, 7FH: Local On
●All Notes Off (Controller number 123)
Status2nd byte3rd bytes
BnH7BH00H
n = MIDI channel number: 0H-FH (ch.1-ch.16)
* When All Notes Off is received, all notes on the corresponding channel will be turned
off. However if Hold 1 or Sostenuto is ON, the sound will be continued until these are
turned off.
●OMNI OFF (Controller number 124)
Status2nd byte3rd bytes
BnH7CH00H
n = MIDI channel number: 0H-FH (ch.1-ch.16)
* The same processing will be carried out as when All Notes Off is received.
●POLY (Controller number 127)
Status2nd byte3rd bytes
BnH7FH00H
n = MIDI channel number: 0H-FH (ch.1-ch.16)
* The same processing will be carried out as when All Sounds Off and All Notes Off is
received, and the corresponding channel will be set to Mode 3.
■System Realtime Message
●Active Sensing
Status
FEH
* When Active Sensing is received, the unit will begin monitoring the intervals of all
further messages. While monitoring, if the interval between messages exceeds 420 ms,
the same processing will be carried out as when All Sounds Off, All Notes Off and Reset
All Controllers are received, and message interval monitoring will be halted.
■System Exclusive Message
StatusData byteStatus
F0HiiH, ddH, ......, eeH F7H
F0H: System Exclusive Message status
ii = ID number: an ID number (manufacturer ID) to indicate the manufacturer whose
Exclusive message this is. Roland's manufacturer ID is 41H.
ID numbers 7EH and 7FH are extensions of the MIDI standard; Universal
Non-realtime Messages (7EH) and Universal Realtime Messages (7FH).
dd, ..., ee = data: 00H-7FH (0-127)
F7H: EOX (End Of Exclusive)
The System Exclusive Messages received by this instrument are; messages related to mode
settings, Universal Realtime System Exclusive messages and Data Set (DT1).
●System exclusive messages related to mode settings
These messages are used to initialize a device to GS or General MIDI mode, or change the
operating mode. When creating performance data, a "GM1 System On" message should be
inserted at the beginning of a General MIDI 1 score, a "GM2 System On" message at the
beginning of a General MIDI 2 score, and a "GS Reset" message at the beginning of a GS
music data. Each song should contain only one mode message as appropriate for the type of
data. (Do not insert two or more mode setting messages in a single song.)
"GM System On" uses Universal Non-realtime Message format. "GS Reset" uses Roland
system Exclusive format "Data Set 1 (DT1)."
❍GM1 System On
This is a command message that resets the internal settings of the unit to the General MIDI
initial state (General MIDI System-Level 1). After receiving this message, this instrument
will automatically be set to the proper condition for correctly playing a General MIDI score.
StatusData byteStatus
F0H7EH, 7FH, 09H, 01HF7H
●OMNI ON (Controller number 125)
Status2nd byte3rd bytes
BnH7DH00H
n = MIDI channel number: 0H-FH (ch.1-ch.16)
* OMNI ON is only recognized as "All notes off"; the Mode doesn't change (OMNI OFF
remains).
ByteExplanation
F0HExclusive status
7EHID number (Universal Non-realtime Message)
7FHDevice ID (Broadcast)
09HSub ID#1 (General MIDI Message)
01HSub ID#2 (General MIDI 1 On)
F7HEOX (End Of Exclusive)
* When this message is received, Rx.BANK SELECT will be OFF and Rx.NRPN will be
OFF.
* There must be an interval of at least 50 ms between this message and the next.
ByteExplanation
F0HExclusive status
7EHID number (Universal Non-realtime Message)
7FHDevice ID (Broadcast)
09HSub ID#1 (General MIDI Message)
03HSub ID#2 (General MIDI 2 On)
F7HEOX (End Of Exclusive)
* When this message is received, this instrument will be able to receive the messages
specified by General MIDI 2, and use the General MIDI 2 soundmap.
* There must be an interval of at least 50 ms between this message and the next.
❍GM System Off
"GM System Off" is a command message that resets the internal state of this instrument
from the GM state to its native condition. This instrument will reset to the GS default state.
StatusData byteStatus
F0H7EH, 7FH, 09H, 02HF7H
ByteExplanation
F0HExclusive status
7EHID number (Universal Non-realtime Message)
7FHDevice ID (Broadcast)
09HSub-ID#1 (General MIDI message)
02HSub-ID#2 (General MIDI Off)
40HEOX (End of exclusive)
* When this message is received, this instrument will reset to the GS default state.
* There must be an interval of at least 50 ms between this message and the next.
❍GS reset
GS Reset is a command message that resets the internal settings of a device to the GS initial
state. This message will appear at the beginning of GS music data, and a GS device that
receives this message will automatically be set to the proper state to correctly playback GS
music data.
ByteExplanation
F0HExclusive status
41HID number (Roland)
10HDevice ID (dev: 00H-1FH (1-32), Initial value is 10H (17))
42HModel ID (GS)
12HCommand ID (DT1)
40HAddress MSB
00HAddress
7FHAddress LSB
00HData (GS reset)
41HChecksum
F7HEOX (End Of Exclusive)
* When this message is received, Rx.NRPN will be ON.
* There must be an interval of at least 50 ms between this message and the next.
ByteExplanation
F0HExclusive status
7FHID number (universal realtime message)
7FHDevice ID (Broadcast)
04HSub ID#1 (Device Control)
03HSub ID#2 (Master Fine Tuning)
llHMaster Fine Tuning LSB
mmHMaster Fine Tuning MSB
F7HEOX (End Of Exclusive)
ByteExplanation
F0HExclusive status
7FHID number (universal realtime message)
7FHDevice ID (Broadcast)
0AHSub ID#1 (Key-Based Instrument Control)
01HSub ID#2 (Controller)
0nHMIDI Channel (00 - 0FH)
kkHKey Number
nnHControl Number
vvHValue
F7HEOX (End Of Exclusive)
nn=07HLevel
vv = 00H - 7FH0 - 200 [%] (Relative)
nn=0AHPan
vv = 00H - 7FHLeft - Right (Absolute)
nn=5BHReverb Send
vv = 00H - 7FH0 - 127 (Absolute)
nn=5DChorus Send
vv = 00H - 7FH0 - 127 (Absolute)
* This parameter effects drum instruments only.
6
Page 7
●Universal Non-realtime System Exclusive Messages
2. Transmit data
❍Identity Request Message
StatusData byteStatus
F0H7FH, 10H, 06H, 01HF7H
ByteExplanation
F0HExclusive status
7FHID number (universal realtime message)
10HDevice ID
06HSub ID#1 (General Information)
01HSub ID#2 (Identity Request)
F7HEOX (End Of Exclusive)
●Data transmission
This instrument can receive the various parameters using System Exclusive messages.
The exclusive message of GS format data has a model ID of 42H and a device ID of 10H (17),
and it is common to all the GS devices.
❍Data set 1 DT1
This is the message that actually performs data transmission, and is used when you wish to
transmit the data.
ByteExplanation
F0HExclusive status
41HID number (Roland)
10HDevice ID
42HModel ID (GS)
12HCommand ID (DT1)
aaHAddress MSB: upper byte of the starting address of the transmitted data
bbHAddress: middle byte of the starting address of the transmitted data
ccHAddress LSB: lower byte of the starting address of the transmitted data
ddHData: the actual data to be transmitted. Multiple bytes of data are transmitted
starting from the address.
:
:
eeHData
sumChecksum
F7HEOX (End Of Exclusive)
* The amount of data that can be transmitted at one time depends on the type of data, and
data can be received only from the specified starting address and size. Refer to the
Address and Size given in Section 3 (p. 9).
* Data larger than 128 bytes must be divided into packets of 128 bytes or less. If "Data Set
1" is transmitted successively, there must be an interval of at least 40 ms between
packets.
* Regarding the checksum please refer to section 4 (p. 14).
Arranger data can not be transmitted.
■Channel Voice Messages
●Note off
Status2nd byte3rd byte
8nHkkHvvH
n = MIDI channel number: 0H-FH (ch.1-ch.16)
kk = note number: 00H-7FH (0-127)
vv = note off velocity: 00H-7FH (0-127)
* Note off message is sent out with the velocity of 40H.
●Note on
Status2nd bytes3rd byte
9nHkkHvvH
n = MIDI channel number: 0H-FH (ch.1-ch.16)
kk = note number: 00H-7FH (0-127)
vv = note on velocity: 01H-7FH (1-127)
●Control Change
❍Bank Select (Controller number 0, 32)
Status2nd bytes3rd byte
BnH00HmmH
BnH20HllH
n = MIDI channel number: 0H-FH (ch.1-ch.16)
mm, ll = Bank number: 00H, 00H-7FH, 7FH (bank.1-bank.16384)
ByteExplanation
F0HExclusive status
7EHID number (universal non-realtime message)
10HDevice ID (use the same as the device ID of Roland)
06HSub ID#1 (General Information)
02HSub ID#2 (Identity Reply)
41HID number (Roland)
42HDevice family code (LSB)
00HDevice family code (MSB)
aaHDevice family number code (LSB)
bbHDevice family number code (MSB)
ccHSoftware revision level
ddHSoftware revision level
eeHSoftware revision level
ffHSoftware revision level
F7HEOX (End of Exclusive)
This map indicates address, size, Data (range), Parameter, Description, and Default Value of parameters which can be transferred using and "Data set 1 (DT1)."
All the numbers of address, size, Data, and Default Value are indicated in 7-bit Hexadecimal-form.
■Address Block map
An outlined address map of the Exclusive Communication is as follows;
There are two ways in which GS data is transmitted: Individual Parameter Transmission in which individual parameters are transmitted one by one, and Bulk Dump Transmission in which a
large amount of data is transmitted at once.
■Individual Parameters
Individual Parameter Transmission transmits data (or requests data) for one parameter as one exclusive message (one packet of "F0 ..... F7").
In Individual Parameter Transmission, you must use the Address and Size listed in the following "Parameter Address Map." Addresses marked at "#" cannot be used as starting addresses.
●System Parameters
Parameters related to the system of the device are called System Parameters.
* The sum total of voices in the voice reserve function must be equal to or less than the number of the maximum polyphony. The maximum polyphony of this instrument is 128. For
compatibility with other GS models, it is recommended that the maximum polyphony be equal or less than 24.
* REVERB MACRO is a macro parameter that allows global setting of reverb parameters. When you select the reverb type with REVERB MACRO, each reverb parameter will be set to the most
suitable value.
* REVERB CHARACTER is a parameter that changes the reverb algorithm. The value of REVERB CHARACTER corresponds to the REVERB MACRO of the same number.
| SYSTEM PARAMETERS |Individual
| PART PARAMETERS |Individual
| (x = 0-F) |
| SRUM SETUP PARAMETERS |Individual
| (m = 0-1) |
| SYSTEM PARAMETERS |Bulk
| PART PARAMETERS |Bulk
| DRUM SETUP PARAMETER |Bulk
| (m = 0-1) |
(= F0 7F 7F 04 01 00 vv F7)
(Rx. only)
01: Room 2
02: Room 3
03: Hall 1
04: Hall 2
05: Plate
06: Delay
07: Panning Delay
* CHORUS MACRO is a macro parameter that allows global setting of chorus parameters. When you use CHORUS MACRO to select the chorus type, each chorus parameter will be set to the
* Refer to “EFX Type Table” (p. 16).
* This EFX Type is current EFX type of this system. When part EFX type is same to this EFX type, that part connect to EFX.
40 03 1C00 00 0100 - 7FEFX Control Depth 1 7F-100% - +100%
40 03 1D00 00 0100 - 7FEFX Control Source 2*Refer to EFX Control Source 1 00
40 03 1E00 00 0100 - 7FEFX Control Depth 27F-100% - +100%
* Marked #1 or #2 can be controlled by EFX CONTROL SOURCE 1 or 2.
01 - 5F: Control Change No.
71: CAf
72: Bender
●Part Parameters
This instrument has 16 parts. Parameters that can be set individually for each Part are called Part parameters.
If you use exclusive messages to set Part parameters, specify the address by Block number rather than Part Number (normally the same number as the MIDI channel). The Block number can be
specified as one of 16 blocks, from 0 (H) to F (H).
The relation between Part number and Block number is as follows.
x...BLOCK NUMBER (0-F),Part 1 (MIDI ch = 1) x = 1
Part 2 (MIDI ch = 2) x = 2
: : :
Part 9 (MIDI ch = 9) x = 9
Part10 (MIDI ch = 10) x = 0
Part11 (MIDI ch = 11) x = A
Part12 (MIDI ch = 12) x = B
: : :
Part16 (MIDI ch = 16) x = F
10
Page 11
Address (H)Size (H)Data (H)ParameterDescriptionDefault Value (H) Description
40 1x 0000 00 0200-7FTONE NUMBERCC#00 VALUE 0-12700 0
40 1x 01#00-7FP.C. VALUE 1-128001
40 1x 0200 00 0100-10Rx. CHANNEL1-16, OFFSame as the Part Number
40 1x 0300 00 0100-01Rx. PITCH BENDOFF/ON01ON
40 1x 0400 00 0100-01Rx. CH PRESSURE (CAf)OFF/ON01ON
40 1x 0500 00 0100-01Rx. PROGRAM CHANGEOFF/ON01ON
40 1x 0600 00 0100-01Rx. CONTROL CHANGEOFF/ON01ON
40 1x 0700 00 0100-01Rx. POLY PRESSURE (PAf)OFF/ON01ON
40 1x 0800 00 0100-01Rx. NOTE MESSAGEOFF/ON01ON
40 1x 0900 00 0100-01Rx. RPNOFF/ON01ON
40 1x 0A00 00 0100-01Rx. NRPNOFF/ON00 (01*)OFF (ON*)
* When "GM1 System On" and "GM2 System On" are received, Rx. NRPN will be set OFF. When "GS Reset" is received, it will be set ON.
40 1x 1400 00 0100-02ASSIGN MODE0 = SINGLE00 at x = 0SINGLE at x = 0
* ASSIGN MODE is the parameter that determines how voice assignment will be handled when sounds overlap on identical note numbers in the same channel (i.e., repeatedly struck notes).
This is initialized to a mode suitable for each Part, so for general purposes there is no need to change this.
(= CC# 126 01 / CC# 127 00)
1 = LIMITED-MULTI01 at x ≠ 0LIMITED-MULTI at x ≠0
2 = FULL-MULTI
40 1x 1500 00 0100-02USE FOR RHYTHM PART0 = OFF00 at x ≠0OFF at x ≠0
* This parameter sets the Drum Map of the Part used as the Drum Part. This instrument can simultaneously (in different Parts) use up to two Drum Maps (MAP1, MAP2). With the initial
settings, Part10 (MIDI CH = 10, x = 0) is set to MAP1 (1), and other Parts are set to normal instrumental Parts (OFF (0)).
* PITCH OFFSET FINE allows you to alter, by a specified frequency amount, the pitch at which notes will sound. This parameter differs from the conventional Fine Tuning (RPN #1) parameter
in that the amount of frequency alteration (in Hertz) will be identical no matter which note is played. When a multiple number of Parts, each of which has been given a different setting for
PITCH OFFSET FINE, are sounded by means of an identical note number, you can obtain a Celeste effect.
* "Rx.BANK SELECT" is set to OFF by "GM1 System On," and Bank Select message will be ignored.
* "Rx.BANK SELECT" is set to ON by "GM2 System On."
* "Rx.BANK SELECT" is set to ON by power-on Reset or by receiving "GS RESET."
* SCALE TUNING is a function that allows fine adjustment to the pitch of each note in the octave. The pitch of each identically-named note in all octaves will change simultaneously. A setting of
+/- 0 cent (40H) is equal temperament. Refer to section 4. Supplementary material, "The Scale Tune Feature"(p. 15).
* When the Drum Set is changed, DRUM SETUP PARAMETER values will all be initialized.
(= NRPN# 26)
(= NRPN# 28, except RANDOM)
(= NRPN# 29)Multiplicand of the part reverb depth
(= NRPN# 30)Multiplicand of the part chorus depth
13
Page 14
4. Supplementary material
●Decimal and Hexadecimal table
In MIDI documentation, data values and addresses/sizes of exclusive messages etc. are
expressed as hexadecimal values for each 7 bits.
The following table shows how these correspond to decimal numbers.
* Decimal values such as MIDI channel, bank select, and program change are listed as one
(1) greater than the values given in the above table.
* A 7-bit byte can express data in the range of 128 steps. For data where greater precision
is required, we must use two or more bytes. For example, two hexadecimal numbers aa
bbH expressing two 7-bit bytes would indicate a value of aa x 128 + bb.
* In the case of values which have a +/- sign, 00H = -64, 40H = +/- 0, and 7FH = +63, so
that the decimal expression would be 64 less than the value given in the above chart. In
the case of two types, 00 00H = -8192, 40 00H = +/- 0, and 7F 7FH = +8191. For example if
aa bbH were expressed as decimal, this would be aa bbH - 40 00H = aa x 128 + bb - 64 x
128.
* Data marked "nibbled" is expressed in hexadecimal in 4-bit units. A value expressed as a
2-byte nibble 0a 0bH has the value of a x 16 + b.
<Example 1> What is the decimal expression of 5AH ?
From the preceding table, 5AH = 90
<Example 2> What is the decimal expression of the value 12 34H given as hexadecimal for
each 7 bits?
From the preceding table, since 12H = 18 and 34H = 52
18 x 128 + 52 = 2356
<Example 3> What is the decimal expression of the nibbled value 0A 03 09 0D ?
From the preceding table, since 0AH = 10, 03H = 3, 09H = 9, 0DH = 13
((10 x 16 + 3) x 16 + 9) x 16 + 13 = 41885
<Example 4> What is the nibbled expression of the decimal value 1258?
16) 1258
16) 78... 10
16) 4... 14
0... 4
●Examples of actual MIDI messages
<Example 1> 92 3E 5F
9n is the Note-on status, and n is the MIDI channel number. Since 2H = 2, 3EH = 62, and
5FH = 95, this is a Note-on message with MIDI CH = 3, note number 62 (note name is D4),
and velocity 95.
<Example 2> CE 49
CnH is the Program Change status, and n is the MIDI channel number. Since EH = 14 and
49H = 73, this is a Program Change message with MIDI CH = 15, program number 74 (Flute
in GS).
<Example 3> EA 00 28
EnH is the Pitch Bend Change status, and n is the MIDI channel number. The 2nd byte (00H
= 0) is the LSB and the 3rd byte (28H = 40) is the MSB, but Pitch Bend Value is a signed
number in which 40 00H (= 64 x 128 + 0 = 8192) is 0, so this Pitch Bend Value is
28 00H - 40 00H = 40 x 128 + 0 - (64 x 128 + 0) = 5120 - 8192 = -3072
If the Pitch Bend Sensitivity is set to 2 semitones, -8192 (00 00H) will cause the pitch to
change -200 cents, so in this case -200 x (-3072) / (-8192) = -75 cents of Pitch Bend is being
applied to MIDI channel 11.
<Example 4> B3 64 00 65 00 06 0C 26 00 64 7F 65 7F
BnH is the Control Change status, and n is the MIDI channel number. For Control Changes,
the 2nd byte is the control number, and the 3rd byte is the value. In a case in which two or
more messages consecutive messages have the same status, MIDI has a provision called
"running status" which allows the status byte of the second and following messages to be
omitted. Thus, the above messages have the following meaning.
B364 00MIDI ch.4, lower byte of RPN parameter number: 00H
(B3)65 00(MIDI ch.4) upper byte of RPN parameter number: 00H
(B3)06 0C(MIDI ch.4) upper byte of parameter value: 0CH
(B3)26 00(MIDI ch.4) lower byte of parameter value: 00H
(B3)64 7F(MIDI ch.4) lower byte of RPN parameter number: 7FH
(B3)65 7F(MIDI ch.4) upper byte of RPN parameter number: 7FH
In other words, the above messages specify a value of 0C 00H for RPN parameter number
00 00H on MIDI channel 4, and then set the RPN parameter number to 7F 7FH.
RPN parameter number 00 00H is Pitch Bend Sensitivity, and the MSB of the value indicates
semitone units, so a value of 0CH = 12 sets the maximum pitch bend range to +/- 12
semitones (1 octave). (On GS sound sources the LSB of Pitch Bend Sensitivity is ignored, but
the LSB should be transmitted anyway (with a value of 0) so that operation will be correct
on any device.)
Once the parameter number has been specified for RPN or NRPN, all Data Entry messages
transmitted on that same channel will be valid, so after the desired value has been
transmitted, it is a good idea to set the parameter number to 7F 7FH to prevent accidents.
This is the reason for the (B3) 64 7F (B3) 65 7F at the end.
It is not desirable for performance data (such as Standard MIDI File data) to contain many
events with running status as given in <Example 4>. This is because if playback is halted
during the song and then rewound or fast-forwarded, the sequencer may not be able to
transmit the correct status, and the sound source will then misinterpret the data. Take care
to give each event its own status.
It is also necessary that the RPN or NRPN parameter number setting and the value setting
be done in the proper order. On some sequencers, events occurring in the same (or
consecutive) clock may be transmitted in an order different than the order in which they
were received. For this reason it is a good idea to slightly skew the time of each event (about
1 tick for TPQN = 96, and about 5 ticks for TPQN = 480).
* TPQN: Ticks Per Quarter Note
Since from the preceding table, 0 = 00H, 4 = 04H, 14 = 0EH, 10 = 0AH, the answer is 00 04 0E
0AH.
14
Page 15
●Example of an Exclusive message and calculating a
Checksum
Roland Exclusive messages are transmitted with a checksum at the end (before F7) to make
sure that the message was correctly received. The value of the checksum is determined by
the address and data (or size) of the transmitted exclusive message.
uHow to calculate the checksum (hexadecimal numbers are indicated by 'H')
The checksum is a value derived by adding the address, size and checksum itself and
inverting the lower 7 bits.
Here's an example of how the checksum is calculated. We will assume that in the exclusive
message we are transmitting, the address is aa bb ccH and the data or size is dd ee ffH.
aa + bb + cc + dd + ee + ff = sum
sum / 128 = quotient ... remainder
128 - remainder = checksum
<Example> Setting REVERB MACRO to ROOM 3
According to the "Parameter Address Map," the REVERB MACRO Address is 40 01 30H,
and ROOM 3 is a value of 02H. Thus,
This means that F0 41 10 42 12 40 01 30 02 0D F7 is the message we transmit.
●About tuning
In MIDI, individual Parts are tuned by sending RPN #1 (Master Fine Tuning) to the
appropriate MIDI channel.
In MIDI, an entire device is tuned by either sending RPN #1 to all MIDI channels being
used, or by sending a System Exclusive MASTER TUNE (address 40 00 00H).
RPN #1 allows tuning to be specified in steps of approximately 0.012 cents (to be precise,
100/8192 cent), and System Exclusive MASTER TUNE allows tuning in steps of 0.1 cent.
One cent is 1/100th of a semitone.
The values of RPN #1 (Master Fine Tuning) and System Exclusive MASTER TUNE are
added together to determine the actual pitch sounded by each Part.
●The Scale Tune Feature (address: 40 1x 40)
The scale Tune feature allows you to finely adjust the individual pitch of the notes from C
through B. Though the settings are made while working with one octave, the fine
adjustments will affect all octaves. By making the appropriate Scale Tune settings, you can
obtain a complete variety of tuning methods other than equal temperament. As examples,
three possible types of scale setting are explained below.
❍Equal Temperament
This method of tuning divides the octave into 12 equal parts. It is currently the most widely
used form of tuning,
especially in occidental music. On this instrument, the default settings for the Scale Tune
feature produce equal temperament.
❍Just Temperament (Keytone C)
The three main chords resound much more beautifully than with equal temperament, but
this benefit can only be obtained in one key. If transposed, the chords tend to become
ambiguous. The example given involves settings for a key in which C is the keynote.
❍Arabian Scale
By altering the setting for Scale Tune, you can obtain a variety of other tunings suited for
ethnic music. For example, the settings introduced below will set the unit to use the Arabian
Scale.
Example Settings
Note nameEqual Temperament Just Temperament (Keytone C) Arabian Scale
C00-6
C#0-8+45
D0+4-2
D#0+16-12
E0-14-51
F0-2-8
F#0-10+43
G0+2-4
G#0+14+47
A0-160
A#0+14-10
B0-12-49
The values in the table are given in cents. Refer to the explanation of Scale Tuning (p. 12) to
convert these values to hexadecimal, and transmit them as exclusive data.
For example, to set the tune (C-B) of the Part1 Arabian Scale, send the data as follows:
F0 41 10 42 12 40 11 40 3A 6D 3E 34 0D 38 6B 3C 6F 40 36 0F 50 F7
Frequently used tuning values are given in the following table for your reference. Values
are in hexadecimal (decimal in parentheses).