■
●
●
●
❍
❍
❍
❍
❍
❍
❍
❍
❍
❍
❍
❍
❍
❍
❍
❍
❍
Digital Piano
Model: RD-300GX
MIDI Implementation
1. Receive data
Channel Voice Messages
Note off
Status
8nH kkH vvH
9nH kkH 00H
n = MIDI channel number: 0H - FH (ch.1 - 16)
kk = note number: 00H - 7FH (0 - 127)
vv = note off velocity: 00H - 7FH (0 - 127)
* Some instruments are not received in Rhythm set.
Note on
Status
9nH kkH vvH
n = MIDI channel number: 0H - FH (ch.1 - 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
BnH 00H mmH
BnH 20H llH
n = MIDI channel number: 0H - FH (ch.1 - 16)
mm, ll = Bank number: 00 00H - 7F 7FH (bank.1 - bank.16384)
* The SETUP, Rhythms, and Tones corresponding to each Bank Select are as follows.
BANK SELECT | PROGRAM | GROUP | NUMBER
MSB | LSB | NUMBER | |
-----+---------+-----------+----------------------+---------- 000 | | 001 - 128 | GM Tone |
: | | | |
032 | | 001 - 128 | GM Tone |
085 | 000 | 001 - 032 | SETUP | 001 - 032
086 | 064 | 001 - 005 | Rhythm Set | 001 - 005
087 | 064 | 001 - 012 | Tone (PIANO) | 001 - 012
| 065 | 001 - 020 | Tone (E.PIANO) | 001 - 020
| 066 | 001 - 012 | Tone (ORGAN) | 001 - 012
| 067 | 001 - 021 | Tone (STRINGS/PAD) | 001 - 021
| 068 | 001 - 018 | Tone (GUITAR/BASS) | 001 - 018
| 069 | 001 - 014 | Tone (BRASS/WINDS) | 001 - 014
| 070 | 001 - 013 | Tone (VOICE/SYNTH) | 001 - 013
| : | | : |
120 | | 001 - 057 | GM2 Rhythm | 006 - 014
121 | 000 - | 001 - 128 | GM2 Tone | 015 - 270
Modulation (Controller number 1)
Status
BnH 01H vvH
n = MIDI channel number: 0H - FH (ch.1 - 16)
vv = Modulation depth: 00H - 7FH (0 - 127)
Portamento Time (Controller number 5)
Status
BnH 05H vvH
n = MIDI channel number: 0H - FH (ch.1 - 16)
vv = Portamento Time: 00H - 7FH (0 - 127)
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 - 16)
mm, ll = the value of the parameter specified by RPN/NRPN
mm = MSB, ll = LSB
Volume (Controller number 7)
Status
BnH 07H vvH
n = MIDI channel number: 0H - FH (ch.1 - 16)
vv = Volume: 00H - 7FH (0 - 127)
2nd byte 3rd byte
2nd byte 3rd byte
2nd byte 3rd byte
2nd byte 3rd byte
2nd byte 3rd byte
2nd byte 3rd byte
Date: Feb. 1, 2008
Version: 1.00
Panpot (Controller number 10)
Status
BnH 0AH vvH
n = MIDI channel number: 0H - FH (ch.1 - 16)
vv = Panpot: 00H - 40H - 7FH (Left - Center - Right),
Expression (Controller number 11)
Status
BnH 0BH vvH
n = MIDI channel number: 0H - FH (ch.1 - 16)
vv = Expression: 00H - 7FH (0 - 127)
General Purpose Controller 1 (Controller number 16)
Status
BnH 10H vvH
n = MIDI channel number: 0H - FH (ch.1 - 16)
vv = Control value: 00H - 7FH (0 - 127)
Hold 1 (Controller number 64)
Status
BnH 40H vvH
n = MIDI channel number: 0H - FH (ch.1 - 16)
vv = Control value: 00H - 7FH (0 - 127)
Portamento (Controller number 65)
Status 2nd byte 3rd byte
BnH 41H vvH
n = MIDI channel number: 0H - FH (ch.1 - 16)
vv = Control value: 00H - 7FH (0 - 127) 0 - 63 = OFF, 64 - 127 = ON
Sostenuto (Controller number 66)
Status
BnH 42H vvH
n = MIDI channel number: 0H - FH (ch.1 - 16)
vv = Control value: 00H - 7FH (0 - 127) 0 - 63 = OFF, 64 - 127 = ON
Soft (Controller number 67)
Status
BnH 43H vvH
n = MIDI channel number: 0H - FH (ch.1 - 16)
vv = Control value: 00H - 7FH (0 - 127)
Legato Foot Switch (Controller number 68)
Status 2nd byte 3rd byte
BnH 44H vvH
n = MIDI channel number: 0H - FH (ch.1 - 16)
vv = Control value: 00H - 7FH (0 - 127) 0 - 63 = OFF, 64 - 127 = ON
Resonance (Controller number 71)
Status 2nd byte 3rd byte
BnH 47H vvH
n = MIDI channel number: 0H - FH (ch.1 - 16)
vv= Resonance value (relative change): 00H - 7FH (-64 - 0 - +63)
Release Time (Controller number 72)
Status
BnH 48H vvH
n = MIDI channel number: 0H - FH (ch.1 - 16)
vv = Release Time value (relative change): 00H - 7FH (-64 - 0 - +63)
Attack time (Controller number 73)
Status
BnH 49H vvH
n = MIDI channel number: 0H - FH (ch.1 - 16)
vv = Attack time value (relative change): 00H - 7FH (-64 - 0 - +63),
Cutoff (Controller number 74)
Status 2nd byte 3rd byte
BnH 4AH vvH
n = MIDI channel number: 0H - FH (ch.1 - 16)
vv = Cutoff value (relative change): 00H - 7FH (-64 - 0 - +63)
2nd byte 3rd byte
2nd byte 3rd byte
2nd byte 3rd byte
2nd byte 3rd byte
2nd byte 3rd byte
2nd byte 3rd byte
2nd byte 3rd byte
2nd byte 3rd byte
Copyright © 2008 ROLAND CORPORATION
All rights reserved. No part of this publication may be reproduced in any form without the written permission of ROLAND CORPORATION.
1
❍
❍
❍
❍
❍
❍
❍
❍
●
●
■
●
●
●
MIDI Implementation
Decay Time (Controller number 75)
Status
BnH 4BH vvH
n = MIDI channel number: 0H - FH (ch.1 - 16)
vv = Decay Time value (relative change): 00H - 7FH (-64 - 0 - +63)
2nd byte 3rd byte
Vibrato Rate (Controller number 76)
Status
BnH 4CH vvH
n = MIDI channel number: 0H - FH (ch.1 - 16)
vv = Vibrato Rate value (relative change): 00H - 7FH (-64 - 0 - +63)
2nd byte 3rd byte
Vibrato Depth (Controller number 77)
Status
BnH 4DH vvH
n = MIDI channel number: 0H - FH (ch.1 - 16)
vv = Vibrato Depth Value (relative change):00H - 7FH (-64 - 0 - +63)
2nd byte 3rd byte
Vibrato Delay (Controller number 78)
Status
BnH 4EH vvH
n = MIDI channel number: 0H - FH (ch.1 - 16)
vv = Vibrato Delay value (relative change):00H - 7FH (-64 - 0 - +63)
2nd byte 3rd byte
Portamento Control (Controller number 84)
Status 2nd byte 3rd byte
BnH 54H kkH
n = MIDI channel number: 0H - FH (ch.1 - 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.
Effect 1 (Reverb Send Level) (Controller number 91)
Status
BnH 5BH vvH
n = MIDI channel number: 0H - FH (ch.1 - 16)
vv = Reverb Send Level: 00H - 7FH (0 - 127)
2nd byte 3rd byte
Effect 3 (Chorus Send Level) (Controller number 93)
Status
BnH 5DH vvH
n = MIDI channel number: 0H - FH (ch.1 - 16)
vv = Chorus Send Level: 00H - 7FH (0 - 127)
2nd byte 3rd byte
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 - 16)
mm = upper byte (MSB) of parameter number specified by RPN
ll = lower byte (LSB) of parameter number specified by RPN
<<< RPN >>>
Control Changes include RPN (Registered Parameter Numbers), which are extended.
When using RPNs, first RPN (Controller numbers 100 and 101; they can be sent in any
order) should be sent in order to select the parameter, then Data Entry (Controller numbers
6 and 38) should be sent to set the value. Once RPN messages are received, Data Entry
messages that is received at the same MIDI channel after that are recognized as changing
toward the value of the RPN messages. In order not to make any mistakes, transmitting
RPN Null is recommended after setting parameters you need.
This device receives the following RPNs.
RPN Data entry
MSB, LSB MSB, LSB Notes
00H, 00H mmH, llH Pitch Bend Sensitivity
mm: 00H - 18H (0 - 24 semitones)
ll: ignored (processed as 00H)
Up to 2 octave can be specified in semitone steps.
* The Bend Range parameter (Tone Info: Bend Range) will
change.
00H, 01H mmH, llH Channel Fine Tuning
00H, 02H mmH, llH Channel Coarse Tuning
00H, 05H mmH, llH Modulation Depth Range
7FH, 7FH ---, --- RPN null
mm, ll: 20 00H - 40 00H - 60 00H
(-4096 x 100 / 8192 - 0 - +4096 x 100 / 8192 cent)
* The Fine Tune parameter (Tone Parameter: Fine Tune)
will change.
mm: 10H - 40H - 70H (-48 - 0 - +48 semitones)
ll: ignored (processed as 00H)
* The Coarse Tune parameter (Tone Parameter: Coarse
Tune) will change.
mm, ll: 00 00H - 06 00H ( 0 - 16384 x 600 / 16384 cent)
RPN and NRPN will be set as “unspecified.” Once this
setting has been made, subsequent Parameter values that
were previously set will not change.
mm, ll: ignored
Program Change
Status 2nd byte
CnH ppH
n = MIDI channel number: 0H - FH (ch.1 - 16)
pp = Program number: 00H - 7FH (prog.1 - prog.128)
Pitch Bend Change
Status
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)
2nd byte 3rd byte
Channel Mode Messages
All Sounds Off (Controller number 120)
Status
BnH 78H 00H
n = MIDI channel number: 0H - FH (ch.1 - 16)
* When this message is received, all notes currently sounding on the corresponding
channel will be turned off.
Reset All Controllers (Controller number 121)
Status 2nd byte 3rd byte
BnH 79H 00H
n = MIDI channel number: 0H - FH (ch.1 - 16)
* When this message is received, the following controllers will be set to their reset values.
Controller Reset value
Pitch Bend Change ±0 (center)
Channel Pressure 0 (off)
Modulation 0 (off)
Breath Type 0 (min)
Expression 127 (max)
Hold 1 0 (off)
Sostenuto 0 (off)
Soft 0 (off)
Hold 2 0 (off)
RPN unset; previously set data will not change
NRPN unset; previously set data will not change
All Notes Off (Controller number 123)
Status
BnH 7BH 00H
n = MIDI channel number: 0H - FH (ch.1 - 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.
2nd byte 3rd byte
2nd byte 3rd byte
2
●
●
●
●
■
●
■
●
❍
❍
❍
❍
●
❍
❍
MIDI Implementation
OMNI OFF (Controller number 124)
Status
BnH 7CH 00H
n = MIDI channel number: 0H - FH (ch.1 - 16)
* The same processing will be carried out as when All Notes Off is received.
2nd byte 3rd byte
OMNI ON (Controller number 125)
Status 2nd byte 3rd byte
BnH 7DH 00H
n = MIDI channel number: 0H - FH (ch.1 - 16)
* The same processing will be carried out as when All Notes Off is received. OMNI ON
will not be turned on.
MONO (Controller number 126)
Status
BnH 7EH mmH
n = MIDI channel number: 0H - FH (ch.1 - 16)
mm = mono number: 00H - 10H (0 - 16)
* The same processing will be carried out as when All Notes Off is received.
2nd byte 3rd byte
POLY (Controller number 127)
Status
BnH 7FH 00H
n = MIDI channel number: 0H - FH (ch.1 - 16)
* The same processing will be carried out as when All Notes Off is received.
2nd byte 3rd byte
System Realtime Message
Active Sensing
Status
FEH
GM1 System On
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)
Data byte Status
GM2 System On
Status Data byte Status
F0H 7EH 7FH 09H 03H F7H
Byte
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)
Explanation
GM System Off
Status
F0H 7EH, 7F, 09H, 02H F7H
Byte Explanation
F0H Exclusive status
7EH ID number (Universal Non-realtime Message)
7FH Device ID (Broadcast)
09H Sub ID#1 (General MIDI Message)
02H Sub ID#2 (General MIDI Off)
F7H EOX (End Of Exclusive)
Data byte Status
* 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
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
dd,...,ee = data: 00H - 7FH (0 - 127)
F7H: EOX (End Of Exclusive)
Of the System Exclusive messages received by this device, the Universal Non-realtime
messages and the Universal Realtime messages and the Data Request (RQ1) messages and
the Data Set (DT1) messages will be set automatically.
Universal Non-realtime System Exclusive Messages
Identity Request Message
Status
F0H 7EH, dev, 06H, 01H F7H
Byte Explanation
F0H Exclusive status
7EH ID number (Universal Non-realtime Message)
dev Device ID (dev: 10H - 1FH (1 - 32), the initial value is 10H (17))
06H Sub ID#1 (General Information)
01H Sub ID#2 (Identity Request)
F7H EOX (End Of Exclusive)
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).
Data byte Status
Universal Realtime System Exclusive Messages
Master Volume
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)
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.
* The Master Volume parameter (EDIT: System: Master Volume) will change.
Master Fine Tuning
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)
mm, ll: 00 00H - 40 00H - 7F 7FH (-100 - 0 - +99.9 [cents])
Data byte Status
Data byte Status
* When this message is received, Identity Reply message (p. 6) will be transmitted.
3
❍
●
❍
❍
❍
❍
❍
MIDI Implementation
Master Coarse Tuning
Status
F0H 7FH, 7FH, 04H, 04H, llH, mmH F7H
Byte
F0H Exclusive status
7FH ID number (universal realtime message)
7FH Device ID (Broadcast)
04H Sub ID#1 (Device Control)
04H Sub ID#2 (Master Coarse Tuning)
llH Master Coarse Tuning LSB
mmH Master Coarse Tuning MSB
F7H EOX (End Of Exclusive)
ll: ignored (processed as 00H)
mm: 28H - 40H - 58H (-24 - 0 - +24 [semitones])
Data byte Status
Explanation
Global Parameter Control
Reverb Parameters
Status
F0H 7FH, 7FH, 04H, 05H, 01H, 01H, F7H
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 (Effect 0101: Reverb)
ppH Parameter to be controlled.
vvH Value for the parameter.
F7H EOX (End Of Exclusive)
Chorus Parameters
Status
F0H 7FH, 7FH, 04H, 05H, 01H, 01H, F7H
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 (Effect 0102: Chorus)
ppH Parameter to be controlled.
vvH Value for the parameter.
F7H EOX (End Of Exclusive)
Data byte Status
01H, 01H, 01H, ppH, vvH
pp=0 Reverb Type
vv = 00H Small Room
vv = 01H Medium Room
vv = 02H Large Room
vv = 03H Medium Hall
vv = 04H Large Hall
vv = 08H Plate
pp=1 Reverb Time
vv = 00H - 7FH 0 - 127
Data byte Status
01H, 01H, 02H, ppH, vvH
pp=0 Chorus Type
vv=0 Chorus1
vv=1 Chorus2
vv=2 Chorus3
vv=3 Chorus4
vv=4 FB Chorus
vv=5 Flanger
pp=1 Mod Rate
vv= 00H - 7FH 0 - 127
pp=2 Mod Depth
vv = 00H - 7FH 0 - 127
pp=3 Feedback
vv = 00H - 7FH 0 - 127
pp=4 Send To Reverb
vv = 00H - 7FH 0 - 127
Channel Pressure
Status
F0H 7FH, 7FH, 09H, 01H, 0nH, ppH, rrH F7H
Byte
F0H Exclusive status
7FH ID number (universal realtime message)
7FH Device ID (Broadcast)
09H Sub ID#1 (Controller Destination Setting)
01H Sub ID#2 (Channel Pressure)
0nH MIDI Channel (00 - 0F)
ppH Controlled parameter
rrH Controlled range
F7H EOX (End Of Exclusive)
Data byte Status
Explanation
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%
Controller
Status
F0H 7FH, 7FH, 09H, 03H, 0nH, ccH, ppH, rrH F7H
Byte
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
F7H EOX (End Of Exclusive)
Data byte Status
Explanation
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%
Scale/Octave Tuning Adjust
Status Data byte Status
F0H 7EH, 7FH, 08H, 08H, ffH, ggH, hhH, ssH... F7H
Byte
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
ggH Channel byte 2
hhH Channel byte 3
ssH 12 byte tuning offset of 12 semitones from C to B
F7H EOX (End Of Exclusive)
Explanation
bits 0 to 1 = channel 15 to 16
bit 2 to 6 = Undefined
bits 0 to 6 = channel 8 to 14
bits 0 to 6 = channel 1 to 7
00H = -64 [cents]
40H = 0 [cents] (equal temperament)
7FH = +63 [cents]
4