Roland MIDI Implementation DP990F User Manual
Page 16
16
●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
According to the “Parameter Address Map,” 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.
●About 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).
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 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 (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 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 data as
follows:
F0 41 10 42 12 40 11 40 3A 6D 3E 34 0D 38 6B 3C 6F 40 36 0F 50 F7
Hz in A4
cent
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.00
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)