Roland RD-800 Midi Implementation

MIDI Implementation
Model: RD-800
Date: Jan. 1, 2014
Version: 1.00

1. Receive data

Channel Voice Messages
Note o
n = MIDI channel number: 0H–FH (ch.1–16) kk = note number: 00H–7FH (0–127) vv = note o velocity: 00H–7FH (0–127)
* Some instruments are not received in Rhythm set.
Note on
n = MIDI channel number: 0H–FH (ch.1–16) kk = note number: 00H–7FH (0–127) vv = note on velocity: 01H–7FH (1–127)
Polyphonic Key Pressure
Volume (Controller number 7)
n = MIDI channel number: 0H–FH (ch.1–16) vv = Volume: 00H–7FH (0–127)
Panpot (Controller number 10)
n = MIDI channel number: 0H–FH (ch.1–16) vv = Panpot: 00H–40H–7FH (Left–Center–Right)
Expression (Controller number 11)
n = MIDI channel number: 0H–FH (ch.1–16) vv = Expression: 00H–7FH (0–127)
Tone Color (Controller number 24)
n = MIDI channel number: 0H–3H (ch.1–4) vv = Control value: 00H–7FH (0–127)
Hold 1 (Controller number 64)
n = MIDI channel number: 0H–FH (ch.1–ch.16) kk = note number: 00H–7FH (0–127) vv = key pressure: 00H–7FH (0–127)
Control Change
Bank Select (Controller number 0, 32)
n = MIDI channel number: 0H–FH (ch.1–16) mm, ll = Bank number: 00 00H–7F 7FH (bank.1–bank.16384)
Modulation (Controller number 1)
n = MIDI channel number: 0H–FH (ch.1–16) vv = Modulation depth: 00H–7FH (0–127)
Portamento Time (Controller number 5)
n = MIDI channel number: 0H–FH (ch.1–16) vv = Portamento Time: 00H–7FH (0–127)
Data Entry (Controller number 6, 38)
n = MIDI channel number: 0H–FH (ch.1–16) mm, ll = the value of the parameter specied by RPN/NRPN mm = MSB, ll = LSB
n = MIDI channel number: 0H–FH (ch.1–16) vv = Control value: 00H–7FH
Portamento (Controller number 65)
n = MIDI channel number: 0H–FH (ch.1–16) vv = Control value: 00H–7FH (0–127) 0–63 = OFF, 64–127 = ON
Sostenuto (Controller number 66)
n = MIDI channel number: 0H–FH (ch.1–16) vv = Control value: 00H–7FH (0–127) 0–63 = OFF, 64–127 = ON
Soft (Controller number 67)
n = MIDI channel number: 0H–FH (ch.1–16) vv = Control value: 00H–7FH (0–127)
Legato Footswitch (Controller number 68)
n = MIDI channel number: 0H–FH (ch.1–16) vv = Control value: 00H–7FH (0–127) 0–63 = OFF, 64–127 = ON
Resonance (Controller number 71)
n = MIDI channel number: 0H–FH (ch.1–16) vv = Resonance value (relative change): 00H–7FH (-64–0–+63)
02
Copyright © 2014 ROLAND CORPORATION
All rights reserved. No part of this publication may be reproduced in any form without the written permission of ROLAND CORPORATION.
1
MIDI Implementation
Release Time (Controller number 72)
n = MIDI channel number: 0H–FH (ch.1–16) vv = Release Time value (relative change): 00H–7FH (-64–0–+63)
Attack time (Controller number 73)
n = MIDI channel number: 0H–FH (ch.1–16) vv = Attack time value (relative change): 00H–7FH (-64–0–+63),
Cuto (Controller number 74)
n = MIDI channel number: 0H–FH (ch.1–16) vv = Cuto value (relative change): 00H–7FH (-64–0–+63)
Decay Time (Controller number 75)
n = MIDI channel number: 0H–FH (ch.1–16) vv = Decay Time value (relative change): 00H–7FH (-64–0–+63)
Vibrato Rate (Controller number 76)
n = MIDI channel number: 0H–FH (ch.1–16) vv = Vibrato Rate value (relative change): 00H–7FH (-64–0–+63)
Vibrato Depth (Controller number 77)
n = MIDI channel number: 0H–FH (ch.1–16) vv = Vibrato Depth Value (relative change):00H–7FH (-64–0–+63)
Vibrato Delay (Controller number 78)
n = MIDI channel number: 0H–FH (ch.1–16) vv = Vibrato Delay value (relative change):00H–7FH (-64–0–+63)
Portamento Control (Controller number 84)
n = MIDI channel number: 0H–FH (ch.1–16) kk = source note number: 00H–7FH (0–127)
* A Note-on received immediately after a Portamento Control message will change
continuously in pitch, starting from the pitch of the Source Note Number.
* If a voice is already sounding for a note number identical to the Source Note
Number, this voice will continue sounding (i.e., legato) and will, when the next Note-on is received, smoothly change to the pitch of that Note-on.
* The rate of the pitch change caused by Portamento Control is determined by the
Portamento Time value.
High Resolution Velocity Prex (Controller number 88)
n = MIDI channel number: 0H–FH (ch.1–16) kk = High Resolution Velocity Prex: 00H–7FH (0–127)
2
Eect 1 (Reverb Send Level) (Controller number 91)
n = MIDI channel number: 0H–FH (ch.1–16) vv = Reverb Send Level: 00H–7FH (0–127)
Eect 3 (Chorus Send Level) (Controller number 93)
n = MIDI channel number: 0H–FH (ch.1–16) vv = Chorus Send Level: 00H–7FH (0–127)
RPN MSB/LSB (Controller number 100, 101)
n = MIDI channel number: 0H–FH (ch.1–16) mm = upper byte (MSB) of parameter number specied by RPN ll = lower byte (LSB) of parameter number specied by RPN
<<< RPN >>> Control Changes include RPN (Registered Parameter Numbers), which are extended. When using RPNs, rst RPN (Controller numbers 100 and 101; they can be sent in any order) should be sent in order to select the parameter, then Data Entry (Controller numbers 6 and 38) should be sent to set the value. Once RPN messages are received, Data Entry messages that is received at the same MIDI channel after that are recognized as changing toward the value of the RPN messages. In order not to make any mistakes, transmitting RPN Null is recommended after setting parameters you need.
This device receives the following RPNs.
RPN Data entry MSB, LSB MSB, LSB Notes 00H, 00H mmH, llH
00H, 01H mmH, llH
00H, 02H mmH, llH
00H, 05H mmH, llH
7FH, 7FH ---, ---
Pitch Bend Sensitivity mm: 00H–18H (0–24 semitones) ll: ignored (processed as 00H) Up to 2 octave can be specied in semitone steps. Channel Fine Tuning mm, ll: 20 00H–40 00H–60 00H (-4096 x 100 / 8192–0–+4096 x 100 / 8192 cent) Channel Coarse Tuning mm: 10H–40H–70H (-48–0–+48 semitones) ll: ignored (processed as 00H) Modulation Depth Range mm, ll: 00 00H–06 00H (0–16384 x 600 / 16384 cent)
RPN null RPN and NRPN will be set as “unspecied.” Once this setting has been made, subsequent Parameter values that were previously set will not change. mm, ll: ignored
Program Change
Status 2nd byte CnH ppH
n = MIDI channel number: 0H–FH (ch.1–16) pp = Program number: 00H–7FH (prog.1–prog.128)
Pitch Bend Change
n = MIDI channel number: 0H–FH (ch.1–16) mm, ll = Pitch Bend value: 00 00H–40 00H–7F 7FH (-8192–0–+8191)
MIDI Implementation
Channel Mode Messages
All Sounds O (Controller number 120)
n = MIDI channel number: 0H–FH (ch.1–16)
* When this message is received, all notes currently sounding on the corresponding
channel will be turned o.
Reset All Controllers (Controller number 121)
n = MIDI channel number: 0H–FH (ch.1–16)
* When this message is received, the following controllers will be set to their reset
values.
Controller Reset value Pitch Bend Change ±0 (center) Channel Pressure 0 (o) Modulation 0 (o) Breath Type 0 (min) Expression 127 (max) Hold 1 0 (o) Sostenuto 0 (o ) Soft 0 (o ) RPN unset; previously set data will not change NRPN unset; previously set data will not change
All Notes O (Controller number 123)
n = MIDI channel number: 0H–FH (ch.1–16)
POLY (Controller number 127)
n = MIDI channel number: 0H–FH (ch.1–16)
* The same processing will be carried out as when All Notes O is received.
System Realtime Message
Timing Clock
Active Sensing
Status FEH
* When Active Sensing is received, the unit will begin monitoring the intervals of
all further messages. While monitoring, if the interval between messages exceeds 420 ms, the same processing will be carried out as when All Sounds O, All Notes O and Reset All Controllers are received, and message interval monitoring will be halted.
System Exclusive Message
Status 2nd byte 3rd byte
F0H iiH, ddH, ......,eeH F7H
F0H: System Exclusive Message status ii = ID number:
dd,...,ee = data: 00H–7FH (0–127) F7H: EOX (End Of Exclusive)
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).
* When All Notes O is received, all notes on the corresponding channel will be
turned o. However, if Hold 1 or Sostenuto is ON, the sound will be continued until these are turned o.
OMNI OFF (Controller number 124)
n = MIDI channel number: 0H–FH (ch.1–16)
* The same processing will be carried out as when All Notes O is received.
OMNI ON (Controller number 125)
n = MIDI channel number: 0H–FH (ch.1–16)
* The same processing will be carried out as when All Notes O is received. OMNI ON
will not be turned on.
MONO (Controller number 126)
n = MIDI channel number: 0H–FH (ch.1–16) mm = mono number: 00H–10H (0–16)
* The same processing will be carried out as when All Notes O is received.
Of the System Exclusive messages received by this device, the Universal Non-realtime messages and the Universal Realtime messages and the Data Request (RQ1) messages and the Data Set (DT1) messages will be set automatically.
Universal Non-realtime System Exclusive Messages
Identity Request Message
Status 2nd byte 3rd byte F0H 7EH, dev, 06H, 01H F7H
Byte Explanation F0H Exclusive status 7EH ID number (Universal Non-realtime Message) dev Device ID (dev: 10H–1FH, 7FH, the initial value is 10H (17)) 06H Sub ID#1 (General Information) 01H Sub ID#2 (Identity Request) F7H EOX (End Of Exclusive)
* When this message is received, “Identity Reply Message” (p. 8) will be transmitted.
3
MIDI Implementation
Universal Realtime System Exclusive Messages
Master Volume
Status 2nd byte 3rd byte F0H 7FH, 7FH, 04H, 01H, llH, mmH F7H
Byte Explanation F0H Exclusive status 7FH ID number (universal realtime message) 7FH Device ID (Broadcast) 04H Sub ID#1 (Device Control) 01H Sub ID#2 (Master Volume) llH Master Volume lower byte mmH Master Volume upper byte F7H EOX (End Of Exclusive)
* The lower byte (llH) of Master Volume will be handled as 00H. * The Master Volume parameter (EDIT: System: Master Volume) will change.
Master Fine Tuning
Status 2nd byte 3rd byte F0H 7FH, 7FH, 04H, 03H, llH, mmH F7H
Byte Explanation F0H Exclusive status 7FH ID number (universal realtime message) 7FH Device ID (Broadcast) 04H Sub ID#1 (Device Control) 03H Sub ID#2 (Master Fine Tuning) llH Master Fine Tuning LSB mmH Master Fine Tuning MSB F7H EOX (End Of Exclusive)
mm, ll: 00 00H–40 00H–7F 7FH (-100–0–+99.9 [cents])
Master Coarse Tuning
Status 2nd byte 3rd byte F0H 7FH, 7FH, 04H, 04H, llH, mmH F7H
Byte Explanation F0H Exclusive status 7FH ID number (universal realtime message) 7FH Device ID (Broadcast) 04H Sub ID#1 (Device Control) 04H Sub ID#2 (Master Coarse Tuning) llH Master Coarse Tuning LSB mmH Master Coarse Tuning MSB F7H EOX (End Of Exclusive)
Global Parameter Control
Scale/Octave Tuning Adjust
Status 2nd byte 3rd byte F0H 7EH, 7FH, 08H, 08H, H, ggH, hhH, ssH... F7H
Byte Explanation F0H Exclusive status 7EH ID number (Universal Non-realtime Message) 7FH Device ID (Broadcast) 08H Sub ID#1 (MIDI Tuning Standard) 08H Sub ID#2 (scale/octave tuning 1-byte form) H Channel/Option byte 1 bits 0 to 1 = channel 15 to 16 bit 2 to 6 = Undened ggH Channel byte 2 bits 0 to 6 = channel 8 to 14 hhH Channel byte 3 bits 0 to 6 = channel 1 to 7 ssH 12 byte tuning oset of 12 semitones from C to B 00H = -64 [cents] 40H = 0 [cents] (equal temperament) 7FH = +63 [cents] F7H EOX (End Of Exclusive)
Key-based Instrument Controllers
Status 2nd byte 3rd byte F0H 7FH, 7FH, 0AH, 01H, 0nH, kkH, nnH, vvH F7H
Byte Explanation F0H Exclusive status 7FH ID number (universal realtime message) 7FH Device ID (Broadcast) 0AH Sub ID#1 (Key-Based Instrument Control) 01H Sub ID#2 (Controller) 0nH MIDI Channel (00–0F) kkH Key Number nnH Control Number vvH Value nn = 07H Level vv = 00H–7FH 0–200% (Relative) nn = 0AH Pan vv = 00H–7FH Left–Right (Absolute) : : F7 EOX (End Of Exclusive)
* This parameter aects drum instruments only.
ll: ignored (processed as 00H) mm: 28H–40H–58H (-24–0–+24 [semitones])
4
MIDI Implementation
Data 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 2BH.
Data Request 1 (RQ1)
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 2nd byte 3rd byte F0H 41H, dev, 00H, 00H, 75H, 11H, aaH, bbH, F7H ccH, ddH, ssH, ttH, uuH, vvH, sum
Byte Explanation F0H Exclusive status 41H ID number (Roland) dev Device ID (dev: 10H–1FH, 7FH) 00H Model ID #1 (RD-800) 00H Model ID #2 (RD-800) 75H model ID #3 (RD-800) 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)
* 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 “3. Parameter Address Map” (p. 9).
* For the checksum, refer to 15 page.
Data Set 1 (DT1)
This is the message that actually performs data transmission, and is used when you wish to transmit the data. Status 2nd byte 3rd byte F0H 41H, dev, 00H, 00H, 75H, 12H, aaH, bbH, F7H ccH, ddH, eeH, ... H, sum
Byte Explanation F0H Exclusive status 41H ID number (Roland) dev Device ID (dev: 10H–1FH, 7FH, Initial value is 10H) 00H Model ID #1 (RD-800) 00H Model ID #2 (RD-800) 75H Model ID #3 (RD-800) 12H Command ID (DT1) aaH
bbH
ccH
ddH
eeH
: : 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 specied starting address and size. Refer to the address and size given in “3. Parameter Address Map” (p. 9).
* 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.
* Regarding the checksum, please refer to p. 15.
Address MSB: upper byte of the starting address of the data to be sent Address: upper middle byte of the starting address of the data to be sent Address: lower middle byte of the starting address of the data to be sent Address LSB: lower byte of the starting address of the data to be sent. Data: the actual data to be sent. Multiple bytes of data are transmitted in order starting from the address.
5
Loading...
+ 11 hidden pages