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)
* The velocity values of Note Off messages are ignored.
●Note on
Status2nd byte3rd 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)
* Note numbers outside the range of 15-113 are transposed to the nearest octave within
this range.
* Transpose function does not affect the recognized note numbers.
●Control Change
* The value specified by a Control Change message will not be reset even by a Program
Change, etc.
❍Data Entry (Controller number 6, 38)
Status2nd byte3rd byte
BnH06HmmH
BnH26HllH
n = MIDI channel number : 0H-FH (ch.1-ch.16)
mm, ll = the value of the parameter specified by RPN
❍Volume (Controller number 7)
Status2nd byte3rd byte
BnH07HvvH
n = MIDI channel number : 0H-FH (ch.1-ch.16)
vv = Volume: 00H-7FH (0-127), Initial Value = 7FH (127)
* Received volume messages affect received note event levels, and cannot affect
internal keyboard notes.
❍Expression (Controller number 11)
Status2nd byte3rd byte
BnH0BHvvH
n = MIDI channel number : 0H-FH (ch.1-ch.16)
vv = Expression : 00H-7FH (0-127), Initial Value = 7FH (127)
* These message can affect only MIDI notes.
❍Hold 1 (Controller number 64)
Status2nd byte3rd byte
BnH40HvvH
n = MIDI channel number : 0H-FH (ch.1-ch.16)
vv = Control value : 00H-7FH (0-127) 0-63 = OFF, 64-127 = ON
* These message can affect only MIDI notes.
❍Sostenuto (Controller number 66)
Status2nd byte3rd byte
BnH42HvvH
* These message can affect only MIDI notes.
n=MIDI channel number: 0H-FH (ch.1-ch.16)
vv=Control value: 00H-7FH (0-127) 0-63 = OFF 64-127 = ON
* These message can affect only MIDI notes.
❍Soft (Controller number 67)
Status2nd byte3rd 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
* These message can affect only MIDI notes.
❍Effect 1 (Reverb Send Level) (Controller number 91)
Status2nd byte3rd byte
BnH5BHvvH
n=MIDI channel number: 0H-FH (ch.1-ch.16)
vv=Control value: 00H-7FH (0-127) 0-63 = OFF 64-127 = ON
❍Effect 3 (Chorus Send Level) (Controller number 93)
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 HP-237, RPN can be used to modify the following parameters.
RPNData entry
MSB LSBMSB LSBExplanation
00H 01HmmH llHMaster Fine Tuning
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
n = MIDI channel number: 0H-FH (ch.1-ch.16)
pp = Program number: 00H..2CH (prog.1..prog.45)
Received program change message are assigned as follows.
prog.tone
1Piano 1
2Piano 2
3-- 4Harpsichord
5Vibraphone
6Electric Piano 1
7Electric Piano 2
8Pipe Organ
9Strings
10Piano1 + Piano2
11Piano1 + Harpsichord
12Piano1 + Vibraphone
13Piano1 + Electric Piano1
14Piano1 + Electric Piano2
15Piano1 + Pipe Organ
16Piano1 + Strings
17Piano2 + Harpsichord
18Piano2 + Vibraphone
19Piano2 + Electric Piano1
20Piano2 + Electric Piano2
21Piano2 + Pipe Organ
22Piano2 + Strings
23Harpsichord + Vibraphone
24Harpsichord + Electric Piano1
25Harpsichord + Electric Piano2
26Harpsichord + Pipe Organ
27Harpsichord + Strings
28Vibraphone + Electric Piano1
29Vibraphone + Electric Piano2
30Vibraphone + Pipe Organ
31Vibraphone + Strings
32Electric Piano1 + Electric Piano2
33Electric Piano1 + Pipe Organ
34Electric Piano1 + Strings
35Electric Piano2 + Pipe Organ
36Electric Piano2 + Strings
37Pipe Organ + Strings
38Piano1 + Acoustic Bass
39Piano2 + Acoustic Bass
40Harpsichord + Strings
41Vibraphone + Acoustic Bass
42Electric Piano1 + Acoustic Bass
43Electric Piano2 + Acoustic Bass
44Harpsichord + Pipe Organ
45Piano1 + Strings
* 10-37 are in Dual Play mode.
* 38-45 are in Split Play mode.
* Any Program Number other than those listed above that are received by the HP-237 are
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)
Status2nd byte3rd byte
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 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 byte
BnH7CH00H
n = MIDI channel number : 0H-FH (ch.1-ch.16)
* The instrument will behave in the same way as it does when an "All Notes Off" message
is received. The mode will be OMNI OFF, POLY(Mode 3).
●OMNI ON (Controller number 125)
Status2nd byte3rd byte
BnH7DH00H
n = MIDI channel number : 0H-FH (ch.1-ch.16)
* The instrument will behave in the same way as it does when an "All Notes Off" message
is received. The mode will be OMNI ON, POLY(Mode 1).
●MONO (Controller number 126)
Status2nd byte3rd byte
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 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.
2
■System Realtime Message
2. Transmit Data
●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 360 msec,
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
StatusData byteStatus
F0HiiH, ddH, ......,eeHF7H
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-237 are; Universal Non-realtime System
Exclusive messages, and Data Set (DT1).
●Universal Non-realtime System Exclusive Messages
❍Identity Request Message
StatusData byteStatus
F0H7FH, dev, 06H, 01H F7H
ByteExplanation
FOHExclusive status
7FHID 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# is always the same as the current MIDI Tx/Rx channel.
●Data transmission
HP-237 can transmit and receive the various parameters using System Exclusive messages.
The exclusive message of HP-237 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.
❍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)
devDevice ID (dev: UNIT#-1)
1AHModel ID (HP-237)
12HCommand ID (DT1)
aaHAddress MSB: upper byte of the starting address of the transmitted data
bbHAddress LSB: lower byte of the starting address of the transmitted data
ddHData: the actual data to be transmitted.
sumChecksum
F7HEOX (End Of Exclusive)
* If "Data Set 1" is transmitted successively, there must be an interval of at least 40 msec
between packets.
* Regarding the address please refer to section 3 (Parameter Address Map).
* Regarding the checksum please refer to section 4 (Supplementary material).
■Channel Voice Messages
●Note off
Status2nd byte3rd byte
8nHkkH40H
n = MIDI channel number : 0H-FH (ch.1-ch.16)
kk = note number: 0FH-71H (15-113)
●Note on
Status2nd byte3rd byte
9nHkkHvvH
n = MIDI channel number : 0H-FH (ch.1-ch.16)
kk = note number: 0FH-71H (15-113)
vv = note on velocity : 01H-7FH (1-127)
* Note number's range can be changed with Key Transpose and Octave Shift.
●Control Change
* The value specified by a Control Change message will not be reset even by a Program
Change, etc.
❍Data Entry (Controller number 6, 38)
Status2nd byte3rd byte
BnH06HmmH
BnH26HllH
n = MIDI channel number : 0H-FH (ch.1-ch.16)
mm, ll = the value of the parameter specified by RPN
* Data Entry is sent through the basic channel.
❍Hold 1 (Controller number 64)
Status2nd byte3rd byte
BnH40HvvH
n = MIDI channel number : 0H-FH (ch.1-ch.16)
vv = Control value : 00H,7FH (0, 127) 0 = OFF, 127 = ON
❍Sostenuto (Controller number 66)
Status2nd byte3rd byte
BnH42HvvH
n = MIDI channel number : 0H-FH (ch.1-ch.16)
vv = Control value : 00H,7FH (0, 127) 0 = OFF, 127 = ON
❍Soft (Controller number 67)
Status2nd byte3rd byte
BnH43HvvH
n=MIDI channel number : 0H-FH (ch.1 - ch.16)
vv=Control value: 00H,7FH (0, 127) 0 = OFF, 127 = ON
❍Effect 1 (Reverb Send Level) (Controller number 91)
n = MIDI channel number : 0H-FH (ch.1-ch.16)
pp = Program number: 00H..2CH (prog.1..prog.45)
* 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 210 msec.
■System exclusive messages
"Identity Reply" and "Data Set 1 (DT1)" are the only System Exclusive messages
transmitted by HP-237.
The exclusive message of HP-237 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.
●Universal Non-realtime System Exclusive Messages
❍Identity Reply
Status Data byte Status
F0H7EH, dev, 06H, 02H, 41H, 1AH, 00H, 03H, 02H, 00H, 01H, 00H, 00H, F7H
ByteExplanation
FOHExclusive status
7EHID number (universal non-realtime message)
devDevice ID (dev: UNIT#-1)
06HSub ID#1 (General Information)
02HSub ID#2 (Identity Reply)
41HID number (Roland)
1AHDevice family code (LSB)
00HDevice family code (MSB)
03HDevice family number code (LSB)
02HDevice family number code (MSB)
00H 01H 00H 00H Software revision level
F7HEOX (End of Exclusive)
* When Identity Request is received, Identity Reply message will be transmitted.
ByteExplanation
F0HExclusive status
41HID number (Roland)
devDevice ID (dev: UNIT#-1)
1AHModel ID (HP-237)
12HCommand ID (DT1)
aaHAddress MSB: upper byte of the starting address of the data to be sent
bbHAddress LSB: lower byte of the starting address of the data to be sent.
ddHData: the actual data to be sent.
sumChecksum
F7HEOX (End Of Exclusive)
* Regarding the address please refer to section 3 (Parameter Address Map).
* Regarding the checksum please refer to section 4 (Supplementary material).
3. Parameter Address Map (Model ID =
1AH)
All the numbers of address, size, Data, and Default Value are indicated in 7-bit
Hexadecimal-form.
* When EQUAL temperament tuning is selected, the key signature change is ignored.
+————————————————————————————————————+
| key signature (kkkk) |
+——————————————————+————————————————————————————————————|
|temperament select|C C# D D# E F F# G G# A A# B |
| (ttt) |(0)(1)(2)(3)(4)(5)(6)(7)(8)(9)(A)(B)|
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 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
●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 08
CnH is the Program Change status, and n is the MIDI channel number. Since EH = 14 and
08H = 08, this is a Program Change message with MIDI CH = 15, program number 08
(Strings in HP-237).
<Example 3> B3 64 00 65 01 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.
●Example of an Exclusive message and calculating a
Checksum
Roland Exclusive messages (DT1) 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 of the transmitted exclusive message.
❍How 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 and the data
or size is ccH.
aa + bb + cc = sum
sum / 128 = quotient ... remainder
128 - remainder = checksum
<Example> Set "Reverb Type" to "Type 4"
According to the Parameter Address Map, the Address of Reverb Type is 01 03H, and the
Value corresponding to Type 4 is 30H.
So, the message should be :
Therefore, the message to send is : F0 41 00 1A 12 01 03 30 4C F7
●About tuning
HP-237 is tuned by sending RPN #1 (Master Fine Tuning) to the appropriate MIDI Rx
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 semi-tone.
Frequently used tuning values are given in the following table for your reference.
Values are in hexadecimal (decimal in parentheses).
<Example> Set the tuning of HP-237 to A4 = 442.0 Hz
Send RPN#1 to basic channel. From the above table, the value is 45 03H.
If the MIDI Tx/Rx channel is set to ch.1, below is the message we transmit.
In other words, the above messages specify a value of 40 00H for RPN parameter number
00 01H (Master Fine Tuning) on MIDI channel 4, 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 (B3) 64 7F (B3) 65 7F at the end.
5
Loading...
+ hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.