Roland HP107 Service Manual

Page 1
HP107
MIDI IMPLEMENTATION
Version 1.00 Date:June10, 2004
1. Receive data
Channel Voice Messages
Note off
Status 2nd byte 3rd byte
8nH kkH vvH
9nH kkH 00H
kk = note number: 00H-7FH (0-127)
vv = note off velocity: 00H-7FH (0-127)
Note on
Status 2nd bytes 3rd byte
9nH kkH vvH
kk = note number: 00H-7FH (0-127)
vv = note on velocity: 01H-7FH (1-127)
Control Change
* The value specified by a Control Change message will not be reset even by a Program
Change, etc.
Bank Select (Controller number 0, 32)
Status 2nd bytes 3rd byte
BnH 00H mmH
BnH 20H llH
mm, ll = Bank number: 00H, 00H-7FH, 7FH (bank.1-bank.16384)
* Bank Select processing will be suspended until a Program Change message is received.
Modulation (Controller number 1)
Status 2nd bytes 3rd byte
BnH 01H vvH
vv = Modulation depth: 00H-7FH (0-127)
Portamento Time (Controller number 5)
Status 2nd bytes 3rd byte
BnH 05H vvH
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 bytes 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 specified by RPN
mm = MSB, ll = LSB
Volume (Controller number 7)
Status 2nd bytes 3rd byte
BnH 07H vvH
vv = Volume: 00H-7FH (0-127), Initial Value = 7FH (127)
Panpot (Controller number 10)
Status 2nd bytes 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)
Expression (Controller number 11)
Status 2nd bytes 3rd byte
BnH 0BH vvH
vv = Expression: 00H-7FH (0-127), Initial Value = 7FH (127)
Hold 1 (Controller number 64)
Status 2nd bytes 3rd byte
BnH 40H vvH
vv = Control value: 00H-7FH (0-127)
Portamento (Controller number 65)
Status 2nd bytes 3rd byte
BnH 41H vvH
vv = Control value: 00H-7FH (0-127) 0-63 = OFF, 64-127 = ON
Sostenuto (Controller number 66)
Status 2nd bytes 3rd byte
BnH 42H vvH
vv = Control value: 00H-7FH (0-127) 0-63 = OFF, 64-127 = ON
Soft (Controller number 67)
Status 2nd bytes 3rd byte
BnH 43H vvH
vv = Control value: 00H-7FH (0-127) 0-63 = OFF, 64-127 = ON
* Some Tones will not exhibit any change.
Portamento control (Controller number 84)
Status 2nd bytes 3rd byte
BnH 54H kkH
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 Control from C4 no change (C4 voice still
sounding)
90 40 40 Note on E4 glide from C4 to E4
80 3C 40 Note off C4 no change
80 40 40 Note off E4 E4 off
Example 2.
On MIDI Description Result
B0 54 3C Portamento Control from C4 no change
90 40 40 Note on E4 E4 is played with glide
from C4 to E4
80 40 40 Note off E4 E4 off
Effect 1 (Reverb Send Level) (Controller number 91)
Status 2nd bytes 3rd byte
BnH 5BH vvH
vv = Control value: 00H-7FH (0-127), Initial Value = 00H (0)
* Some Tones are not capable of being panned all the way to the left or right.
Copyright © 2004 ROLAND CORPORATION
All rights reserved. No part of this publication may be reproduced in any form without the written permission of ROLAND CORPORATION.
1
Page 2
Version 1.00 Date:June10, 2004
Effect 3 (Chorus Send Level) (Controller number 93)
Status 2nd bytes 3rd byte
BnH 5DH vvH
vv = Control value: 00H-7FH (0-127), Initial Value = 00H (0)
RPN MSB/LSB (Controller number 100, 101)
Status 2nd bytes 3rd byte
BnH 65H mmH
BnH 64H llH
mm = upper byte (MSB) of parameter number specified by RPN
ll = lower byte (LSB) 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.Refer to “4. Examples of actual MIDI messages”
<Example 4>.
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: F00H-18H (0-24 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)
Refer to 4. Supplementary material,
“About tuning” (p. 6)
00H 02H mmH --- Master Coarse Tuning
mm: 28H - 40H - 58H (-24 - 0 - +24 semitones)
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
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
Channel Mode Messages
All Sounds Off (Controller number 120)
Status 2nd byte 3rd bytes
BnH 78H 00H
*When this message is received, all currently-sounding notes on the corresponding
channel will be turned off immediately.
Reset All Controllers (Controller number 121)
Status 2nd byte 3rd bytes
BnH 79H 00H
*When this message is received, the following controllers will be set to their reset values.
Controller Reset value
Pitch Bend Change ±0 (Center)
Modulation 0 (off)
Expression 127 (max)
Hold 1 0 (off)
Portamento 0 (off)
Sostenuto 0 (off)
Soft 0 (off)
RPN unset; previously set data will not change
Local Control (Controller number 122)
Status 2nd byte 3rd bytes
BnH 7AH vvH
vv = Control value: 00H, 7FH (0,127)
00H: Local Off
7FH: Local On
All Notes Off (Controller number 123)
Status 2nd byte 3rd bytes
BnH 7BH 00H
*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)
Status 2nd byte 3rd bytes
BnH 7CH 00H
* The same processing will be carried out as when All Notes Off is received. *1
Program Change
Status 2nd bytes
CnH ppH
pp = Program number: 00H-64H (prog.1-prog.101)
* 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.
Pitch Bend Change
Status 2nd byte 3rd bytes
EnH llH mmH
mm, ll = Pitch Bend value: 00 00H - 40 00H - 7F 7FH (-8192 - 0 - +8191)
OMNI ON (Controller number 125)
Status 2nd byte 3rd bytes
BnH 7DH 00H
* The same processing will be carried out as when All Notes Off is received. *1
MONO (Controller number 126)
Status 2nd byte 3rd bytes
BnH 7EH mmH
mm = mono number: 00H-10H (0-16)
* The same processing will be carried out as when All Notes Off is received. *1
2
Page 3
Version 1.00 Date:June10, 2004
POLY (Controller number 127)
Status 2nd byte 3rd bytes
BnH 7FH 00H
* The same processing will be carried out as when All Notes Off is received. *1
Note:
*1 The Mode doesn’t change (OMNI OFF, POLY remains).
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
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)
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)
* Regarding the Address please refer to “Parameter Address Map (Model ID = 00H 7EH)”
(p. 5).
* 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 “Supplementary material” (p. 5).
The System Exclusive Messages received by this instrument are; Universal Non-realtime
System Exclusive messages and Data Set (DT1).
Universal Non-realtime System Exclusive Messages
Identity Request Message
Status Data byte Status
F0H 7FH, 10H, 06H, 01H F7H
Byte
F0H Exclusive status
7FH ID number (universal 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
Explanation
Data transmission
This instrument can receive parameters using System Exclusive messages.
The exclusive message of HP107 data has a model ID of 00 7EH and a device ID of 10H (17).
Data set 1DT1
This is the message that actually performs data transmission, and is used when you wish to
transmit the data.
Status
F0H 41H, 10H, 00H, 7EH, 12H, aaH, bbH, ccH, ddH, ... eeH, sum F7H
Byte Explanation
F0H Exclusive status
41H ID number (Roland)
10H Device ID
00H Model ID
7EH Model ID (HP107)
12H Command ID (DT1)
aaH Address MSB: upper byte of the starting address of the transmitted
Data byte Status
data
3
Page 4
Version 1.00 Date:June10, 2004
2. Transmit data
Channel Voice Messages
Note off
Status 2nd byte 3rd byte
8nH kkH vvH
kk = note number: 00H-7FH (0-127)
vv = note off velocity: 00H-7FH (0-127)
Note on
Status 2nd bytes 3rd byte
9nH kkH vvH
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 bytes 3rd byte
BnH 00H mmH
BnH 20H llH
mm, ll = Bank number: 00H, 00H-7FH, 7FH (bank.1-bank.16384)
Volume (Controller number 7)
Status 2nd bytes 3rd byte
BnH 07H vvH
vv = Volume: 00H-7FH (0-127)
Expression (Controller number 11)
Status 2nd bytes 3rd byte
BnH 0BH vvH
vv = Expression: 00H-7FH (0-127)
Program Change
Status 2nd bytes
CnH ppH
pp = Program number: 00H-64H (prog.1-prog.101)
System Realtime Message
Active sensing
Status
FEH
* This will be transmitted constantly at intervals of approximately 250 ms.
System exclusive messages
Universal Non-realtime System Exclusive Messages
Identity Reply
Status Data byte Status
F0H 7EH, 10H, 06H, 02H, 41H, 7EH, 01H, 00H, 00H, F7H
F0H 00H, 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)
7EH Device family code (LSB)
01H Device family code (MSB)
00H Device family number code (LSB)
00H Device family number code (MSB)
00H Software revision level
01H Software revision level
00H Software revision level
00H Software revision level
F7H EOX (End of Exclusive)
*When Identity Request is received, Identity Reply message will be transmitted.
Hold 1 (Controller number 64)
Status 2nd bytes 3rd byte
BnH 40H vvH
vv = Control value: 00H-7FH (0-127)
Sostenuto (Controller number 66)
Status 2nd bytes 3rd byte
BnH 42H vvH
vv = Control value: 00H-7FH (0-127) 0-63 = OFF, 64-127 = ON
Soft (Controller number 67)
Status 2nd bytes 3rd byte
BnH 43H vvH
vv = Control value: 00H-7FH (0-127)
Effect 1 (Reverb Send Level) (Controller number 91)
Status 2nd bytes 3rd byte
BnH 5BH vvH
vv = Control value: 00H-7FH (0-127)
Effect 3 (Chorus Send Level) (Controller number 93)
Status 2nd bytes 3rd byte
BnH 5DH vvH
vv = Control value: 00H-7FH (0-127)
Data transmission
This instrument can receive parameters using System Exclusive messages.
The exclusive message of HP107 data has a model ID of 00 7EH and a device ID of 10H (17).
Data set 1DT1
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, 00H, 7EH, 12H, aaH, bbH, ccH, ddH, ... eeH, sum F7H
Byte Explanation
F0H Exclusive status
41H ID number (Roland)
10H Device ID
00H Model ID
7EH Model ID (HP107)
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)
* Regarding the Address please refer to “Parameter Address Map (Model ID = 00H 7EH)”
(p. 5).
* Regarding the checksum please refer to “Supplementary material” (p. 5).
4
Page 5
Version 1.00 Date:June10, 2004
3. Parameter Address Map (Model ID = 00H 7EH)
This instrument has 16 parts: each channel is 1-16.
If you use exclusive messages to set parameters, specify the address by Block number.
The relation between Part number and Block number is as follows.
x...BLOCK NUMBER (0-F), Part 1 (MIDI ch = 1) x = 1
All the numbers of address, size, and Data are indicated in 7-bit Hexadecimal-form.
Addresses marked at “#” cannot be used as starting addresses.
Part Parameters
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 specified 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
Address (H)
40 1x 40 00 00 0C 00-7F SCALE
40 1x 41# 00-7F SCALE
40 1x 42# 00-7F SCALE
40 1x 43# 00-7F SCALE
40 1x 44# 00-7F SCALE
40 1x 45# 00-7F SCALE
40 1x 46# 00-7F SCALE
40 1x 47# 00-7F SCALE
40 1x 48# 00-7F SCALE
40 1x 49# 00-7F SCALE
40 1x 4A# 00-7F SCALE
40 1x 4B# 00-7F SCALE
* SCALE TUNING is a function that allows fine adjustment to the pitch of each note in the
Size (H) Data
octave. The pitch of each identically-named note in all octaves will change
simultaneously. A setting of +/- 0 cent (40H) is equal temperament. Refer to
“Supplementary material” (p. 5).
4. Supplementary material, “The Scale Tune Feature”(p. 6).
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
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
Parameter Description Default
(H)
TUNING C
TUNING C#
TUNING D
TUNING D#
TUNING E
TUNING F
TUNING F#
TUNING G
TUNING G#
TUNING A
TUNING A#
TUNING B
-64 - +63 [cent]
-64 - +63 [cent]
-64 - +63 [cent]
-64 - +63 [cent]
-64 - +63 [cent]
-64 - +63 [cent]
-64 - +63 [cent]
-64 - +63 [cent]
-64 - +63 [cent]
-64 - +63 [cent]
-64 - +63 [cent]
-64 - +63 [cent]
Value (H)
40 0 [cent]
40 0 [cent]
40 0 [cent]
40 0 [cent]
40 0 [cent]
40 0 [cent]
40 0 [cent]
40 0 [cent]
40 0 [cent]
40 0 [cent]
40 0 [cent]
40 0 [cent]
Description
4. Supplementary material
Decimal and Hexadecimal table
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.
+——————+——————++——————+——————++——————+——————++——————+——————+ | Dec. | Hex. || Dec .| Hex. || Dec. | Hex. || Dec. | Hex. | +——————+——————++——————+——————++——————+——————++——————+——————+ | 0 | 00H || 32 | 20H || 64 | 40H || 96 | 60H | | 1 | 01H || 33 | 21H || 65 | 41H || 97 | 61H | | 2 | 02H || 34 | 22H || 66 | 42H || 98 | 62H | | 3 | 03H || 35 | 23H || 67 | 43H || 99 | 63H | | 4 | 04H || 36 | 24H || 68 | 44H || 100 | 64H | | 5 | 05H || 37 | 25H || 69 | 45H || 101 | 65H | | 6 | 06H || 38 | 26H || 70 | 46H || 102 | 66H | | 7 | 07H || 39 | 27H || 71 | 47H || 103 | 67H | | 8 | 08H || 40 | 28H || 72 | 48H || 104 | 68H | | 9 | 09H || 41 | 29H || 73 | 49H || 105 | 69H | | 10 | 0AH || 42 | 2AH || 74 | 4AH || 106 | 6AH | | 11 | 0BH || 43 | 2BH || 75 | 4BH || 107 | 6BH | | 12 | 0CH || 44 | 2CH || 76 | 4CH || 108 | 6CH | | 13 | 0DH || 45 | 2DH || 77 | 4DH || 109 | 6DH | | 14 | 0EH || 46 | 2EH || 78 | 4EH || 110 | 6EH | | 15 | 0FH || 47 | 2FH || 79 | 4FH || 111 | 6FH | | 16 | 10H || 48 | 30H || 80 | 50H || 112 | 70H | | 17 | 11H || 49 | 31H || 81 | 51H || 113 | 71H | | 18 | 12H || 50 | 32H || 82 | 52H || 114 | 72H | | 19 | 13H || 51 | 33H || 83 | 53H || 115 | 73H | | 20 | 14H || 52 | 34H || 84 | 54H || 116 | 74H | | 21 | 15H || 53 | 35H || 85 | 55H || 117 | 75H | | 22 | 16H || 54 | 36H || 86 | 56H || 118 | 76H | | 23 | 17H || 55 | 37H || 87 | 57H || 119 | 77H | | 24 | 18H || 56 | 38H || 88 | 58H || 120 | 78H | | 25 | 19H || 57 | 39H || 89 | 59H || 121 | 79H | | 26 | 1AH || 58 | 3AH || 90 | 5AH || 122 | 7AH | | 27 | 1BH || 59 | 3BH || 91 | 5BH || 123 | 7BH | | 28 | 1CH || 60 | 3CH || 92 | 5CH || 124 | 7CH | | 29 | 1DH || 61 | 3DH || 93 | 5DH || 125 | 7DH | | 30 | 1EH || 62 | 3EH || 94 | 5EH || 126 | 7EH | | 31 | 1FH || 63 | 3FH || 95 | 5FH || 127 | 7FH | +——————+——————++——————+——————++——————+——————++——————+——————+
* 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.
* In the case of values which have a +/- sign, 00H = -64, 40H = +/- 0, and 7FH = +63, so
that the decimal expression would be 64 less than the value given in the above chart. In
the case of two types, 00 00H = -8192, 40 00H = +/- 0, and 7F 7FH = +8191. For example if
aa bbH were expressed as decimal, this would be aa bbH - 40 00H = aa x 128 + bb - 64 x
128.
* Data marked “nibbled” is expressed in hexadecimal in 4-bit units. A value expressed as a
2-byte nibble 0a 0bH has the value of a x 16 + b.
<Example1> What is the decimal expression of 5AH?
From the preceding table, 5AH = 90
<Example2> 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
<Example3> What is the decimal expression of the nibbled value 0A 03 09
0D?
From the preceding table, since 0AH = 10, 03H = 3, 09H = 9, 0DH = 13
((10 x 16 + 3) x 16 + 9) x 16 + 13 = 41885
<Example4> What is the nibbled expression of the decimal value 1258?
16) 1258
16) 78 ... 10
16) 4 ... 14
0 ... 4
Since from the preceding table, 0 = 00H, 4 = 04H, 14 = 0EH, 10 = 0AH, the answer is 00 04 0E
0AH.
5
Page 6
Version 1.00 Date:June10, 2004
Examples of actual MIDI messages
<Example1> 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.
<Example2> CE 35
CnH is the Program Change status, and n is the MIDI channel number. Since EH = 14 and
35H = 53, this is a Program Change message with MIDI CH = 15, program number 54.
<Example3> EA 00 28
EnH is the Pitch Bend Change status, and n is the MIDI channel number. The 2nd byte (00H
= 0) is the LSB and the 3rd byte (28H = 40) is the MSB, but Pitch Bend Value is a signed
number in which 40 00H (= 64 x 128 + 0 = 8192) is 0, so this Pitch Bend Value is
28 00H - 40 00H = 40 x 128 + 0 - (64 x 128 + 0) = 5120 - 8192 = -3072
If the Pitch Bend Sensitivity is set to 2 semitones, -8192 (00 00H) will cause the pitch to
change -200 cents, so in this case -200 x (-3072) / (-8192) = -75 cents of Pitch Bend is being
applied to MIDI channel 11.
<Example4> B3 64 00 65 00 06 0C 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.
B3 64 00 MIDI ch.4, lower byte of RPN parameter number: 00H
(B3) 65 00 (MIDI ch.4) upper byte of RPN parameter number: 00H
(B3) 06 0C (MIDI ch.4) upper byte of parameter value: 0CH
(B3) 26 00 (MIDI ch.4) lower byte of parameter value: 00H
(B3) 64 7F (MIDI ch.4) lower byte of RPN parameter number: 7FH
(B3) 65 7F (MIDI ch.4) upper byte of RPN parameter number: 7FH
In other words, the above messages specify a value of 0C 00H for RPN parameter number
00 00H on MIDI channel 4, and then set the RPN parameter number to 7F 7FH.
RPN parameter number 00 00H is Pitch Bend Sensitivity, and the MSB of the value indicates
semitone units, so a value of 0CH = 12 sets the maximum pitch bend range to +/- 12
semitones (1 octave). (On HP107 the LSB of Pitch Bend Sensitivity is ignored, but the LSB
should be transmitted anyway (with a value of 0) so that operation will be correct on any
device.)
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.
It is not desirable for performance data (such as Standard MIDI File data) to contain many
events with running status as given in <Example 4>. This is because if playback is halted
during the song and then rewound or fast-forwarded, the sequencer may not be able to
transmit the correct status, and the sound source will then misinterpret the data. Take care
to give each event its own status.
It is also necessary that the RPN parameter number setting and the value setting be done in
the proper order. On some sequencers, events occurring in the same (or consecutive) clock
may be transmitted in an order different than the order in which they were received. For
this reason it is a good idea to slightly skew the time of each event (about 1 tick for TPQN =
96, and about 5 ticks for TPQN = 480).
* TPQN: Ticks Per Quarter Note
About tuning
To tune the HP107 via MIDI, transmit RPN #1 (Master Fine Tuning) over any MIDI channel.
(The tuning is adjusted for all of the parts, regardless of the MIDI channel over which the
message is received.)
HP107 is tuned by sending RPN #1 (Master Fine Tuning) to one of MIDI channels 1-16.
Tuning of all parts are set even if the message is received at one 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.
Frequently used tuning values are given in the following table for your reference. Values
are in hexadecimal (decimal in parentheses).
+————————+————————+——————————————+ |Hz in A4| cent | RPN #1 | +————————+————————+——————————————+ | 445.0 | +19.56 | 4C 43 (+1603)| | 444.0 | +15.67 | 4A 03 (+1283)| | 443.0 | +11.76 | 47 44 (+ 964)| | 442.0 | + 7.85 | 45 03 (+ 643)| | 441.0 | + 3.93 | 42 42 (+ 322)| | 440.0 | 0.00 | 40 00 ( 0)| | 439.0 | — 3.94 | 3D 3D (— 323)| | 438.0 | — 7.89 | 3A 7A (— 646)| +————————+————————+——————————————+
<Example> Set the tuning of MIDI channel 3 to A4 = 442.0 Hz
Send RPN#1 to MIDI channel 3. From the above table, the value is 45 03H.
B2 64 00 MIDI ch.3, lower byte of RPN parameter number: 00H
(B2) 65 01 (MIDI ch.3) upper byte of RPN parameter number: 01H
(B2) 06 45 (MIDI ch.3) upper byte of parameter value: 45H
(B2) 26 03 (MIDI ch.3) lower byte of parameter value: 03H
(B2) 64 7F (MIDI ch.3) lower byte of RPN parameter number: 7FH
(B2) 65 7F (MIDI ch.3) upper byte of RPN parameter number: 7FH
Example of an Exclusive message and calculating a Checksum
Roland Exclusive messages 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 (or size) 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 ccH and the data or size is dd ee ffH.
aa + bb + cc + dd + ee + ff = sum
sum / 128 = quotient ... remainder
128 - remainder = checksum
The Scale Tune Feature (address: 40 1x 40)
The scale Tune feature allows you to finely adjust the individual pitch of the notes from C
through B. Though the settings are made while working with one octave, the fine
adjustments will affect all octaves. By making the appropriate Scale Tune settings, you can
obtain a complete variety of tuning methods other than equal temperament. As examples,
three possible types of scale setting are explained below.
Equal Temperament
This method of tuning divides the octave into 12 equal parts. It is currently the most widely
used form of tuning,
especially in occidental music. On this instrument, the default settings for the Scale Tune
feature produce equal temperament.
Just Temperament (Keytone C)
The three main chords resound much more beautifully than with equal temperament, but
this benefit can only be obtained in one key. If transposed, the chords tend to become
ambiguous. The example given involves settings for a key in which C is the keynote.
Arabian Scale
By altering the setting for Scale Tune, you can obtain a variety of other tunings suited for
ethnic music. For example, the settings introduced below will set the unit to use the Arabian
Scale.
Example Settings
Note name Equal Temperament Just Temperament
C 0 0 -6
C# 0 -8 +45
D 0 +4 -2
D# 0 +16 -12
E 0 -14 -51
F 0 -2 -8
F# 0 -10 +45
G 0 +2 -4
G# 0 +14 +47
A 0 -16 0
A# 0 +14 -10
B 0 -12 -49
(Keytone C)
Arabian Scale
6
Page 7
Version 1.00 Date:June10, 2004
The values in the table are given in cents. Refer to the explanation of Scale Tuning (p. 6) to
convert these values to hexadecimal, and transmit them as exclusive data.
<Example> Setting the tune (C-B) of the Part1 Arabian Scale
F0 41 10 00 7E 12 40 11 40 3A 6D 3E 34 0D 38 6D 3C 6F 40 36 0F ?? F7
-- -- -- ----- -- -------- ----------------------------------- -- --
(1) (2) (3) (4) (5) (6) (7) (8) (9)
(1) Exclusive Status, (2) ID (Roland), (3) Device ID (17), (4) Model ID (HP107),
(5) Command ID (DT1), (6) Address (MIDI CH = 1), (7) Data, (8) Checksum, (9) End of
Exclusive
Next we calculate the checksum.
40H + 11H + 40H + 3AH + 6DH + 3EH + 34H + 0DH + 38H + 6DH + 3CH + 6FH + 40H +
36H + 0FH =
64 + 17 + 64 + 58 + 109 + 62 + 52 + 13 + 56 + 109 + 60 + 111 + 64 + 54 + 15 = 908 (sum)
908 (sum) / 128 = 7 (quotient) ... 12 (remainder)
checksum = 128 - 12(remainder) = 116 = 74H
This means that F0 41 10 00 7E 12 40 11 40 3A 6D 3E 34 0D 38 6D 3C 6F 40 36 0F 74 F7 is the
message we transmit.
Tone List
MSB: Bank Select MSB (Control Number 0)
LSB: Bank Select LSB (Control Number 32)
PC: Program Change
Variation MSB LSB PC Piano 1 Grand Piano 1 0 66 1 2 Mellow Piano 1 16 67 1 3 Honky-Tonk 0 64 4 4 Mellow Piano 2 16 69 1 5 Grand Piano 2 8 66 2 6 Detuned Piano 0 65 4 7 Rock Piano 0 70 3
E.Piano 1 Electric Piano 1 0 66 5 2 Electric Piano 2 0 66 6 3 Vibraphone 0 64 12 4 Morning Lite 0 68 99 5 Celesta 0 65 9 6 Electric Grand 0 69 3
Harpsichord 1 Harpsichord 1 0 66 7 2 Nylon Guitar 0 64 25 3 Harp 0 64 47 4 Coupled Harpsichord 8 66 7 5 Harpsichord 2 0 64 7
Organ 1 Church Organ 1 0 66 20 2 Rotary Organ 0 68 19 3 Theater Organ 16 64 20 4 Accordion 0 66 22 5 Church Organ 2 0 65 20 6 Nason Flute 8’ 16 66 20 7 Lower Organ 0 66 17
Strings 1 Strings 1 0 69 50 2 Jazz Scat 0 64 54 3 Orchestra 8 66 49 4 Choir 0 65 53 5 Strings 2 0 70 49 6 Voice Oohs 0 4 55 7 Glittery Pad 0 70 99 8 Acoustic Bass 0 71 33 9 Acoustic Bass + Cymbal 0 66 33 10 Fingered Bass 0 64 34 11 Vox Bass 0 66 54
Acoustic Layering Tones 1 Strings 1 64 50 2 Choir 1 64 53 3 Pad 1 64 51 4 Bell Pad 0 64 101
About MIDI Transmission Channels
When performing using a single tone:
The performance data is transmitted over the MIDI channel specified in the settings.
With One Touch or Layer/Dual performances, or when the pedal
function is set to Layer or Octave:
Performance data is transmitted over Channel 5 (fixed) as well as the specified MIDI
channel.
When performing using Split Play:
The right-hand part is transmitted over the specified MIDI channel, and the left-hand part is
transmitted over Channel 3 (fixed).
When connecting to an external MIDI sequencer to record or play back HP107 One Touch or
Layer/Dual performances, performances using the layer or octave pedal, or Split
performances, select channels other than Channels 3 and 5 as the transmission channel. (The
instrument is set to Channel 1 when its power is turned on.)
7
Loading...