Detailed instructions for use are in the User's Guide.
[. . . ] RPN MSB LSB 00H 01H Data entry MSB LSB Explanation mmH llH Master Fine Tuning mm, ll: 00 00H - 40 00H - 7F 7FH (-100 - 0 - +99. 99 cents), Initial Value = 40 00H (-100099. 9 cent) --- --RPN null Set condition where RPN and NRPN are unspecified. mm, ll: ignored
n = MIDI channel number : 0H-FH (ch. 1-ch. 16) mm, ll = the value of the parameter specified by RPN mm = upper byte (MSB), ll = lower byte (LSB)
Volume (Controller number 7)
Status BnH 2nd byte 07H 3rd byte vvH 0H-FH (ch. 1-ch. 16) 00H-7FH (0-127), Initial Value = 7FH (127)
n = MIDI channel number: vv = Volume: *
Received volume messages affect received note event levels, and cannot affect internal keyboard notes. 7FH 7FH
Expression (Controller number 11)
Status BnH 2nd byte 0BH 3rd byte vvH 0H-FH (ch. 1-ch. 16) 00H-7FH (0-127), Initial Value = 7FH (127)
n = MIDI channel number: vv = Expression: *
These message can affect only MIDI notes.
Hold 1 (Controller number 64)
Status BnH 2nd byte 40H 3rd byte vvH 0H-FH (ch. 1-ch. 16) 00H-7FH (0-127) 0-63 = OFF, 64-127 = ON
n = MIDI channel number: vv = Control value: *
These message can affect only MIDI notes.
Copyright © 2003 ROLAND CORPORATION All rights reserved. No part of this publication may be reproduced in any form without the written permission of ROLAND CORPORATION.
1
Program Change
Status CnH 2nd byte ppH 0H-FH (ch. 1-ch. 16) 00H. . 40H (prog. 1. . prog. 65)
Channel Mode Messages
Reset All Controllers (Controller number 121)
Status BnH 2nd byte 79H 3rd byte 00H
n = MIDI channel number: pp = Program number:
n = MIDI channel number : 0H-FH (ch. 1-ch. 16) Received program change message are assigned as follows. [. . . ] "---" and any program number other than those listed above are ignored. After a Program Change message is received, the sound will change beginning with the next Note-on. Voices already sounding when the Program Change message was received will not be affected. When this message is received, the following controllers will be set to their reset values. Reset value 127 (max) 0 (off) 0 (off) 0 (off)
Controller Expression Hold 1 Sostenuto Soft
Local Control (Controller number 122)
Status BnH 2nd byte 7AH 3rd byte vvH 0H - FH (ch. 1 - ch. 16) 00H, 7FH (0, 127) 0=OFF 127=ON
n=MIDI channel number: vv=Value:
All Notes Off (Controller number 123)
Status BnH 2nd byte 7BH 3rd byte 00H 0H-FH (ch. 1-ch. 16)
n = MIDI channel number: *
When All Notes Off is received, all notes on the corresponding channel will be turned off. However if Hold 1 or Sostenuto is ON, the sound will be continued until these are turned off.
OMNI OFF (Controller number 124)
Status BnH 2nd byte 7CH 3rd byte 00H 0H-FH (ch. 1-ch. 16)
n = MIDI channel number: *
The instrument will behave in the same way as it does when an "All Notes Off" message is received. The mode will be OMNI OFF, POLY (Mode 3).
OMNI ON (Controller number 125)
Status BnH 2nd byte 7DH 3rd byte 00H 0H-FH (ch. 1-ch. 16)
n = MIDI channel number: *
The instrument will behave in the same way as it does when an "All Notes Off" message is received. The mode will be OMNI ON, POLY (Mode 1).
MONO (Controller number 126)
Status BnH 2nd byte 7EH 3rd byte mmH 0H-FH (ch. 1-ch. 16) 00H-10H (0-16)
n = MIDI channel number: mm = mono number: *
The same processing will be carried out as when All Notes Off is received.
POLY (Controller number 127)
Status BnH 2nd byte 7FH 3rd byte 00H 0H-FH (ch. 1-ch. 16)
n = MIDI channel number: *
The same processing will be carried out as when All Notes Off is received.
2
System Realtime Message
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 360 msec, the same processing will be carried out as when All Notes Off and Reset All Controllers are received, and message interval monitoring will be halted.
Section 2. Transmit Data
Channel Voice Messages
Note off
Status 8nH 2nd byte kkH 3rd byte 40H 0H-FH (ch. 1-ch. 16) 0FH-71H (15-113)
System Exclusive Message
Status F0H F0H: Data byte iiH, ddH, . . . . . . , eeH Status F7H
n = MIDI channel number: kk = note number:
Note on
Status 9nH 2nd byte kkH 3rd byte vvH 0H-FH (ch. 1-ch. 16) 0FH-71H (15-113) 01H-7FH (1-127)
dd, . . . , ee = data: F7H:
System Exclusive Message status ii = ID number: an ID number (manufacturer ID) to indicate the manufacturer whose Exclusive message this is. Once the parameter number has been specified for RPN, 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.
Example of an Exclusive message and calculating a Checksum
Roland Exclusive messages (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 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. We will assume that in the exclusive message we are transmitting, the address is aa bb and the data or size is ccH. remainder 128 - remainder = checksum Set "Reverb Type" to "Type 4" According to the Parameter Address Map, the Address of Reverb Type is 01 03H, and the Value corresponding to Type 4 is 30H. So, the message should be : F0 41 00 1A 12 01 03 30 -- -- -- -- -- ------(1) (2) (3) (4) (5) address data (1) Exclusive Status (4) Model ID (BN-60) * ??-checksum F7 -(6) (3) Device ID (UNIT#-1) (6) End of Exclusive
For example, two hexadecimal numbers aa bbH expressing two 7-bit bytes would indicate a value of aa x 128 + bb.
(2) ID (Roland) (5) Command ID (DT1)
<Example> What is the decimal expression of 5AH ?
From the preceding table, 5AH = 90
UNIT NUMBER is always the same as the current MIDI Tx/Rx channel. In this example, the MIDI Tx/Rx channel is 1.
Next we calculate the checksum. 01H + 03H + 30H = 1 + 3 + 48 = 52 (sum) 52 (sum) ÷ 128 = 0 (quotient) . . . 52 (remainder) checksum = 128 - 52 (remainder) = 76 = 4CH Therefore, the message to send is : F0 41 00 1A 12 01 03 30 4C F7
<Example> 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
Examples of actual MIDI messages
<Example> 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 with MIDI CH = 3, note number 62 (note name is D4), and velocity 95.
About tuning
BN-60 is tuned by sending RPN #1 (Master Fine Tuning) to the appropriate MIDI Rx channel. RPN #1 allows tuning to be specified in steps of approximately 0. 012 cents (to be precise, 100/8192 cent). Frequently used tuning values are given in the following table for your reference. +----------------+----------------+----------------------------+ |Hz at A4| cent | RPN #1 | +----------------+----------------+----------------------------+ | 445. 0 | +19. 56 | 4C 43 (+1603)| | 444. 0 | +15. 67 | 4A 03 (+1283)| | 443. 0 | +11. 76 | 47 44 (+ 964)| | 442. 0 | + 7. 85 | 45 03 (+ 643)| | 441. 0 | + 3. 93 | 42 42 (+ 322)| | 440. 0 | 0 | 40 00 ( 0)| | 439. 0 | -- 3. 94 | 3D 3D (-- 323)| | 438. 0 | -- 7. 89 | 3A 7A (-- 646)| +----------------+----------------+----------------------------+ Set the tuning of BN-60 to A4 = 442. 0 Hz Send RPN#1 to the MIDI Tx/Rx channel. [. . . ]