245
Appendices
●
Example of an Exclusive message and calculating a
checksum
Roland Exclusive messages (RQ1, 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 (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
<Example 1> Setting REVERB MACRO to ROOM 3
According to the “Parameter Address Map (p.235),” the REVERB MACRO Address is 40 01
30H, and ROOM 3 is a value of 02H. Thus,
F0
41
10
42
12
40 01 30
02
??
F7
(1)
(2)
(3)
(4)
(5)
address
data
checksum
(6)
(1) Exclusive Status,
(2) ID (Roland),
(3) Device ID (17),
(4) Model ID (GS),
(5) Command ID (DT1),
(6) End of Exclusive
Next, we calculate the checksum.
40H+01H+30H+02H = 64+1+48+2 = 115 (sum)
115 (sum) ÷ 128 = 0 (quotient) ... 115 (remainder)
checksum = 128 - 115 (remainder) = 13 = 0DH
This means that F0 41 10 42 12 40 01 30 02 0D F7 is the message we transmit.
<Example 2> Requesting transmission of the LEVEL for DRUM MAP 1 NOTE NUMBER 75
(D#5; Claves)
NOTE NUMBER 75 (D#5) is 4BH in hexadecimal.
According to the “Parameter Address Map (p.240),” the LEVEL of NOTE NUMBER 75
(D#5; Claves) in DRUM MAP 1 has an Address of 41 02 4BH and a Size of 00 00 01H. Thus,
F0
41
10
42
11
41 02 4B
00 00 01
??
F7
(1)
(2)
(3)
(4)
(5)
address
size
checksum
(6)
(1) Exclusive Status,
(2) ID (Roland),
(3) Device ID (17),
(4) Model ID (GS),
(5) Command ID(RQ1),
(6) End of Exclusive
Next we calculate the checksum.
41H+02H+4BH+00H+00H+01H = 65+2+75+0+0+1 = 143 (sum)
143 (sum) ÷ 128 = 1 (quotient) ... 15 (remainder)
checksum = 128 - 15 (remainder) = 113 = 71H
This means that F0 41 10 42 11 41 02 4B 00 00 01 71 F7 is the message we transmit.
<Example 3> Setting REVERB LEVEL to 12
According to the “Parameter Address Map (p.235),” the REVERB LEVEL Address is 40 01
33H, and the parameter value is 0CH. Thus,
F0
41
10
42
12
40 01 33
0C
??
F7
(1)
(2)
(3)
(4)
(5)
address
data
checksum
(6)
(1) Exclusive Status,
(2) ID (Roland),
(3) Device ID (17),
(4) Model ID (GS),
(5) Command ID (DT1),
(6) EOX
Next we calculate the checksum.
40H + 01H + 33H + 0CH=64 + 1 + 51 + 12=128 (sum)
128 (sum) ÷ 128 = 0 (quotient) ... 0 (remainder)
checksum = 128 - 0 (remainder) = 128 = 80H
In this case, however, the checksum value should be 00H, not 80H. You should use 00H if
the remainder is 0.
This means that F0 41 10 42 12 40 01 33 0C 00 F7 is the message we transmit.
●
About the Tuning
In MIDI, individual Parts are tuned by sending RPN #1 (Master Fine Tuning) to the
appropriate MIDI channel.
In MIDI, an entire device is tuned by either sending RPN #1 to all MIDI channels being
used, or by sending a System Exclusive MASTER TUNE (address 40 00 00H).
RPN #1 allows tuning to be specified in steps of approximately 0.012 cents (to be precise,
100/8192 cent), and System Exclusive MASTER TUNE allows tuning in steps of 0.1 cent.
One cent is 1/100th of a semitone.
The values of RPN #1 (Master Fine Tuning) and System Exclusive MASTER TUNE are
added together to determine the actual pitch sounded by each Part.
Frequently used tuning values are given in the following table for your reference. Values
are in hexadecimal (decimal in parentheses).
+————————+————————+——————————————+———————————————————+
|Hz at A4| cents | RPN #1 | Sys.Ex. 40 00 00 |
+————————+————————+——————————————+———————————————————+
| 445.0 | +19.56 | 4C 43 (+1603)| 00 04 0C 04 (+196)|
| 444.0 | +15.67 | 4A 03 (+1283)| 00 04 09 0D (+157)|
| 443.0 | +11.76 | 47 44 (+ 964)| 00 04 07 06 (+118)|
| 442.0 | + 7.85 | 45 03 (+ 643)| 00 04 04 0F (+ 79)|
| 441.0 | + 3.93 | 42 42 (+ 322)| 00 04 02 07 (+ 39)|
| 440.0 | 0 | 40 00 ( 0 )| 00 04 00 00 ( 0)|
| 439.0 | - 3.94 | 3D 3D (- 323)| 00 03 0D 09 (- 39)|
| 438.0 | - 7.89 | 3A 7A (- 646)| 00 03 0B 01 (- 79)|
+————————+————————+——————————————+———————————————————+
<Example> Setting 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
●
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 the SC-8850, the default settings for
the Scale Tune feature produce equal temperament.
❍
Just Temperament (Tonic of C)
The principal triads 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 (Keytone C)
Arabian Scale
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
+43
G
0
+2
-4
G#
0
+14
+47
A
0
-16
0
A#
0
+14
-10
B
0
-12
-49
The values in the table are given in cents. Refer to the explanation of Scale Tuning on page
239 to convert these values to hexadecimal, and transmit them as Exclusive data.
For example, to set the tune (C-B) of the Part1 Arabian Scale, send the following data:
F0 41 10 42 12 40 11 40 3A 6D 3E 34 0D 38 6B 3C 6F 40 36 0F 76 F7