Roland VK-8 owner manual Midi Implementation Supplementary material, How to calculate the checksum

Page 76

MIDI Implementation

4. Supplementary material

Decimal/Hexadecimal Table

MIDI uses 7-bit hexadecimal values to indicate data values and the address and size of exclusive messages. The following table shows

the correspondence between decimal and hexadecimal numbers.

*Hexadecimal values are indicated by a following ‘H.’

+——————+——————++——————+——————++——————+——————++——————+——————+ D H D H D H D H +——————+——————++——————+——————++——————+——————++——————+——————+

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

+——————+——————++——————+——————++——————+——————++——————+——————+ D: decimal

H: hexadecimal

*Decimal expressions such as used for MIDI channel, Bank Select, and Program Change will be the value 1 greater than the decimal value given in the above table.

*Since each MIDI byte carries 7 significant data bits, each byte can express a maximum of 128 different values. Data for which higher resolution is required must be transmitted using two or more bytes. For example a value indicated as a two-byte value of aa bbH would have a value of aa x 128 + bb.

*For a signed number (±), 00H = -64, 40H = ±0, and 7FH = +63. I.e., the decimal equivalent will be 64 less than the decimal value given in the above table. For a two-byte signed number, 00 00H = -8192, 40 00H = ±0, and 7F 7FH = +8191. For example the decimal expression of aa bbH would be aa bbH - 40 00H = aa x 128 + bb - 64 x 128.

Hexadecimal notation in two 4-bit units is used for data indicated as “nibbled.” The nibbled two-byte value of 0a 0b H would be a x 16 + b.

<Example1> What is the decimal equivalent of 5AH?

From the above table, 5AH = 90.

<Example2> What is the decimal equivalent of the 7-bit hexadecimal values 12 34H?

From the above table, 12H = 18 and 34H = 52

Thus, 18 x 128 + 52 = 2356

Examples of Actual MIDI Messages

<Example1> 93 3E 5F

9n is the Note On status and ‘n’ is the MIDI channel number. Since 3H = 3, 3EH = 62, and 5FH = 95, this is a Note On message of MIDI CH = 4, note number 62 (note name D4) and velocity 95.

<Example2> C0 25

CnH is the Program Change status and ‘n’ is the MIDI channel number. Since 0H = 0, and 25H = 37, this is a Program Change message of MIDI CH = 1, Program number 38

Examples of System Exclusive Messages and

Calculating the Checksum

Roland exclusive messages (RQ1, DT1) are transmitted with a checksum at the end of the data (before F7) to check that the data was received correctly. The value of the checksum is determined by the address and data (or size) of the exclusive message.

How to calculate the checksum

The checksum consists of a value whose lower 7 bits are 0 when the address, size and checksum itself are added. The following formula shows how to calculate the checksum when the exclusive message to be transmitted has an address of aa bb cc ddH, and data or size of ee ffH.

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

<Example1> Turn the Temporary Preset Organ percussion switch ON

(DT1).

The “Parameter address map” indicates that the starting address of the Temporary Preset is 10 00 00 00H, that the Preset Organ Parameter offset address is 10 00H, and that the “PERCUSSION SWITCH” address is 00 14H. Thus, the address is:

 

10 00

00

00H

 

 

 

 

 

 

 

10

00H

 

 

 

 

+)

 

 

00 14H

 

 

 

 

---------------

 

 

 

 

 

10 00

10

14H

 

 

 

 

Since “ON” is parameter value 01H,

 

 

 

F0

41

10

00 4D

12 10 00 10 14

01

??

F7

(1)

(2)

(3)

(4)

(5) address

data

checksum

(6)

(1) Exclusive status

(2) ID number (Roland)

(3) device ID(17)

(4) model ID (VK-8)

(5) command ID (DT1)

(6) EOX

 

Next we calculate the checksum.

10H + 00H + 10H + 14H + 01H = 16 + 0 + 16 + 20 + 1 = 53 (sum) 53 (total) ÷ 128 = 0 (quotient)... 53 (remainder)

checksum = 128 - 53 (quotient) = 75 = 4BH

This means that the message transmitted will be F0 41 10 00 4D 12 10 00 10 14 01 4B F7.

<Example2> Obtain preset organ parameter data for User Preset: 02

(RQ1).

The “Parameter address map” indicates that the starting address of USER: 02 is 20 01 00 00H, and that the offset address of Organ Parameter is 10 00H. Thus, the address is:

 

20 01

00

00H

 

 

 

 

 

+)

 

 

10 00H

 

 

 

 

 

---------------

 

 

 

 

 

 

20 01

10

00H

 

 

 

 

 

Since the size of the Performance Part is 00 00 00 1AH,

 

 

F0

41

10

00 4D

11

20 01 10 00

00 00 00 1A

??

F7

(1)

(2)

(3)

(4)

(5)

address

data

checksum

(6)

(1) Exclusive status

(2) ID number (Roland)

(3) Device ID (17)

(4) Model ID (VK-8)

(5) Command ID (RQ1)

(6) EOX

 

Next we calculate the checksum.

20H + 01H + 10H + 00H + 00H + 00H + 00H + 1AH = 32 + 1 + 16 + 0 + 0 + 0 + 0 + 26 = 75 (sum)

75 (total) ÷ 128 = 0 (product)... 75 (remainder) checksum = 128 - 75 (remainder) = 53 = 35H

Thus, a message of F0 41 10 00 4D 11 20 01 10 00 00 00 00 1A 35 F7 would be transmitted.

76

Image 76
Contents Conventions Used in This Manual Dark blinkImportant Safety Instructions Page Using the Unit Safely Important Notes Contents Troubleshooting Memo Main Features Panel Descriptions 19 -8 button Other Tones Level knobPedal button Lower buttonPower switch Midi Keyboard in connectorMidi Pedal in connector Rotary Tone Cabinet connectorAbout the Virtual Tonewheel Sound Generator How the VK-8 WorksHow the Organ Sound are Created How the Other Tones are Created Vibrato and ChorusHarmonic bars Amp Type Rotary, Overdrive, ToneAbout the Memories Preset memorySystem memory Connecting the Power Cord Before You Begin PlayingConnecting Your Amp, Speakers, or Headphones TRSConnecting the Pedal Keyboard Connecting an Expression Pedal or Pedal SwitchBefore You Begin Playing Restoring the Factory Settings Factory Reset Press the Preset button to make its indicator light Listening to the Demo SongsPress the Split button Demo Song Song Name Copyright NumberListening to Various Sounds Playing the OrganPlay the keyboard to hear the sound you selected Press the H-BAR Manual button to make its indicator light About the Organ VoiceMove the harmonic bars to edit the sound p Button PartAdjusting the Sound in Real Time Harmonic Bars 5th Root 8th 12th 15th 17th 19th 22nd Below Playing the Organ What Are Feet? Changing the Organ Sound Wheel Type, Leakage Level Tone Wheel typeLeakage Noise Turn the Leakage knobSecond Second Percussion button Adding Crispness to the Sound PercussionThird Third Percussion button Soft Soft Percussion button Slow Slow Percussion button Fast PercussionAdding Modulation to the Sound Vibrato and Chorus C-2, C-3Using the Cosm Rotary Speaker Effect Rotary Sound SLOW/FAST buttonBrake button Rotary on buttonChanging the Amp Type Amp Type Overdrive, Tone Changing the virtual ampAdding distortion to the sound-Overdrive Changing Sound CharactersUsing the D Beam Controller to Produce Common Organ Effects Press D Beam on button to make its indicator lightStopping the rotation of the tone wheels Wheel Brake Giving the sound a metallic character Ring ModulatorSpring Reverb Shock Adjusting the Sensitivity of the D Beam Controller Manually adjusting the sensitivity of the D Beam controllerAdding Ambience Reverb Press the Reverb button to switch the reverb typesChanging the Reverb Type Press the Split button to make its indicator light Dividing the Keyboard SplitChanging the Split Point Lower Part Upper PartUsing the Expression Pedal Using the Active Expression FunctionApplying the Active Expression Function to the Organ Voice Applying the Active Expression Function to the Other TonesUsing a Control Pedal Preset button’s indicator is dark Button ParameterAssigning a Function to the Control Pedal Rotary SLOW/FASTPreset UP Other Tones GlideOverdrive Other TonesUsing the Hold Pedal to Sustain the Sound Turn the Other Tones Level knob to adjust the volume Playing Other TonesLayering Other Tones with Organ Sounds Layer Button TonePlaying Other Tones Saving Your Settings Preset Preset contains the following settingsSaving to a Preset in the Same Bank Saving to a Preset in Another BankCopying a preset Selecting the copy-source presetAdvanced Use Basic ProcedureAbout the Edit Modes If the setting is an on or OFF switch Advanced UsePreset button’s indicator extinguished Button Parameter Rotary-related SettingsPreset button’s indicator lighted Button Parameter Rotary Woofer Level Click Noise and Percussion Settings On Click LevelMIDI-related Settings When setting things other than the Midi channelConnecting/disconnecting the sound generator and keyboard Adding Midi Thru functionality to the Midi OUT connectorSetting Explanation OFFWhen making Midi channel settings Drum Midi CH. Drum Midi Channel Initial setting 10 chEqualizer and Other Settings EQ Bass -5-0-+5EQ Middle -5-0-+5 EQ Treble -5-0-+5Effect and Other Settings Switching the polarity of the control pedalSwitching the polarity of the Hold pedal Transposing the entire VK-8 KEY Transpose -6-0-+5Reverb Time Selecting the part that will play the Other TonesSLOW/FAST ContinuousChanging the function of the Midi in connectors SUB About MidiAbout Midi Channel KeyboardUsing the VK-8 with a Dual Keyboard Connecting a Pedal KeyboardCarry out the recording Play back your performanceSave the settings Loading Back Data That’s BeenSaved on an External SequencerConnecting a Rotary Speaker Pin No Output dataTroubleshooting Problem Check Solution Click is heard when you press/reLease a key Pitch is incorrectPreset memory contents are lost Midi messages are not transmitTed/receive correctly Can’t hear spring shock noiseError Indications When you turn on the powerAll indicators light for several seconds During normal operationPreset/OTHER Tones List Preset ListOther Tones List Button’s Number ToneParameters that are stored in a preset Settings that are saved for the entire SystemEdit Parameters Drum List Channel Voice Messages Note off Midi ImplementationControl Change Reset All Controllers Controller number All Sound Off Controller numberAll Note Off Controller number Active SensingData Request 1 RQ1 Data Set 1 DT1Data Set1 Identity ReplyDT1 System Organ How to calculate the checksum Midi Implementation Supplementary materialMidi Implementation Chart Main Specification Index BankIndex Memo Information Avis 02896667 ’03-6-3N