* Not transmitted in case that MIDI Channel value is “OFF” for each part.
* For drum part, note number of transmitted data is as follows:
DRUM A
Pad number
Pad 149 (31H) (C#3)
Pad 257 (39H) (A3)
Pad 353 (35H) (F3)
Pad 451 (33H) (D#3)
Pad 550 (32H) (D3)
Pad 648 (30H) (C3)
Pad 745 (2DH) (A2)
Pad 841 (29H) (F2)
Pad 937 (25H) (C#2)
Pad 1039 (27H) (D#2)
Pad 11 56 (38H) (G#3)
Pad 1244 (2CH) (G#2)
Pad 1336 (24H) (C2)
Pad 1438 (26H) (D2)
Pad 1542 (2AH) (F#2)
Pad 1646 (2EH) (A#2)
DRUM B
Pad number
Pad 169 (45H) (A4)
Pad 275 (4BH) (D#5)
Pad 370 (46H) (A#4)
Pad 458 (3AH) (A#3)
Pad 567 (43H) (G4)
Pad 668 (44H) (G#4)
Pad 773 (49H) (C#5)
Pad 874 (4AH) (D5)
Pad 960 (3CH) (C4)
Pad 1061 (3DH) (C#4)
Pad 1166 (42H) (F#4)
Pad 1265 (41H) (F4)
Pad 1354 (36H) (F#3)
Pad 1462 (3EH) (D4)
Pad 1563 (3FH) (D#4)
Pad 1664 (40H) (E4)
* For bass part, the range of note number is 17H - 57H (23 - 87, B0 - D#6).
●Program Change
StatusSecond
CnHppH
n = MIDI Channel Number:0H - FH (ch.1 - ch.16)
pp = Program Number:00H - 7FH (prog.1 - prog.128)
* MIDI Channel Number is same as drum part channel.
* Not transmitted in case that drum part channel is "OFF".
* In Song Play mode or Pattern Play mode, when pattern changes in play, Program
Change message is transmitted and includes program number same as the drum kit
number of the pattern.
Note number
Note number
Version: 1.00
■System Common Message
Not transmitted in case that Sync Mode value is "MIDI".
●Song Position Pointer
StatusSecondThird
F2HllHmmH
mm, ll = Value:00 00H - 7F 7FH (0 - 16383)
* Transmitted when start measure is selected under stop state of performances in Song
Play mode.
●Song select
StatusSecond
F3HssH
ss = Song Number:00H - 63H (1 - 100)
* Transmitted when song is selected in Song Play mode.
■System Realtime Message
●Timing Clock
Status
F8H
* Transmission regards Sync Mode setting as follows:
Sync Mode: AUTO
Starting by receiving Start message (FAH) or Continue message (FBH), DR-670
transmits Timing Clock messages (F8H) while performances play.
Sync Mode: INT
Transmitted in any conditions of performances.
Sync Mode: MIDI
Not transmitted.
●Start
Status
FAH
* Not transmitted in case that Sync Mode value is “MIDI.”
●Continue
Status
FBH
* Not transmitted in case that Sync Mode value is “MIDI.”
●Stop
Status
FCH
* Not transmitted in case that Sync Mode value is “MIDI.”
●Active Sensing
Status
FEH
* Transmitted at approximately 200 msec intervals. It is possible to find out MIDI line
trouble by checking arrival Active Sensing message for the device connected with MIDI
OUT.
■System Exclusive Message
StatusData BytesStatus
F0HiiH, ddH,..., eeHF7H
F0H:Status of System Exclusive Message
ii = ID Number:41 = Roland
dd,..., ee = data:00H - 7FH (0 - 127)
F7H:EOX (End of Exclusive)
* DR-670 transmits Exclusive messages including songs, user patterns, user drum kits, and
setting data in Utilty mode, MIDI mode, and DPP Assign mode. (Bulk dump)
* Not recognized in case that MIDI Channel value is “OFF” for each part.
* For drum part, note number of recognized data is as follows:
DRUM A
Pad number
Pad 149 (31H) (C#3)
Pad 257 (39H) (A3)
Pad 353 (35H) (F3)
Pad 451 (33H) (D#3)
Pad 550 (32H) (D3)
Pad 648 (30H) (C3)
Pad 745 (2DH) (A2)
Pad 841 (29H) (F2)
Pad 937 (25H) (C#2)
Pad 1039 (27H) (D#2)
Pad 11 56 (38H) (G#3)
Pad 1244 (2CH) (G#2)
Pad 1336 (24H) (C2)
Pad 1438 (26H) (D2)
Pad 1542 (2AH) (F#2)
Pad 1646 (2EH) (A#2)
DRUM B
Pad number
Pad 169 (45H) (A4)
Pad 275 (4BH) (D#5)
Pad 370 (46H) (A#4)
Pad 458 (3AH) (A#3)
Pad 567 (43H) (G4)
Pad 668 (44H) (G#4)
Pad 773 (49H) (C#5)
Pad 874 (4AH) (D5)
Pad 960 (3CH) (C4)
Pad 1061 (3DH) (C#4)
Pad 1166 (42H) (F#4)
Pad 1265 (41H) (F4)
Pad 1354 (36H) (F#3)
Pad 1462 (3EH) (D4)
Pad 1563 (3FH) (D#4)
Pad 1664 (40H) (E4)
* For bass part, the range of note number is 17H - 57H (23 - 87, B0 - D#6).
●Program Change
StatusSecond
CnHppH
n = MIDI Channel Number:0H - FH (ch.1 - ch.16)
pp = Program Number:00H - 7FH (prog.1 - prog.128)
* MIDI Channel Number is same as drum part channel.
* Not recognized in case that drum part channel is “OFF.”
* Recognizing Program Change message, DR-670 switches Drum Kit of the same number
as Program Number. Consequently, bass tone changes as the Drum kit including.
* After recognizing a Program Change message, new voices will sound as a switch, but
sounding voices will not change then.
Note number
Note number
■System Common Message
Not recognized in case that Sync Mode value is "INT".
●Song Position Pointer
StatusSecondThird
F2HllHmmH
mm, ll = Value:00 00H - 7F 7FH (0 - 16383)
* Recognized under stop state of performances in Song Play mode or Pattern Play mode,
and located the start position to play as a Value.
●Song Select
StatusSecond
F3HssH
ss = Song Number: 00H - 63H (1 - 100)
* Recognized under stop state of performances in Song Play Mode, and switched song to
play.
■System Realtime Message
●Timing Clock
Status
F8H
* Recognition regards Sync Mode setting as follows:
Sync Mode: AUTO
Starting by receiving Start message (FAH) or Continue message (FBH), performances
are synchronized to Timing Clock message (F8H).
Sync Mode: INT
Not recognized.
Sync Mode: MIDI
Recognized in any conditions of performances.
●Start
Status
FAH
* Not recognized in case that Sync Mode value is “INT.”
●Continue
Status
FBH
* Not recognized in case that Sync Mode value is “INT.”
●Stop
Status
FCH
* Not recognized in case that Sync Mode value is “INT.”
●Active Sensing
Status
FEH
* Once receiving Active Sensing message, DR-670 begins checking intervals of receiving
messages. If an interval is over 500 msec, DR-670 will stop sounding tones temporarily
and not check intervals after this.
■System Exclusive Message
StatusData BytesStatus
F0HiiH, ddH,..., eeHF7H
F0H:Status of System Exclusive Message
ii = ID Number:41 = Roland
dd,..., ee = data:00H - 7FH (0 - 127)
F7H:EOX (End of Exclusive)
* Bulk-dumped data by own or other DR-670 can be recognized as Exclusive messages.
(Bulk load)
7E = Universal Non-Real-time Message
2
Page 3
MIDI Implementation
3. Messages stored in patterns
■Channel Voice Message
●Note Off
StatusSecondThird
9nHkkH00H
n = MIDI Channel Number:0H - FH (ch.1 - ch.16)
kk = Note Number:23H - 4BH (35 - 75)
* For drum part, note number of stored data is as follows:
DRUM A
Pad number
Pad 149 (31H) (C#3)
Pad 257 (39H) (A3)
Pad 353 (35H) (F3)
Pad 451 (33H) (D#3)
Pad 550 (32H) (D3)
Pad 648 (30H) (C3)
Pad 745 (2DH) (A2)
Pad 841 (29H) (F2)
Pad 937 (25H) (C#2)
Pad 1039 (27H) (D#2)
Pad 11 56 (38H) (G#3)
Pad 1244 (2CH) (G#2)
Pad 1336 (24H) (C2)
Pad 1438 (26H) (D2)
Pad 1542 (2AH) (F#2)
Pad 1646 (2EH) (A#2)
DRUM B
Pad number
Pad 169 (45H) (A4)
Pad 275 (4BH) (D#5)
Pad 370 (46H) (A#4)
Pad 458 (3AH) (A#3)
Pad 567 (43H) (G4)
Pad 668 (44H) (G#4)
Pad 773 (49H) (C#5)
Pad 874 (4AH) (D5)
Pad 960 (3CH) (C4)
Pad 1061 (3DH) (C#4)
Pad 1166 (42H) (F#4)
Pad 1265 (41H) (F4)
Pad 1354 (36H) (F#3)
Pad 1462 (3EH) (D4)
Pad 1563 (3FH) (D#4)
Pad 1664 (40H) (E4)
* For bass part, the range of note number is 23H - 48H (35 - 75, B1 - D#5).
Note number
Note number
4. Exclusive Communications
■General
DR-670 can do one-way communications to send and receive parameters for songs, user
patterns, user drum kits, and other memorized setting data.
Model ID included in the exclusive message should be 00H 41H. The device ID code should
be “DEV ID” value in MIDI mode, that is System Exclusive Device ID. Note that the actual
value that set in device ID field is smaller by one than the value set as “DEV ID” in MIDI
mode.
●Universal Non-Realtime System Exclusive Message
❍Identity Request
StatusData BytesStatus
F0H7EH, dev, 06H, 01H F7H
Byte
F0HExclusive Status
7EHID Number (Universal Non-Real-time Message)
devDevice ID (10H - 1FH, 7FH (17 - 32, 128))
06HSub ID#1 (General Information)
01HSub ID#2 (Identity Request)
F7HEOX (End of Exclusive)
* Device ID (dev) value is “DEV ID” in Midi mode or 7FH (Broadcast).
* When Identity Request is received, Identity Reply message will be transmitted.
❍Identity Reply
StatusData BytesStatus
F0H7EH, dev, 06H, 02H,F7H
Byte
F0HExclusive Status
7EHID Number (Universal Non-Real-time Message)
devDevice ID (10H - 1FH (17 - 32))
06HSub ID#1 (General Information)
02HSub ID#2 (Identity Reply)
41HManufacturer ID (Roland)
41H, 01HDevice Family Code
00H, 00HDevice Family Number Code
00H, 02H, 00H, 00H Software Revision Level
F7HEOX (End of Exclusive)
* Transmitted Identity Reply message by the unique device ID when the device has
received the Identity Request message in the Broadcast(Device ID: 7FH).
●Data Transmission
❍Request data RQ1 11H
ByteDescription
F0HExclusive status
41HManufacturer ID (Roland)
devDevice ID (10H - 1FH)
00HModel ID (DR-670) MSB
41HModel ID (DR-670) LSB
11HCommand ID (RQ1)
aaHAddress MSB
bbHAddress
ccHAddress
ddHAddress
eeHAddress LSB
ssHSize MSB
ttHSize
uuHSize
vvHSize
wwHSize LSB
sumChecksum
F7HEOX (End of Exclusive)
❍Data set DT1 12H
ByteDescription
F0HExclusive status
41HManufacturer ID (Roland)
devDevice ID (10H - 1FH)
00HModel ID (DR-670) MSB
41HModel ID (DR-670) LSB
12HCommand ID (DT1)
aaHAddress MSB
bbHAddress
ccHAddress
ddHAddress
eeHAddress LSB
ffHData
: :
ggHData
sumChecksum
F7HEOX (End of Exclusive)
Description
41H, 41H, 01H, 00H, 00H,
00H, 02H, 00H, 00H,
Description
3
Page 4
MIDI Implementation
■Transmission
DR-670 transmits Exclusive message when executing MIDI Bulk dump at "TX BULK" screen
in MIDI mode.
■Receive
DR-670 receives Exclusive message only at "RX BULK" screen in MIDI mode.
Start AddressDescription
10 00 00 00 00Song data (1 - 100)
20 00 00 00 00User Pattern data (201 - 400)
30 00 00 00 00User Drum Kit data (65 - 128)
40 00 00 00 00Utility mode, MIDI mode and DPP assign settings data
70 00 00 00 00Bulk transmission control commands
* Address values in messages of data request should be as above. Request size values are
free.
6. 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.
* Decimal expressions such as used for MIDI channel, Program Change, and Device ID
will be the value 1 greater than the decimal value given in the above table.
* Since each MIDI byte carries seven 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 data indicated as a two-byte value of
aa bbH would have a value of aa x 128 + bb.
<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
(“H” follows hexadecimal value)
❍Examples of actual MIDI messages
<Example> C9 49
CnH is the Program Change status and n is the MIDI channel number. Since 9H = 9 and
49H = 73, it is a Program Change message for MIDI CH = 10 and Program number = 74.
❍Examples of exclusive messages and calculating the checksum
Roland exclusive messages (RQ1, DT1) are transmitted with a checksum at the end of
the data (before F7H) 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 seven bits are zero 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 for aa bb cc ddH, and data or size for ee ffH.
aa + bb + cc + dd + ee + ff = total
total / 128 = quotient ... remainder
128 - remainder = checksum
Checksum is zero if the remainder is zero.
<Example> Request to transfer the drum kits data
See the Parameter Address Map address : 30 00 00 00 00H
size : can be any values (now using 00 00 00 00 00H)