329
MIDI Implementation
■
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 aabbccddH and the data or size is eeffH.
aa + bb + cc + dd + ee + ff = sum
sum ÷ 128 = quotient ... remainder
128 - remainder = checksum
<Example> Setting CHORUS TYPE of PERFORMANCE COMMON to
DELAY (DT1)
According to the
Parameter Address Map
(P.311), the start address of Temporary
Performance is 10 00 00 00H, the offset address of CHORUS at PERFORMANCE COMMON
is 04 00H, and the address of CHORUS TYPE is 00 00H. Therefore the address of CHORUS
TYPE of PERFORMANCE COMMON is;
10 00 00 00H
04 00H
+) 00 00H
10 00 04 00H
DELAY has the value of 02H.
So the system exclusive message should be sent is;
F0
41
10
00 6B
12
10 00 04 00
02
??
F7
(1)
(2)
(3)
(4)
(5)
address
data
checksum
(6)
(1) Exclusive Status
(2) ID (Roland)
(3) Device ID (17)
(4) Model ID (Fantom-X6/X7/X8)
(5) Command ID (DT1)
(6) End of Exclusive
Then calculate the checksum.
10H + 00H + 04H + 00H + 02H = 16 + 0 + 4 + 0 + 2 = 22 (sum)
22 (sum) ÷ 128 = 0 (quotient) ... 22 (remainder)
checksum = 128 - 22 (remainder) = 106 = 6AH
This means that F0 41 10 00 6B 12 10 00 04 00 02 6A F7 is the message should be sent.
■
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.
*
The scale tune value received by the part 1 is used in Patch mode and Piano mode.
❍
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 Fantom, 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 (Key-tone C)
Arabian Scale
C
0
0
-6
C#
0
-8
+45
D
0
+4
-2
Eb
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
Bb
0
+14
-10
B
0
-12
-49
The values in the table are given in cents. Convert these values to hexadecimal, and transmit
them as Exclusive data.
For example, to set the tune (C-B) of the Part 1 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
■
ASCII Code Table
Patch Name and Performance Name, etc., of MIDI data are described the ASCII
code in the table below.
+——————+——————+——————++——————+——————+——————++——————+——————+——————+
| D | H | Char || D | H | Char || D | H | Char |
+——————+——————+——————++——————+——————+——————++——————+——————+——————+
| 32 | 20H | SP || 64 | 40H | @ || 96 | 60H | ` |
| 33 | 21H | ! || 65 | 41H | A || 97 | 61H | a |
| 34 | 22H | " || 66 | 42H | B || 98 | 62H | b |
| 35 | 23H | # || 67 | 43H | C || 99 | 63H | c |
| 36 | 24H | $ || 68 | 44H | D || 100 | 64H | d |
| 37 | 25H | % || 69 | 45H | E || 101 | 65H | e |
| 38 | 26H | & || 70 | 46H | F || 102 | 66H | f |
| 39 | 27H | ` || 71 | 47H | G || 103 | 67H | g |
| 40 | 28H | ( || 72 | 48H | H || 104 | 68H | h |
| 41 | 29H | ) || 73 | 49H | I || 105 | 69H | i |
| 42 | 2AH | * || 74 | 4AH | J || 106 | 6AH | j |
| 43 | 2BH | + || 75 | 4BH | K || 107 | 6BH | k |
| 44 | 2CH | , || 76 | 4CH | L || 108 | 6CH | l |
| 45 | 2DH | — || 77 | 4DH | M || 109 | 6DH | m |
| 46 | 2EH | . || 78 | 4EH | N || 110 | 6EH | n |
| 47 | 2FH | / || 79 | 4FH | O || 111 | 6FH | o |
| 48 | 30H | 0 || 80 | 50H | P || 112 | 70H | p |
| 49 | 31H | 1 || 81 | 51H | Q || 113 | 71H | q |
| 50 | 32H | 2 || 82 | 52H | R || 114 | 72H | r |
| 51 | 33H | 3 || 83 | 53H | S || 115 | 73H | s |
| 52 | 34H | 4 || 84 | 54H | T || 116 | 74H | t |
| 53 | 35H | 5 || 85 | 55H | U || 117 | 75H | u |
| 54 | 36H | 6 || 86 | 56H | V || 118 | 76H | v |
| 55 | 37H | 7 || 87 | 57H | W || 119 | 77H | w |
| 56 | 38H | 8 || 88 | 58H | X || 120 | 78H | x |
| 57 | 39H | 9 || 89 | 59H | Y || 121 | 79H | y |
| 58 | 3AH | : || 90 | 5AH | Z || 122 | 7AH | z |
| 59 | 3BH | ; || 91 | 5BH | [ || 123 | 7BH | { |
| 60 | 3CH | < || 92 | 5CH | \ || 124 | 7CH | | |
| 61 | 3DH | = || 93 | 5DH | ] || 125 | 7DH | } |
| 62 | 3EH | > || 94 | 5EH | ^ ||——————+——————+——————+
| 63 | 3FH | ? || 95 | 5FH | _ |
+——————+——————+——————++——————+——————+——————+
D: decimal
H: hexadecimal
*
“SP” is space.
Fantom-X678_r_e.book 329 ページ 2005年5月12日 木曜日 午後4時40分