background image

 

12

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 check sum is calculated. We will assume that in the Exclusive
message we are transmitting, the address is aa bb cc ddH and the data or size is ee ffH.

aa + bb + cc + dd + ee + ff = sum
sum ÷ 128 = quotient ... remainder 
128 - remainder = checksum

 

<Example> Setting Temperament to JUST MINOR (DT1)

 

According to the “Parameter Address Map” (p. 7), the start address of System is 20 00 00
00H, the offset address of System Common is 00 00H, and the address of Temperament is 00
04H. Therefore the address of Temperament of System is;

 

   20 00 00 00H

         00 00H

+)       00 04H

   20 00 00 04H

 

JUST MINOR has the value of 02H. 

So the system exclusive message should be sent is;
F0

41

10

00 00 39

12

20 00 00 04

02

??

F7

(1)

(2)

(3)

(4)

(5)

address

data

checksum

(6)

(1) Exclusive Status

(2) ID (Roland)

(3) Device ID (17)

(4) Model ID (V-Piano Grand (GP-7))         (5) Command ID (DT1)         (6) End of Exclusive

Then calculate the checksum.

20H + 00H + 00H + 04H + 02H = 32 + 0 + 0 + 4 + 2 = 38 (sum)
38 (sum) ÷ 128 = 0 (quotient) ... 38 (remainder) 
checksum = 128 - 38 (remainder) = 90 = 5AH

This means that F0 41 10 00 00 39 12 20 00 00 04 02 5A F7 is the message should be sent.

 

 

ASCII Code Table

 

Setup Name 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.

V-Piano_Grand_Imple_e01.book 12 ページ 2011年6月22日 水曜日 午前11時3分

Summary of Contents for V-Piano Grand GP-7

Page 1: ...Entry Controller number 6 38 Status 2nd byte 3rd byte BnH 06H mmH BnH 26H llH n MIDI channel number 0H FH ch 1 16 mm ll the value of the parameter specified by RPN NRPN mm MSB ll LSB Volume Controller...

Page 2: ...to Time value Effect 1 Reverb Send Level Controller number 91 Status 2nd byte 3rd byte BnH 5BH vvH n MIDI channel number 0H FH ch 1 16 vv Reverb Send Level 00H 7FH 0 127 Effect 3 Chorus Send Level Con...

Page 3: ...stem 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 e...

Page 4: ...aster Coarse Tuning LSB mmH Master Coarse Tuning MSB F7H EOX End Of Exclusive ll ignored processed as 00H mm 28H 40H 58H 24 0 24 semitones Global Parameter Control Reverb Parameters Status Data byte S...

Page 5: ...H 64 cents 40H 0 cents equal temperament 7FH 63 cents F7H EOX End Of Exclusive Key based Instrument Controllers Status Data byte Status F0H 7FH 7FH 0AH 01H 0nH kkH nnH vvH F7H Byte Explanation F0H Exc...

Page 6: ...sent at an interval of about 20 ms Regarding the checksum please refer to p 12 2 Data Transmission Channel Voice Messages Note off Status 2nd byte 3rd byte 8nH kkH vvH n MIDI channel number 0H FH ch 1...

Page 7: ...the parameters after the V Piano Grand is turned off execute SETUP Write Start Address Description 03 00 00 00 Tone Temporary 20 00 00 00 System 30 00 00 00 Setup Temporary Tone Offset Address Descrip...

Page 8: ...92 100 0 100 07 60 0aaa aaaa 0bbb bbbb Hammer Hardness 8092 8192 8292 100 0 100 07 62 0aaa aaaa 0bbb bbbb Hammer Hardness Velocity Follow 8092 8192 8292 100 0 100 07 64 0aaa aaaa 0bbb bbbb Hammer Hard...

Page 9: ...00 3C 0000 0aaa System Equalizer High Mid Q 0 4 0 5 1 0 2 0 4 0 8 0 00 3D 0000 000a System Equalizer High Type 0 1 Shelving Peaking 00 3E 000a aaaa System Equalizer High Frequency 0 30 16 20 25 31 40...

Page 10: ...h Mid Frequency 0 30 16 20 25 31 40 50 63 80 100 125 160 200 250 315 400 500 630 800 1000 1250 1600 2000 2500 3150 4000 5000 6300 8000 10000 12500 16000 Hz 01 43 0aaa aaaa Setup Equalizer High Mid Gai...

Page 11: ...m Change status and n is the MIDI channel number Since EH 14 and 49H 73 this is a Program Change message with MIDI CH 15 program number 74 Flute in GS Example 3 EA 00 28 EnH is the Pitch Bend Change s...

Page 12: ...00 04 02 F7 1 2 3 4 5 address data checksum 6 1 Exclusive Status 2 ID Roland 3 Device ID 17 4 Model ID V Piano Grand GP 7 5 Command ID DT1 6 End of Exclusive Then calculate the checksum 20H 00H 00H 0...

Page 13: ...ontroller 4 Hold 1 Portamento Sostenuto Soft Legato foot switch Hold 2 Sound variation Resonance Release time Attack Time Cuttoff Decay time Vibrato rate Vibrato depth Vibrato delay General purpose co...

Page 14: ...3 V1 Concert 004 V1 Session 005 V1 Mellow 006 V1 Bright 007 V1 Honky Tonk 008 Vintage Piano 2 009 V2 Studio 010 V2 Concert 011 V2 Session 012 V2 Clear 013 V2 Upright 014 Fortepiano 015 All Silver 1 01...

Reviews: