n=MIDI channel number: 0H - FH (ch.1 - ch.16)
mm=upper byte of parameter number specified by RPN
ll=lower byte of parameter number specified by RPN
* 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.
On the ep-70/90, RPN can be used to modify the following parameters.
RPNData entry
MSB LSBMSB LSBExplanation
00H 01HmmH llHMaster Fine Tuning
* The same processing will be carried out as when All Notes Off is received.
POLY (Controller number 127)
Status2nd byte3rd byte
BnH7FH00H
n=MIDI channel number: 0H - FH (ch.1 - ch.16)
* The same processing will be carried out as when All Notes Off is received.
* 9-36 are in Dual Play mode.
* Any other program number will be ignored.
* 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.
Channel Mode Messages
Reset All Controllers (Controller number 121)
Status
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
Expression127 (max)
Hold 10 (off)
Sostenuto0 (off)
Soft0 (off)
* When Active Sensing is received, the unit will begin monitoring the intervals of all
further messages. While monitoring, if the interval between messages exceeds 360 ms,
the same processing will be carried out as when All Notes Off and Reset All Controllers
are received, and message interval monitoring will be halted.
System Exclusive Message
Status
F0Hii, ddH, ......,eeHF7H
F0H: System Exclusive Message status
ii = ID number: an ID number (manufacturer ID) to indicate the manufacturer whose
ID numbers 7EH and 7FH are extensions of the MIDI standard;
The System Exclusive Messages received by the ep-70/90 is Universal Non-real time System
Exclusive messages (Identity request).
Data byteStatus
Exclusive message this is. Roland's manufacturer ID is 41H.
Universal Non-real time Messages (7EH) and Universal Realtime
Messages (7FH).
2
Page 3
●
❍
■
●
●
●
❍
❍
❍
❍
❍
❍
●
■
●
■
●
❍
Universal Non-realtime System Exclusive Messages
Identity Request
StatusData byte Status
F0H7EH,dev,06H,01H F7H
ByteExplanation
F0HExclusive status
7EHID number (Universal Non-realtime Message)
devDevice ID (dev:UNIT#-1)
06HSub ID#1 (General Information)
01HSub ID#2 (Identity Request)
F7HEOX (End Of Exclusive)
* When Identity Request is received, Identity Reply message will be transmitted.
* Even if the Device ID is 7FH(Broadcast), Identity Reply message will be transmitted.
* The “dev” is own device number (UNIT#-1) or 7FH (Broadcast).
* UNIT NUMBER is always the same as the current MIDI Tx/Rx channel.
n=MIDI channel number: 0H - FH (ch.1 - ch.16)
mm=upper byte of parameter number specified by RPN (MSB)
ll=lower byte of parameter number specified by RPN (LSB)
** RPN **
ep-70/90 can transmit Master fine tuning (RPN #1) and RPN null. After sending the master
fine tune, immediately the RPN Null shall be sent.
RPNData entry
MSB LSB
00H 01HmmH llHMaster Fine Tuning
* For the correspondence between Program Change numbers and Tones, please refer to
“Program Change” in “1. Receive Data.”
System Realtime Message
Active sensing
Status
FEH
* This will be transmitted constantly at intervals of approximately 210ms.
System exclusive messages
The exclusive message of ep-70/90 data has a model ID of 1AH, and device ID is defined by
MIDI UNIT NUMBER.UNIT NUMBER is always the same as the current MIDI Tx/Rx
channel.
The System Exclusive Messages transmitted by the ep-70/90 is Universal Non-realtime
System Exclusive messages (Identity Reply).
Universal Non-realtime System Exclusive Messages
Identity Reply
Status
Data byteStatus
F0H7EH,dev,06H,02H,41H,1AH,00H,02H,02H,00H,01H,00H,00HF7H (ep-70)
F0H7EH,dev,06H,02H,41H,1AH,00H,02H,02H,01H,01H,00H,00HF7H (ep-90)
Byte
F0HExclusive status
7EHID number (Universal Non-realtime Message)
devDevice ID (dev:UNIT#-1)
06HSub ID#1 (General Information)
02HSub ID#2 (Identity Reply)
41HManufacture's ID (Roland)
1AH,00HDevice family code
02H,02HDevice family number code
00H,01H,00H,00H Software revision level
01H,01H,00H,00H Software revision level
F7HEOX (End Of Exclusive)
* When Identity Request is received, Identity Reply message will be transmitted.
Explanation
3
Page 4
4
●
●
●
3. Supplementary material
Decimal and Hexadecimal table
In MIDI documentation, data values and addresses of exclusive messages etc. are expressed
as hexadecimal values for each 7 bits.
The following table shows how these correspond to decimal numbers.
* Hexadecimal values are indicated by a following “H.”
* 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.
<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 of actual MIDI messages
<Example 1> 91 3E 5F
9n is the Note-on status, and n is the MIDI channel number. Since 1H = 1, 3EH = 62, and
5FH = 95, this is a Note-on message with MIDI CH = 2, note number 62 (note name is D4),
and velocity 95.
<Example 2> C0 07
CnH is the Program Change status, and n is the MIDI channel number. Since 0H = 0 and
07H = 7, this is a Program Change message with MIDI CH = 1, program number 8 (Choir).
<Example 3> B0 64 01 65 00 06 40 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.
In other words, the above messages specify a value of 40 00H (440.0[Hz]) for RPN
parameter number 00 01H (Master Fine Tuning) on MIDI channel 1, and then set the RPN
parameter number to 7F 7FH (RPN null).
Once the parameter number has been specified for RPN, 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 (B0) 64 7F (B0) 65 7F at the end.
About tuning
In MIDI, ep-70/90 is tuned by sending RPN #1 (Master Fine Tuning) to the appropriate
MIDI channel.
RPN #1 allows tuning to be specified in steps of approximately 0.012 cents (to be precise,
100/8192 cent). One cent is 1/100th of a semitone.
The values of RPN #1 (Master Fine Tuning) are added together to determine the actual pitch
sounded.
Frequently used tuning values are given in the following table for your reference. Values
are in hexadecimal (decimal in parentheses).