n = MIDI channel number: 0H-FH (ch.1-ch.16)
kk = note number: 00H-7FH (0-127)
vv = note o velocity: 00H-7FH (0-127)
* For Drum Parts, these messages are received when Rx. NOTE OFF = ON for each
Instrument.
Note On
Status 2nd byte 3rd byte
9nH kkH vvH
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
Status 2nd byte 3rd byte
AnH kkH vvH
Control Change
* When Rx. CONTROL CHANGE = OFF, all control change messages except for
Channel Mode messages will be ignored.
* The value specied by a Control Change message will not be reset even by a
Program Change, etc.
Bank Select (Controller Number 0, 32)
Status 2nd byte 3rd byte
BnH 00H mmH
BnH 20H llH
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
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 eect is determined by System Exclusive messages. With the initial
settings, there will be no eect.
* Not received when Rx. MODULATION = OFF. (Initial value is ON)
* The resulting eect is determined by System Exclusive messages. With the initial
settings, this is Pitch Modulation Depth.
Portamento Time (Controller Number 5)
Status 2nd byte 3rd byte
BnH 05H vvH
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)
Status 2nd byte 3rd byte
BnH 06H mmH
BnH 26H llH
n = MIDI channel number: 0H-FH (ch.1-ch.16)
mm, ll = the value of the parameter specied by RPN/NRPN
mm = MSB, ll = LSB
Volume (Controller Number 7)
Status 2nd byte 3rd byte
BnH 07H vvH
n = MIDI channel number: 0H-FH (ch.1-ch.16)
vv = Volume: 00H-7FH (0-127), Initial Value = 64H (100)
1PS
* Volume messages are used to adjust the volume balance of each Part.
* Not received when Rx. VOLUME = OFF. (Initial value is ON)
All rights reserved. No part of this publication may be reproduced in any form without the written permission of ROLAND CORPORATION.
1
MIDI Implementation
Pan (Controller Number 10)
Status 2nd byte 3rd byte
BnH 0AH vvH
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)
Status 2nd byte 3rd byte
BnH 0BH vvH
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)
Status 2nd byte 3rd byte
BnH 40H vvH
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)
Resonance (Controller Number 71)
Status 2nd byte 3rd byte
BnH 47H vvH
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)
* Not received when Rx. Resonance = OFF. (Initial value is ON)
* Some Tones will not exhibit any change.
Release Time (Controller Number 72)
Status 2nd byte 3rd byte
BnH 48H vvH
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)
* Not received when Rx. Release Time = OFF. (Initial value is ON)
* Some Tones will not exhibit any change.
Attack Time (Controller Number 73)
Status 2nd byte 3rd byte
BnH 49H vvH
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)
* Not received when Rx. Attack Time = OFF. (Initial value is ON)
* Some Tones will not exhibit any change.
Portamento (Controller Number 65)
Status 2nd byte 3rd byte
BnH 41H vvH
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)
Sostenuto (Controller Number 66)
Status 2nd byte 3rd byte
BnH 42H vvH
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)
Status 2nd byte 3rd byte
BnH 43H vvH
n = MIDI channel number: 0H-FH (ch.1-ch.16)
vv = Control value: 00H-7FH (0-127)
* Not received when Rx. SOFT = OFF. (Initial value is ON)
* Some Tones will not exhibit any change.
Cuto (Controller Number 74)
Status 2nd byte 3rd byte
BnH 4AH vvH
n = MIDI channel number: 0H-FH (ch.1-ch.16)
vv = Cuto value (relative change): 00H-7FH(-64 - 0 - +63),
Initial value = 40H (no change)
* Not received when Rx. Cuto = OFF. (Initial value is ON)
* Some Tones will not exhibit any change.
Decay Time (Controller Number 75)
Status 2nd byte 3rd byte
BnH 4BH vvH
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)
* Not received when Rx. Decay Time = OFF. (Initial value is ON)
* Some Tones will not exhibit any change.
Vibrato Rate (Controller Number 76)
Status 2nd byte 3rd byte
BnH 4CH vvH
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)
* Not received when Rx. Vibrato Rate = OFF. (Initial value is ON)
* Some Tones will not exhibit any change.
2
MIDI Implementation
Vibrato Depth (Controller Number 77)
Status 2nd byte 3rd byte
BnH 4DH vvH
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)
* Not received when Rx. Vibrato Depth = OFF. (Initial value is ON)
* Some Tones will not exhibit any change.
Vibrato Delay (Controller Number 78)
Status 2nd byte 3rd byte
BnH 4EH vvH
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)
* Not received when Rx. Vibrato Delay = OFF. (Initial value is ON)
* Some Tones will not exhibit any change.
Portamento Control (Controller Number 84)
Status 2nd byte 3rd byte
BnH 54H kkH
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 Description Result
90 3C 40 Note on C4 C4 on
B0 54 3C Portamento no change (C4 voice still sounding)
Control from C4
90 40 40 Note on E4 glide from C4 to E4
80 3C 40 Note o C4 no change
80 40 40 Note o E4 E4 o
Example 2.
On MIDI Description Result
B0 54 3C Portamento no change
Control from C4
90 40 40 Note on E4 E4 is played with glide from C4 to E4
80 40 40 Note o E4 E4 o
Eect 1 (Reverb Send Level) (Controller Number 91)
Status 2nd bytes 3rd byte
BnH 5BH vvH
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.
Eect 3 (Chorus Send Level) (Controller Number 93)
Status 2nd byte 3rd byte
BnH 5DH vvH
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.
NRPN MSB/LSB (Controller Number 98, 99)
Status 2nd byte 3rd byte
BnH 63H mmH
BnH 62H llH
n = MIDI channel number:0H-FH (ch.1-ch.16)
mm = upper byte (MSB) of the parameter number specied by NRPN
ll = lower byte (LSB) of the parameter number specied 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 rst 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 specied parameter. Once an NRPN parameter has been specied, 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 nished setting the value of the desired parameter. Refer
to Section 4. Supplementary Material “Examples of actual MIDI messages” <Example
4>. On the GS devices, Data entry LSB (llH) of NRPN (controller number 38) is ignored,
so it is no problem to send Data entry MSB (mmH) only without Data entry LSB
(controller number 6).
On this instrument, NRPN can be used to modify the following parameters.
* Parameters marked “relative change” will change relatively to the preset value(40H).
Even among dierent GS devices, “relative change” parameters may sometimes
dier 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.
RPN MSB/LSB (Controller Number 100, 101)
Status 2nd byte 3rd byte
BnH 65H mmH
BnH 64H llH
n = MIDI channel number: 0H-FH (ch.1-ch.16)
mm = upper byte (MSB) of parameter number specied by RPN
ll = lower byte (LSB) of parameter number specied by RPN
* Not received when Rx. RPN = OFF. (Initial value is ON)
* The value specied 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 rst 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 specied parameter. Once an RPN parameter has been specied, 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 nished setting the value of the desired parameter.Refer to Section 4.
“Examples of actual MIDI messages” <Example 4>
Program Change
Status 2nd byte
CnH ppH
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 aected.
* For Drum Parts, Program Change messages will not be received on bank numbers
129-16384 (the value of Controller Number 0 is other than 0 (00H)).
* Not received when Rx. CH PRESSURE (CAf) = OFF. (Initial value is ON)
* The resulting eect is determined by System Exclusive messages. With the initial
settings there will be no eect.
Pitch Bend Change
Status 2nd byte 3rd byte
EnH llH mmH
On this instrument, RPN can be used to modify the following parameters.
RPN Data entry
MSB LSB MSB LSB Explanation
00H 00H mmH --- Pitch Bend Sensitivity
mm: 00H-18H (0-24 semitones),
Initial Value = 02H (2 semitones)
ll: ignored (processed as 00h)
specify up to 2 octaves in semitone steps
00H 01H mmH llH Master Fine Tuning
mm, ll: 00 00H - 40 00H - 7F 7FH
(-100 - 0 - +99.99 cents),
Initial Value = 40 00H (0 cent)
ll: ignored (processed as 00h)
specify up to 2 octaves in semitone steps
Refer to 4. Supplementary Material,
“About Tuning”
00H 02H mmH --- Master Coarse Tuning
mm: 28H - 40H - 58H
(-24 - 0 - +24 semitones),
Initial Value = 40H (0 cent)
ll: ignored (processed as 00h)
00H 05H mmH llH Modulation Depth Range
mm: 00H - 04H (0 - 4 semitones)
ll: 00H - 7FH (0 - 100 cents)
100/128 Cent/Value
7FH 7FH --- --- RPN null
Set condition where RPN and NRPN are
unspecied. 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
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 eect is determined by System Exclusive messages. With the initial
settings the eect is Pitch Bend.
4
MIDI Implementation
Channel Mode Messages
All Sounds O (Controller Number 120)
Status 2nd byte 3rd byte
BnH 78H 00H
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 o immediately.
Reset All Controllers (Controller Number 121)
Status 2nd byte 3rd byte
BnH 79H 00H
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.
Controller Reset value
Pitch Bend Change ±0 (Center)
Polyphonic Key Pressure 0 (o)
Channel Pressure 0 (o )
Modulation 0 (o)
Expression 127 (max)
Hold 1 0 (o)
Portamento 0 (o )
Sostenuto 0 (o)
Soft 0 (o )
RPN unset; previously set data will not change
NRPN unset; previously set data will not change
Local Control (Controller Number 122)
Status 2nd byte 3rd byte
BnH 7AH vvH
n = MIDI channel number: 0H-FH (ch.1-ch.16)
vv = Control value: 00H, 7FH (0,127)
00H: Local O
7FH: Local On
OMNI ON (Controller Number 125)
Status 2nd byte 3rd byte
BnH 7DH 00H
n = MIDI channel number: 0H-FH (ch.1-ch.16)
* OMNI ON is only recognized as “All notes o”; the Mode doesn’t change (OMNI OFF
remains).
MONO (Controller Number 126)
Status 2nd byte 3rd byte
BnH 7EH mmH
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 O and All Notes O is
received, and the corresponding channel will be set to Mode 4 (M = 1) regardless of
the value of “mono number.”
POLY (Controller Number 127)
Status 2nd byte 3rd byte
BnH 7FH 00H
n = MIDI channel number: 0H-FH (ch.1-ch.16)
* The same processing will be carried out as when All Sounds O and All Notes O 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 O, All Notes
O and Reset All Controllers are received, and message interval monitoring will be
halted.
All Notes O (Controller Number 123)
Status 2nd byte 3rd byte
BnH 7BH 00H
n = MIDI channel number: 0H-FH (ch.1-ch.16)
* When All Notes O is received, all notes on the corresponding channel will be
turned o.
However if Hold 1 or Sostenuto is ON, the sound will be continued until these are
turned o.
OMNI OFF (Controller Number 124)
Status 2nd byte 3rd byte
BnH 7CH 00H
n = MIDI channel number: 0H-FH (ch.1-ch.16)
* The same processing will be carried out as when All Notes O is received.
5
MIDI Implementation
System Exclusive Message
Status Data byte Status
F0H iiH, 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, Universal Nonrealtime 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
GM1 score.
Status Data byte Status
F0H 7EH, 7FH, 09H, 01H F7H
Byte Explanation
F0H Exclusive status
7EH ID number (Universal Non-realtime Message)
7FH Device ID (Broadcast)
09H Sub ID#1 (General MIDI Message)
01H Sub ID#2 (General MIDI 1 On)
F7H EOX (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.
GM2 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 2). After receiving this message, this
instrument will automatically be set to the proper condition for correctly playing a
GM2 score.
Status Data byte Status
F0H 7EH 7FH 09H 03H F7H
Byte Explanation
F0H Exclusive status
7EH ID number (Universal Non-realtime Message)
7FH Device ID (Broadcast)
09H Sub ID#1 (General MIDI Message)
03H Sub ID#2 (General MIDI 2 On)
F7H EOX (End Of Exclusive)
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.
Status Data byte Status
F0H 41H, 10H, 42H, 12H, 40H, F7H
00H, 7FH, 00H, 41H
Byte Explanation
F0H Exclusive status
41H ID number (Roland)
10H Device ID
(dev: 00H-1FH (1-32), Initial value is 10H (17))
42H Model ID (GS)
12H Command ID (DT1)
40H Address MSB
00H Address
7FH Address LSB
00H Data (GS reset)
41H Checksum
F7H EOX (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.
Universal Realtime System Exclusive Messages
Master Volume
Status Data byte Status
F0H 7FH, 7FH, 04H, 01H, llH, mmH F7H
Byte Explanation
F0H Exclusive status
7FH ID number (universal realtime message)
7FH Device ID (Broadcast)
04H Sub ID#1 (Device Control messages)
01H Sub ID#2 (Master Volume)
llH Master volume lower byte
mmH Master volume upper byte
F7H EOX (End Of Exclusive)
* The lower byte (llH) of Master Volume will be handled as 00H.
Master Fine Tuning
Status Data byte Status
F0H 7FH, 7FH, 04H, 03H, llH, mmH F7H
Byte Explanation
F0H Exclusive status
7FH ID number (Universal Realtime Message)
7FH Device ID (Broadcast)
04H Sub ID#1 (Device Control)
03H Sub ID#2 (Master Fine Tuning)
llH Master Fine Tuning LSB
mmH Master Fine Tuning MSB
F7H EOX (End Of Exclusive)
Parameters of the Global Parameter Control are newly provided for the General MIDI
2.
Reverb Parameters
Status Data byte Status
F0H 7FH, 7FH, 04H, 05H, 01H, 01H, F7H
01H, 01H, 01H, ppH, vvH
Byte Explanation
F0H Exclusive status
7FH ID number (Universal Realtime Message)
7FH Device ID (Broadcast)
04H Sub ID#1 (Device Control)
05H Sub ID#2 (Global Parameter Control)
01H Slot path length
01H Parameter ID width
01H Value width
01H Slot path MSB
01H Slot path LSB (Eect 0101: Reverb)
ppH Parameter to be controlled.
vvH Value for the parameter.
F7H EOX (End Of Exclusive)
pp=0 Reverb Type
vv = 00H Small Room (Room1)
vv = 01H Medium Room (Room2)
vv = 02H Large Room (Room3)
vv = 03H Medium Hall (Hall1)
vv = 04H Large Hall (Hall2)
vv = 08H Plate (Plate)
pp=1 Reverb Time
vv = 00H - 7FH 0 - 127
Chorus Parameters
Status Data byte Status
F0H 7FH, 7FH, 04H, 05H, 01H, 01H, F7H
01H, 01H, 02H, ppH, vvH
Byte Explanation
F0H Exclusive status
7FH ID number (Universal Realtime Message)
7FH Device ID (Broadcast)
04H Sub ID#1 (Device Control)
05H Sub ID#2 (Global Parameter Control)
01H Slot path length
01H Parameter ID width
01H Value width
01H Slot path MSB
02H Slot path LSB (Eect 0102: Chorus)
ppH Parameter to be controlled.
vvH Value for the parameter.
F7H EOX (End Of Exclusive)
Status Data byte Status
F0H 7EH, 7FH, 08H, 08H, H, ggH, F7H
hhH, ssH...
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)
H Channel/Option byte1
bits 0 to 1 = channel 15 to 16
bits 2 to 6 = Undened
ggH Channel byte2
bits 0 to 6 = channel 8 to 14
hhH Channel byte3
bits 0 to 6 = channel 1 to 7
ssH 12 byte tuning oset 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, F7H
kkH, nnH, vvH...
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 - 0FH)
kkH Key Number
nnH Controller Number
vvH Value
F7H EOX (End Of Exclusive)
Universal Non-realtime System Exclusive Messages
Identity Request Message
Status Data byte Status
F0H 7EH, 10H, 06H, 01H F7H
Byte Explanation
F0H Exclusive status
7EH ID number (Universal Non-realtime Message)
10H Device ID
06H Sub ID#1 (General Information)
01H Sub ID#2 (Identity Request)
F7H EOX (End Of Exclusive)
* Device ID = 10H or 7FH
8
MIDI Implementation
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.
Status Data byte Status
F0H 41H, 10H, 42H, 12H, aaH, bbH, F7H
ccH, ddH, ... eeH, sum
Byte Explanation
F0H Exclusive status
41H ID number (Roland)
10H Device ID
42H Model ID (GS)
12H Command ID (DT1)
aaH Address MSB: upper byte of the starting address of
the transmitted data
bbH Address: middle byte of the starting address of the
transmitted data
ccH Address LSB: lower byte of the starting address of
the transmitted data
ddH Data: the actual data to be transmitted. Multiple
bytes of data are transmitted starting from the
address.
: :
eeH 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 can be received only from the specied starting address and size.
Refer to the Address and Size given in Section 3.
* 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 .
2. Transmit Data
Channel Voice Messages
Note O
Status 2nd byte 3rd byte
8nH kkH vvH
n = MIDI channel number: 0H-FH (ch.1-ch.16)
kk = note number: 00H-7FH (0-127)
vv = note o velocity: 00H-7FH (0-127)
Note On
Status 2nd byte 3rd byte
9nH kkH vvH
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)
Status 2nd byte 3rd byte
BnH 00H mmH
BnH 20H llH
n = MIDI channel number: 0H-FH (ch.1-ch.16)
mm, ll = Bank number: 00H, 00H-7FH, 7FH (bank.1-bank.16384)
n = MIDI channel number: 0H-FH (ch.1-ch.16)
vv = Control value: 00H-7FH (0-127)
Sostenuto (Controller Number 66)
Status 2nd byte 3rd byte
BnH 42H vvH
n = MIDI channel number: 0H-FH (ch.1-ch.16)
vv = Control value: 00H, 7FH (0, 127)
0 = OFF, 127 = ON
9
MIDI Implementation
Soft (Controller Number 67)
Status 2nd byte 3rd byte
BnH 43H vvH
n = MIDI channel number: 0H-FH (ch.1-ch.16)
vv = Control value: 00H-7FH (0-127)
Eect 1 (Reverb Send Level) (Controller Number 91)
Status 2nd byte 3rd byte
BnH 5BH vvH
n = MIDI channel number: 0H-FH (ch.1-ch.16)
vv = Control value: 00H-7FH (0-127)
Program Change
Status 2nd byte
CnH ppH
n = MIDI channel number: 0H-FH (ch.1-ch.16)
pp = Program number: 00H-7FH (prog.1-prog.128)
Pitch Bend Change
Status 2nd byte 3rd byte
EnH llH mmH
n = MIDI channel number: 0H - FH (ch.1 - 16)
mm, ll = Pitch Bend value: 00 00H - 40 00H - 7F 7FH
(-8192 - 0 - +8191)
System Realtime Message
Active Sensing
Status
FEH
* This will be transmitted constantly at intervals of approximately 250 ms.
System Exclusive Messages
Identity Reply
Status Data byte Status
F0H 7EH, 10H, 06H, 02H, 41H, 42H, 00H, F7H
00H, 1EH, 07H, 01H, 00H, 00H
Byte Explanation
F0H Exclusive status
7EH ID number (Universal Non-realtime Message)
10H Device ID
(use the same as the device ID of Roland)
06H Sub ID#1 (General Information)
02H Sub ID#2 (Identity Reply)
41H ID number (Roland)
42H Device family code (LSB)
00H Device family code (MSB)
00H Device family number code (LSB)
1EH Device family number code (MSB)
07H Software revision level
01H Software revision level
00H Software revision level
00H Software revision level
F7H EOX (End of Exclusive)
10
MIDI Implementation
3. Parameter Address Map (Model ID = 42H)
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-bits 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.
* Refer to “System Exclusive Messages Related to Mode Settings”.
40 01 10 00 00 10 00-40 VOICE RESERVE Part 10 (Drum Part) 02 2
40 01 11# Part 1 06 6
40 01 12# Part 2 02 2
40 01 13# Part 3 02 2
40 01 14# Part 4 02 2
40 01 15# Part 5 02 2
40 01 16# Part 6 02 2
40 01 17# Part 7 02 2
40 01 18# Part 8 02 2
40 01 19# Part 9 02 2
40 01 1A# Part 11 00 0
11
MIDI Implementation
40 01 :# : : :
40 01 1F# Part 16 00 0
* 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.
* 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
* For details on each type, refer to “5. Eect List.”
* 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 1A 00 00 01 00 - 7F EFX Depth Dr y 100% - EFX 100% 7F
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 specied 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
* The controller numbers are indicated as “CC#” in the following map.
Address (H) Size (H) Data (H) Parameter Description Default Value (H) Description
40 1x 00 00 00 02 00-7F TONE NUMBER CC#00 VALUE 0-127 00 0
40 1x 01# 00-7F P.C. VALUE 1-128 00 1
40 1x 02 00 00 01 00-10 Rx. CHANNEL 1-16, OFF Same as the Part Number
40 1x 03 00 00 01 00-01 Rx. PITCH BEND OFF/ON 01 ON
40 1x 04 00 00 01 00-01 Rx. CH PRESSURE (CAf ) OFF/ON 01 ON
40 1x 05 00 00 01 00-01 Rx. PROGRAM CHANGE OFF/ON 01 ON
40 1x 06 00 00 01 00-01 Rx. CONTROL CHANGE OFF/ON 01 ON
40 1x 07 00 00 01 00-01 Rx. POLY PRESSURE (PAf) OFF/ON 01 ON
40 1x 08 00 00 01 00-01 Rx. NOTE MESSAGE OFF/ON 01 ON
40 1x 09 00 00 01 00-01 Rx. RPN OFF/ON 01 ON
40 1x 0A 00 00 01 00-01 Rx. NRPN OFF/ON 00 (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 15 00 00 01 00-02 USE FOR RHYTHM PART 0 = OFF 00 at x ≠0 OFF at x ≠0
1 = MAP1 01 at x = 0 MAP1 at x ≠0
2 = MAP2
* This parameter sets the Drum Map of the Part used as the Drum Part. This instrument can simultaneously (in dierent 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 specied frequency amount, the pitch at which notes will sound. This parameter diers 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 dierent setting for PITCH OFFSET FINE, are sounded by means of an identical note number, you can obtain a Celeste eect.