Of the System Exclusive messages received by this device, the Universal Nonrealtime messages and the Universal Realtime messages and the Data Request (RQ1)
messages and the Data Set (DT1) messages will be set automatically.
7Universal Non-realtime System Exclusive Messages
6 Identity Request Message
Status Data byte Status
F0H 7EH, dev, 06H, 01H F7H
Byte Explanation
F0H Exclusive status
7EH ID number (Universal Non-realtime Message)
dev Device ID (dev: 10H, 7FH)
06H Sub ID#1 (General Information)
01H Sub ID#2 (Identity Request)
F7H EOX (End Of Exclusive)
* The size of data that can be transmitted at one time is xed for each type of data.
And data requests must be made with a xed starting address and size. Refer to the
address and size given in “Parameter Address Map”.
6 Data set 1 DT1 (12H)
Status Data byte Status
F0H 41H, 10H, 00H, 00H, 00H, 51H, 12H, aaH, F7H
bbH, ccH, ddH, eeH, ... H, sum
Byte Explanation
F0H Exclusive status
41H ID number (Roland)
10H Device ID (dev: 10H)
00H Model ID #1 (VT-4)
00H Model ID #2 (VT-4)
00H Model ID #3 (VT-4)
51H Model ID #4 (VT-4)
12H Command ID (DT1)
aaH Address MSB: upper byte of the starting address of the data to
be sent
bbH Address: upper middle byte of the starting address of the data
to be sent
ccH Address: lower middle byte of the starting address of the data
to be sent
ddH Address LSB: lower byte of the starting address of the data to be
sent.
eeH Data: the actual data to be sent. Multiple bytes of data are
transmitted in order starting from the address.
: :
H Data
sum Checksum
F7H EOX (End Of Exclusive)
* The amount of data that can be transmitted at one time depends on the type of
data, and data will be transmitted from the specied starting address and size.
Refer to the address and size given in “Parameter Address Map”.
* Data larger than 256 bytes will be divided into packets of 256 bytes or less, and
each packet will be sent at an interval of about 20 ms.
* When this message is received, Identity Reply message will be transmitted.
7Data Transmission
This instrument can use exclusive messages to exchange many varieties of internal
settings with other devices.
The model ID of the exclusive messages used by this instrument is 00H 00H 7BH.
6 Data Request 1 RQ1 (11H)
This message requests the other device to transmit data. The address and size
indicate the type and amount of data that is requested.
When a Data Request message is received, if the device is in a state in which it is able
to transmit data, and if the address and size are appropriate, the requested data is
transmitted as a Data Set 1 (DT1) message. If the conditions are not met, nothing is
transmitted.
Status Data byte Status
F0H 41H, 10H, 00H, 00H, 00H, 51H, 11H, aaH, F7H
bbH, ccH, ddH, ssH, ttH, uuH, vvH, sum
Byte Remarks
F0H Exclusive status
41H ID number (Roland)
10H Device ID (dev: 10H)
00H Model ID #1 (VT-4)
00H Model ID #2 (VT-4)
00H Model ID #3 (VT-4)
51H Model ID #4 (VT-4)
11H Command ID (RQ1)
aaH Address MSB
bbH Address
ccH Address
ddH Address LSB
ssH Size MSB
ttH Size
uuH Size
vvH Size LSB
sum Checksum
F7H EOX (End Of Exclusive)
F0H: System Exclusive Message status
ii = ID number: An ID number (manufacturer ID) to indicate the manufacturer
whose Exclusive message this is. Roland’s manufacturer ID
is 41H. ID numbers 7EH and 7FH are extensions of the MIDI
standard; Universal Non-realtime Messages (7EH) and Universal
Realtime Messages (7FH).
dd, ..., ee = data: 00H–7FH (0–127)
F7H: EOX (End Of Exclusive)
Universal Non-realtime System Exclusive Messages and Data Set 1 (DT1) are the only
System Exclusive messages transmitted by the SH-01.
7Universal Non-realtime System Exclusive Message
6 Identity Reply Message (VT-4)
Receiving Identity Request Message, the VT-4 send this message.
Status Data byte Status
F0H 7EH, dev, 06H, 02H, 41H, 51H, 03H, F7H
00H, 00H, 00H, 03H, 00H, 00H
Byte Explanation
F0H Exclusive status
7EH ID number (Universal Non-realtime Message)
dev Device ID (dev: 10H)
06H Sub ID#1 (General Information)
02H Sub ID#2 (Identity Reply)
41H ID number (Roland)
51H 03H Device family code
00H 00H Device family number code
00H 03H 01H 00H Software revision level
F7H EOX (End of Exclusive)
7Data Transmission
6 Data set 1 DT1 (12H)
Status Data byte Status
F0H 41H, dev, 00H, 00H, 00H, 51H, 12H, aaH, F7H
bbH, ccH, ddH, eeH, ... H, sum
Byte Explanation
F0H Exclusive status
41H ID number (Roland)
dev Device ID (dev: 10H)
00H Model ID #1 (VT-4)
00H Model ID #2 (VT-4)
00H Model ID #3 (VT-4)
51H Model ID #4 (VT-4)
12H Command ID (DT1)
aaH Address MSB: upper byte of the starting address of the
data to be sent
bbH Address: upper middle byte of the starting address
of the data to be sent
ccH Address: lower middle byte of the starting address
of the data to be sent
ddH Address LSB: lower byte of the starting address of the
data to be sent.
eeH Data: the actual data to be sent. Multiple bytes
of data are transmitted in order starting
from the address.
: :
H Data
sum Checksum
F7H EOX (End Of Exclusive)
* The amount of data that can be transmitted at one time depends on the type of
data, and data will be transmitted from the specied starting address and size.
Refer to the address and size given in “Parameter Address Map”.
* Data larger than 256 bytes will be divided into packets of 256 bytes or less, and
each packet will be sent at an interval of about 20 ms.
2
3. Parameter Address Map
* Transmission of “#” marked address is divided to some packets. For example, ABH in
hexadecimal notation will be divided to 0AH and 0BH, and is sent/received in this
order.
* “<*>” marked address or parameters are ignored when the VT-4 received them.
+------------------------------------------------------------------------------+
| TYPE | VINTAGE | ADVANCED | TALK BOX | SPELL TOY |
|-------------+---------------+----------------+---------------+---------------|
| PARAMETER 1 | Release | Release | Release | Release |
| PARAMETER 2 | Tone | Tone | Formant Depth | Tone |
| PARAMETER 3 | Consonant | OSC Color | OSC Color | OSC Color |
| PARAMETER 4 | Effect Level | Effect Level | Effect Level | Effect Level |
+------------------------------------------------------------------------------+
4
MIDI Implementation
4. Supplementary Material
9 Decimal and Hexadecimal Table
(An “H” is appended to the end of numbers in hexadecimal notation.)
In MIDI documentation, data values and addresses/sizes of Exclusive messages, etc.
are expressed as hexadecimal values for each 7 bits.
The following table shows how these correspond to decimal numbers.
* Decimal values such as MIDI channel, bank select, and program change are listed as
one greater than the values given in the above table.
* A 7-bit byte can express data in the range of 128 steps. For data where greater
precision is required, we must use two or more bytes. For example, two
hexadecimal numbers aa bbH expressing two 7-bit bytes would indicate a value of
aa x 128+bb.
* In the case of values which have a +/- sign, 00H = -64, 40H = +/-0, and 7FH = +63,
so that the decimal expression would be 64 less than the value given in the above
chart. In the case of two types, 00 00H = -8192, 40 00H = +/-0, and 7F 7FH = +8191.
For example, if aa bbH were expressed as decimal, this would be aa bbH - 40 00H =
aa x 128+bb - 64 x 128.
* Data marked “Use nibbled data” is expressed in hexadecimal in 4-bit units. A value
expressed as a 2-byte nibble 0a 0bH has the value of a x 16+b.
<Example 1> What is the decimal expression of 5AH?
From the preceding table, 5AH = 90
<Example 2> What is the decimal expression of the value 12 34H given as
hexadecimal for each 7 bits?
From the preceding table, since 12H = 18 and 34H = 52
18 x 128+52 = 2356
9 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.
7How 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 H.
aa + bb + cc + dd + ee + = sum
sum ÷ 128 = quotient ... remainder
128 - remainder = checksum
<Example 1> Set the PITCH parameter to 255(FFH)
According to the “Parameter Address Map”, the address is 10 00 00 09H.
So the system exclusive message should be sent is;
F0411000 00 00 511210 00 00 09 0F 0F??F7
(1)(2)(3)(4)(5)addressdatachecksum(6)
(1) Exclusive Status(2) ID (Roland)(3) Device ID (17)
(4) Model ID (VT-4)(5) Command ID (DT1)(6) End of Exclusive
This means that F0 41 10 00 00 00 51 12 10 00 00 09 0F 0F 49 F7 is the message
should be sent.
<Example 2> Request Value of the Pitch (RQ1)
According to the “Parameter Address Map”, the address is 10 00 00 09H.
So the system exclusive message should be sent is;
F04110 00 00 00 51 11 10 00 00 09 00 00 00 02??F7
(1)(2)(3)(4)(5)addressdatachecksum (6)
(1) Exclusive Status(2) ID (Roland)(3) Device ID (17)
(4) Model ID (VT-4)(5) Command ID (RQ1)(6) End of Exclusive
This means that F0 41 10 00 00 00 51 11 10 00 00 09 02 65 F7 is the message should
be sent.
<Example 3> What is the decimal expression of the nibbled value 0A 03 09 0D?
From the preceding table, since 0AH = 10, 03H = 3, 09H = 9, 0DH = 13
((10 x 16+3) x 16+9) x 16+13 = 41885
<Example 4> What is the nibbled expression of the decimal value 1258?
16 ) 1258
16 ) 78 ...10
16 ) 4 ...14
0 ... 4
Since from the preceding table, 0 = 00H, 4 = 04H, 14 = 0EH, 10 = 0AH, the result is: 00
04 0E 0AH.
5
MIDI Implementation
9 ASCII Code Table
Patch Name, etc., of MIDI data are described the ASCII code in the table below.
: All Sound O
: Reset All Controllers
: Local On/O
: All Notes O
: Omni Mode O
: Omni Mode On
: Mono Mode On
: Poly Mode On
: Active Sensing
: System Reset