B3
64 00
MIDI ch.4, lower byte of RPN parameter number:
(B3) 65 00
(MIDI ch.4) upper byte of RPN parameter number:
(B3) 06 0C (MIDI ch.4) upper byte of parameter value:
(B3) 26 00
(MIDI ch.4) lower byte of parameter value:
(B3) 64 7F (MIDI ch.4) lower byte of RPN parameter number:
(B3) 65 7F (MIDI ch.4) upper byte of RPN parameter number:
In other words, the above messages specify a value of 0C 00H for
RPN parameter number 00 00H on MIDI channel 4, and then set the
RPN parameter number to 7F 7FH.
RPN parameter number 00 00H is Pitch Bend Sensitivity, and the
MSB of the value indicates semitone units, so a value of 0CH = 12
sets the maximum pitch bend range to +/-12 semitones (1 octave).
(On GS sound generators the LSB of Pitch Bend Sensitivity is
ignored, but the LSB should be transmitted anyway (with a value of
0) so that operation will be correct on any device.)
Once the parameter number has been specified for RPN or NRPN,
all Data Entry messages transmitted on that same channel will be
valid, so after the desired value has been transmitted, it is a good
idea to set the parameter number to 7F 7FH to prevent accidents.
This is the reason for the (B3) 64 7F (B3) 65 7F at the end.
It is not desirable for performance data (such as Standard MIDI File
data) to contain many events with running status as given in
<Example 4>. This is because if playback is halted during the song
and then rewound or fast-forwarded, the sequencer may not be able
to transmit the correct status, and the sound generator will then
misinterpret the data. Take care to give each event its own status.
It is also necessary that the RPN or NRPN parameter number setting
and the value setting be done in the proper order. On some
sequencers, events occurring in the same (or consecutive) clock may
be transmitted in an order different than the order in which they
were received. For this reason it is a good idea to slightly skew the
time of each event (about 1 tick for TPQN = 96, and about 5 ticks for
TPQN = 480).
* TPQN: Ticks Per Quarter Note
■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 aa bb cc ddH and the data or size is ee ffH.
00H
aa + bb + cc + dd + ee + ff = sum
00H
sum ÷ 128 = quotient ... remainder
0CH
128 - remainder = checksum
00H
<Example> Setting CHORUS TYPE of PERFORMANCE COMMON
7FH
to DELAY (DT1)
7FH
According to the "Parameter Address Map" (p. 257), 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 00 25 12
(1) (2) (3)
(4)
(1) Exclusive Status
(4) Model ID (SonicCell) (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 00 25 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.
❍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 SonicCell, 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.
Implémentation MIDI
10 00 04 00
02
(5)
address
data
checksum
(2) ID (Roland)
(3) Device ID (17)
??
F7
(6)
275