527871
107
Zoom out
Zoom in
Previous page
1/116
Next page
107
MIDI Implementation
Appendices
6. Supplementary material
Examples of MIDI messages
<Example 1> 92 3E 5F
9n is the Note On status and n is the MIDI channel number. Since 2H = 2, 3EH = 62, and
5FH = 95, this is a Note On message of MIDI CH = 3, note number 62 (note name D4) and
velocity 95.
<Example 2> C9 49
CnH is the Program Change status and n is the MIDI channel number. Since 9H = 9, and
49H = 73, this is a Program Change message of MIDI CH = 10, Program number 74.
<Example 3> EA 00 28
EnH is the Pitch Bend Change status and n is the MIDI channel number. The 2nd byte
(00H=0) is the LSB of the Pitch Bend value, and the 3rd byte (28H=40) is the MSB. However
since the Pitch Bend is a signed number with 0 at 40 00H ( = 64 x 128 + 0 = 8192), the Pitch
Bend value in this case is
28 00H - 40 00H = 40 x 128 + 0 - (64 x 128 + 0) = 5120 - 8192 = -3072
If we assume that the Pitch Bend Sensitivity is set to two semitones, the pitch will change
only -200 cents for a Pitch Bend value of -8192 (00 00H). Thus, this message is specifying a
Pitch Bend of -200 x (-3072) ÷ (-8192) = -75 cents on MIDI CH = 7.
<Example 4> B3 64 00 65 00 06 0C 26 00 64 7F 65 7F
BnH is the Control Change status, and n is the MIDI channel number. In Control Change
messages, the 2nd byte is the controller number, and the 3rd byte is the parameter value.
MIDI allows what is known as running status, when if messages of the the same status
follow each other, it is permitted to omit the second and following status bytes. In the
message above, running status is being used, meaning that the message has the following
content.
B3 64 00 MIDI CH = 4, RPN parameter number LSB: 00H
(B3) 65 00 MIDI CH = 4, RPN parameter number MSB: 00H
(B3) 06 0C MIDI CH = 4, parameter value MSB: 0CH
(B3) 26 00 MIDI CH = 4, parameter value LSB: 00H
(B3) 64 7F MIDI CH = 4, RPN parameter number LSB: 7FH
(B3) 65 7F MIDI CH = 4, RPN parameter number MSB: 7FH
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
<Example 1> Setting the REVERB TYPE to HALL2 (DT1)
Referring to 3. Parameter address map, the starting address for Part Information is 01 00
00 00H, and offset address of Part Information Common is 00 00H, and the REVERB TYPE
address is 00 28H. Therefore, the address will be
01 00 00 00H
00 00H
+) 00 28H
01 00 00 28H
Since HALL2 is parameter value 05H,
F0 41 10 00H 0BH 12 01 00 00 28 05 ?? F7
(1) (2) (3) (4) (5) (6) address data checksum (7)
(1) Exclusive status (2) ID number (Roland) (3) device ID (17)
(4), (5) model ID (D2) (6)command ID (DT1) (7) EOX
Next we calculate the checksum.
01H + 00H + 00H + 28H + 05H = 1 + 0 + 0 + 40 + 5 = 46(sum)
46 (total) ÷ 128 = 0 (quotient)...46 (remainder)
checksum = 128 - 46 (quotient) = 82 = 52H
This means that the message transmitted will be F0 41 10 00 0B 12 01 00 00 28 05 52 F7.
<Example 2> Obtaining part information data (RQ1)
Referring to 3. Parameter address map, the starting addresses for Part Information are
assigned as follows.
01 00 00 00H Part Info Common
01 00 10 00H Part Info Part 1
01 00 11 00H Part Info Part 2
01 00 16 00H Part Info Part 7
01 00 19 00H Part Info Part R
Since the size of Part Information Part is 00 00 00 1AH, this size is added to the starting
address of Part Information Part R, to obtain
01 00 19 00H
+) 00 00 00 1AH
01 00 19 1AH
Therefore, the size of the data to be obtained is
01 00 19 1AH
-) 01 00 00 00H
00 00 19 1AH
F0 41 10 00 0B 11 01 00 00 00 00 00 19 1A ?? F7
(1) (2) (3) (4) (5) (6) address data checksum (7)
(1) Exclusive status (2) ID number (Roland) (3) Device ID (17)
(4), (5) Model ID (D2D2) (6) Command ID (RQ1) (7) EOX
When the checksum is calculated in the same way as in <Example 2>, we have the following
message to be transmitted: F0 41 10 00 0B 11 01 00 00 00 00 00 19 1A 4C F7.
Scale Tune function (Model ID : 42H (GS), address: 40
1x 40H)
Scale Tune is a function that makes fine adjustments to the pitch of each note C-B. Settings
are made for one octave, and applied to the notes of all octaves. By making Scale Tune
settings you can use tunings and temperaments other than the standard Equal
Temperament. Here we give three types of settings as examples.
Equal temperament
This temperament divides the octave into 12 equal steps, and is the temperament most
frequently used today, especially in western music. Initially, the Scale Tune function of this
instrument is set to Equal Temperament.
Just intonation (tonic of C)
The primary triads sound more beautiful in just intonation than in equal temperament.
However, this applies only in one key, and chords will be discordant if you play in a
different key. The settings here are for a tonic of C.
Arabian-type scale
The Scale Tune function allow you to use various tunings of ethnic music. Here is one of the
Arabian scales.
Setting examples
Note Equal Temp. Just (in C) Arabian-type scale
C0 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 above table are in units of 1 cent. Convert these values to hexadecimal,
and transmit them as exclusive data. For example to set the Scale Tune of Part 1 to an
Arabian-type scale, transmit 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
107


Need help? Post your question in this forum.

Forumrules


Report abuse

Libble takes abuse of its services very seriously. We're committed to dealing with such abuse according to the laws in your country of residence. When you submit a report, we'll investigate it and take the appropriate action. We'll get back to you only if we require additional details or have more information to share.

Product:

For example, Anti-Semitic content, racist content, or material that could result in a violent physical act.

For example, a credit card number, a personal identification number, or an unlisted home address. Note that email addresses and full names are not considered private information.

Forumrules

To achieve meaningful questions, we apply the following rules:

Register

Register getting emails for Roland D-2 GROOVEBOX at:


You will receive an email to register for one or both of the options.


Get your user manual by e-mail

Enter your email address to receive the manual of Roland D-2 GROOVEBOX in the language / languages: English as an attachment in your email.

The manual is 4,5 mb in size.

 

You will receive the manual in your email within minutes. If you have not received an email, then probably have entered the wrong email address or your mailbox is too full. In addition, it may be that your ISP may have a maximum size for emails to receive.

Others manual(s) of Roland D-2 GROOVEBOX

Roland D-2 GROOVEBOX User Manual - German - 115 pages

Roland D-2 GROOVEBOX User Manual - Dutch - 100 pages


The manual is sent by email. Check your email

If you have not received an email with the manual within fifteen minutes, it may be that you have a entered a wrong email address or that your ISP has set a maximum size to receive email that is smaller than the size of the manual.

The email address you have provided is not correct.

Please check the email address and correct it.

Your question is posted on this page

Would you like to receive an email when new answers and questions are posted? Please enter your email address.



Info