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)
❍Sostenuto (Controller number 66)
Status2nd bytes3rd byte
BnH42HvvH
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)
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.
❍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.
❍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.
❍Vibrato Depth (Controller number 77)
Status2nd byte3rd byte
BnH4DHvvH
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.
❍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
❍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. 13). 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 the HP-337, 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. 13).
On the HP-337, 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
●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 the HP-337 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 HP-337, 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, the HP-337 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 the HP-337 from the
GM state to its native condition. The HP-337 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, the HP-337 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)