Roland EP 670 Service Manual

Page 1
DIGITAL PIANO Date: Mar.24,1999 Model ep-70/90
MIDI Implementation
Version: 1.00
1. Receive data
Channel Voice Messages
Note off
Status 8nH kkH vvH 9nH kkH 00H
n=MIDI channel number: 0H - FH (ch.1 - ch.16) kk=note number: 00H - 7FH (0 - 127) vv=note off velocity: 00H - 7FH (0 - 127)
* The velocity values of Note Off messages are ignored.
Note on
Status 9nH kkH vvH
n=MIDI channel number: 0H - FH (ch.1 - ch.16) kk=note number: 00H - 7FH (0 - 127) vv=note on velocity: 01H - 7FH (1 - 127)
* Note numbers outside the range of 15-113 are transposed to the nearest octave within
this range.
* Transpose function does not affect the recognized note numbers.
Control Change
* The value specified by a Control Change message will not be reset even by a Program
Change, etc.
Data Entry (Controller number 6,38)
Status BnH 06H mmH BnH 26H llH
n=MIDI channel number: 0H - FH (ch.1 - ch.16) mm,ll= the value of the parameter specified by RPN mm=MSB, ll=LSB
Volume (Controller number 7)
Status BnH 07H vvH
n=MIDI channel number: 0H - FH (ch.1 - ch.16) vv=Volume: 00H - 7FH (0 - 127)
* Received volume messages affect received note event levels (Rx ch/Part), and cannot
affect internal keyboard notes.
Expression (Controller number 11)
Status BnH 0BH vvH
n=MIDI channel number: 0H - FH (ch.1 - ch.16) vv=Expression: 00H - 7FH (0 - 127)
* These message can affect only MIDI notes.
Hold 1 (Controller number 64)
Status BnH 40H vvH
2nd byte 3rd byte
2nd byte 3rd byte
2nd byte 3rd byte
2nd byte 3rd byte
2nd byte 3rd byte
2nd byte 3rd byte
Sostenuto (Controller number 66)
Status 2nd byte 3rd byte BnH 42H vvH
n=MIDI channel number: 0H - FH (ch.1 - ch.16) vv=Control value: 00H - 7FH (0 - 127) 0-63=OFF, 64-127=ON
* These message can affect only MIDI notes.
Soft (Controller number 67)
Status 2nd byte 3rd byte BnH 43H vvH
n=MIDI channel number: 0H - FH (ch.1 - ch.16) vv=Control value: 00H - 7FH (0 - 127) 0-63=OFF, 64-127=ON
* These message can affect only MIDI notes.
Effect 1 (Reverb Send Level) (Controller number 91)
Status 2nd byte 3rd byte BnH 5BH vvH
n=MIDI channel number: 0H - FH (ch.1 - ch.16) vv=Control value: 00H - 7FH (0 - 127) 0-63=OFF 64-127=ON
Effect 3 (Chorus Send Level) (Controller number 93)
Status 2nd byte 3rd byte BnH 5DH vvH
n=MIDI channel number: 0H - FH (ch.1 - ch.16) vv=Control value: 00H - 7FH (0 - 127) 0-63=OFF 64-127=ON
RPN MSB/LSB (Controller number 100,101)
Status 2nd byte 3rd byte BnH 65H mmH BnH 64H llH
n=MIDI channel number: 0H - FH (ch.1 - ch.16) mm=upper byte of parameter number specified by RPN ll=lower byte of parameter number specified by RPN
* The value specified by RPN will not be reset even by messages such as Program Change
or Reset All Controller.
** RPN ** The RPN (Registered Parameter Number) messages are expanded control changes, and each function of an RPN is described by the MIDI Standard. To use these messages, you must first use RPN MSB and RPN LSB messages to specify the parameter to be controlled, and then use Data Entry messages to specify the value of the specified parameter. Once an RPN parameter has been specified, all Data Entry messages received on that channel will modify the value of that parameter. To prevent accidents, it is recommended that you set RPN Null (RPN Number = 7FH/7FH) when you have finished setting the value of the desired parameter.
On the ep-70/90, RPN can be used to modify the following parameters.
RPN Data entry MSB LSB MSB LSB Explanation 00H 01H mmH llH Master Fine Tuning
mm,ll: 00 00H - 40 00H - 7F 7FH (-100 - 0 - +99.9 cents)
7FH 7FH --- --- RPN null
Set condition where RPN is unspecified. Settings already made will not change. mm,ll: ignored
n=MIDI channel number: 0H - FH (ch.1 - ch.16) vv=Control value: 00H - 7FH (0 - 127) 0-63=OFF, 64-127=ON
* These message can affect only MIDI notes.
Copyright © 1999 ROLAND CORPORATION All rights reserved. No part of this publication may be reproduced in any form without the written permission of ROLAND CORPORATION.
1
Page 2
Program Change
Status 2nd byte CnH ppH
n=MIDI channel number: 0H - FH (ch.1 - ch.16) pp=Program number: 00H - 23H (prog.1 - 36)
Received program change message are assigned as follows.
program number tone
1 Piano1 2 Piano2 3 E.Piano 4 Vibraphone 5 Harpsichord 6 Organ 7 Strings 8 Choir 9 Piano1 + Piano2 10 Piano1 + E.Piano 11 Piano1 + Vibraphone 12 Piano1 + Harpsichord 13 Piano1 + Organ 14 Piano1 + Strings 15 Piano1 + Choir 16 Piano2 + E.Piano 17 Piano2 + Vibraphone 18 Piano2 + Harpsichord 19 Piano2 + Organ 20 Piano2 + Strings 21 Piano2 + Choir 22 E.Piano + Vibraphone 23 E.Piano + Harpsichord 24 E.Piano + Organ 25 E.Piano + Strings 26 E.Piano + Choir 27 Vibraphone + Harpsichord 28 Vibraphone + Organ 29 Vibraphone + Strings 30 Vibraphone + Choir 31 Harpsichord + Organ 32 Harpsichord + Strings 33 Harpsichord + Choir 34 Organ + Strings 35 Organ + Choir 36 Strings + Choir
All Notes Off (Controller number 123)
Status 2nd byte 3rd byte BnH 7BH 00H
n=MIDI channel number: 0H - FH (ch.1 - ch.16)
* When All Notes Off is received, all notes on the corresponding channel will be turned
off. How ever if Hold 1 or Sostenuto is ON, the sound will be continued until these are turned off.
OMNI OFF (Controller number 124)
Status 2nd byte 3rd byte BnH 7CH 00H
n=MIDI channel number: 0H - FH (ch.1 - ch.16)
* 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 2nd byte 3rd byte BnH 7DH 00H
n=MIDI channel number: 0H - FH (ch.1 - ch.16)
* 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 2nd byte 3rd byte BnH 7EH mmH
n=MIDI channel number: 0H - FH (ch.1 - ch.16) mm=mono number: 00H - 7FH (0 - 127)
* The same processing will be carried out as when All Notes Off is received.
POLY (Controller number 127)
Status 2nd byte 3rd byte BnH 7FH 00H
n=MIDI channel number: 0H - FH (ch.1 - ch.16)
* The same processing will be carried out as when All Notes Off is received.
* 9-36 are in Dual Play mode. * Any other program number will be 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.
Channel Mode Messages
Reset All Controllers (Controller number 121)
Status BnH 79H 00H
n=MIDI channel number: 0H - FH (ch.1 - ch.16)
* When this message is received, the following controllers will be set to their reset values.
Controller Reset value Expression 127 (max) Hold 1 0 (off) Sostenuto 0 (off) Soft 0 (off)
Local Control (Controller number 122)
Status BnH 7AH vvH
n=MIDI channel number: 0H - FH (ch.1 - ch.16) vv=Value: 00H, 7FH (0, 127) 0=OFF 127=ON
2nd byte 3rd byte
2nd byte 3rd byte
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 ms, 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.
System Exclusive Message
Status
F0H ii, ddH, ......,eeH F7H
F0H: System Exclusive Message status ii = ID number: an ID number (manufacturer ID) to indicate the manufacturer whose
ID numbers 7EH and 7FH are extensions of the MIDI standard;
dd,...,ee = data: 00H - 7FH (0 - 127) F7H: EOX (End Of Exclusive)
The System Exclusive Messages received by the ep-70/90 is Universal Non-real time System Exclusive messages (Identity request).
Data byte Status
Exclusive message this is. Roland's manufacturer ID is 41H.
Universal Non-real time Messages (7EH) and Universal Realtime Messages (7FH).
2
Page 3
Universal Non-realtime System Exclusive Messages
Identity Request
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:UNIT#-1) 06H Sub ID#1 (General Information) 01H Sub ID#2 (Identity Request) F7H EOX (End Of Exclusive)
* When Identity Request is received, Identity Reply message will be transmitted. * Even if the Device ID is 7FH(Broadcast), Identity Reply message will be transmitted. * The “dev” is own device number (UNIT#-1) or 7FH (Broadcast). * UNIT NUMBER is always the same as the current MIDI Tx/Rx channel.
2. Transmit data
Channel Voice Messages
Note off
Status 8nH kkH 40H
n=MIDI channel number: 0H - FH (ch.1 - ch.16) kk=note number: 0FH - 71H (15 - 113) ep-90 : 16H - 6CH (22 - 108) ep-70
Note on
Status 9nH kkH vvH
n=MIDI channel number: 0H - FH (ch.1 - ch.16) kk=note number: 0FH - 71H (15 - 113) ep-90 : 16H - 6CH (22 - 108) ep-70 vv=note on velocity: 01H - 7FH (1 - 127)
* Note number's range can be changed with Key Transpose.
Control Change
Data Entry (Controller number 6,38)
Status BnH 06H mmH BnH 26H llH
n=MIDI channel number: 0H - FH (ch.1 - ch.16) mm,ll= the value of the parameter specified by RPN mm=MSB, ll=LSB
Hold 1 (Controller number 64)
Status BnH 40H vvH
n=MIDI channel number: 0H - FH (ch.1 - ch.16) vv=Control value: 00H,7FH (0,127) 0=OFF 127=ON
Soft (Controller number 67)
Status BnH 43H vvH
n=MIDI channel number: 0H - FH (ch.1 - ch.16) vv=Control value: 00H,7FH (0,127) 0=OFF 127=ON
Effect 1 (Reverb Send Level) (Controller number 91)
Status BnH 5BH vvH
n=MIDI channel number: 0H - FH (ch.1 - ch.16) vv=Control value: 00H,7FH (0,127) 0=OFF 127=ON
2nd byte 3rd byte
2nd byte 3rd byte
2nd byte 3rd byte
2nd byte 3rd byte
2nd byte 3rd byte
2nd byte 3rd byte
Effect 3 (Chorus Send Level) (Controller number 93)
Status 2nd byte 3rd byte BnH 5DH vvH
n=MIDI channel number: 0H - FH (ch.1 - ch.16) vv=Control value: 00H,7FH (0,127) 0=OFF 127=ON
RPN MSB/LSB (Controller number 100,101)
Status BnH 65H mmH BnH 64H llH
n=MIDI channel number: 0H - FH (ch.1 - ch.16) mm=upper byte of parameter number specified by RPN (MSB) ll=lower byte of parameter number specified by RPN (LSB)
** RPN ** ep-70/90 can transmit Master fine tuning (RPN #1) and RPN null. After sending the master fine tune, immediately the RPN Null shall be sent.
RPN Data entry MSB LSB 00H 01H mmH llH Master Fine Tuning
7FH 7FH --- --- RPN null
2nd byte 3rd byte
MSB LSB Explanation
mm,ll: 00 00H - 40 00H - 7F 7FH (-100 - 0 - +99.9 cents)
Program Change
Status 2nd byte CnH ppH
n=MIDI channel number: 0H - FH (ch.1 - ch.16) pp=Program number: 00H - 23H (prog.1 - prog.36)
* For the correspondence between Program Change numbers and Tones, please refer to
“Program Change” in “1. Receive Data.”
System Realtime Message
Active sensing
Status FEH
* This will be transmitted constantly at intervals of approximately 210ms.
System exclusive messages
The exclusive message of ep-70/90 data has a model ID of 1AH, and device ID is defined by MIDI UNIT NUMBER.UNIT NUMBER is always the same as the current MIDI Tx/Rx channel.
The System Exclusive Messages transmitted by the ep-70/90 is Universal Non-realtime System Exclusive messages (Identity Reply).
Universal Non-realtime System Exclusive Messages
Identity Reply
Status
Data byte Status F0H 7EH,dev,06H,02H,41H,1AH,00H,02H,02H,00H,01H,00H,00H F7H (ep-70) F0H 7EH,dev,06H,02H,41H,1AH,00H,02H,02H,01H,01H,00H,00H F7H (ep-90)
Byte F0H Exclusive status 7EH ID number (Universal Non-realtime Message) dev Device ID (dev:UNIT#-1) 06H Sub ID#1 (General Information) 02H Sub ID#2 (Identity Reply) 41H Manufacture's ID (Roland) 1AH,00H Device family code 02H,02H Device family number code 00H,01H,00H,00H Software revision level 01H,01H,00H,00H Software revision level F7H EOX (End Of Exclusive)
* When Identity Request is received, Identity Reply message will be transmitted.
Explanation
3
Page 4
4
3. Supplementary material
Decimal and Hexadecimal table
In MIDI documentation, data values and addresses of exclusive messages etc. are expressed as hexadecimal values for each 7 bits. The following table shows how these correspond to decimal numbers.
* Hexadecimal values are indicated by a following “H.”
+——————+——————++——————+——————++——————+——————++——————+——————+ | D | H || D | H || D | H || D | H | +——————+——————++——————+——————++——————+——————++——————+——————+ | 0 | 00H || 32 | 20H || 64 | 40H || 96 | 60H | | 1 | 01H || 33 | 21H || 65 | 41H || 97 | 61H | | 2 | 02H || 34 | 22H || 66 | 42H || 98 | 62H | | 3 | 03H || 35 | 23H || 67 | 43H || 99 | 63H | | 4 | 04H || 36 | 24H || 68 | 44H || 100 | 64H | | 5 | 05H || 37 | 25H || 69 | 45H || 101 | 65H | | 6 | 06H || 38 | 26H || 70 | 46H || 102 | 66H | | 7 | 07H || 39 | 27H || 71 | 47H || 103 | 67H | | 8 | 08H || 40 | 28H || 72 | 48H || 104 | 68H | | 9 | 09H || 41 | 29H || 73 | 49H || 105 | 69H | | 10 | 0AH || 42 | 2AH || 74 | 4AH || 106 | 6AH | | 11 | 0BH || 43 | 2BH || 75 | 4BH || 107 | 6BH | | 12 | 0CH || 44 | 2CH || 76 | 4CH || 108 | 6CH | | 13 | 0DH || 45 | 2DH || 77 | 4DH || 109 | 6DH | | 14 | 0EH || 46 | 2EH || 78 | 4EH || 110 | 6EH | | 15 | 0FH || 47 | 2FH || 79 | 4FH || 111 | 6FH | | 16 | 10H || 48 | 30H || 80 | 50H || 112 | 70H | | 17 | 11H || 49 | 31H || 81 | 51H || 113 | 71H | | 18 | 12H || 50 | 32H || 82 | 52H || 114 | 72H | | 19 | 13H || 51 | 33H || 83 | 53H || 115 | 73H | | 20 | 14H || 52 | 34H || 84 | 54H || 116 | 74H | | 21 | 15H || 53 | 35H || 85 | 55H || 117 | 75H | | 22 | 16H || 54 | 36H || 86 | 56H || 118 | 76H | | 23 | 17H || 55 | 37H || 87 | 57H || 119 | 77H | | 24 | 18H || 56 | 38H || 88 | 58H || 120 | 78H | | 25 | 19H || 57 | 39H || 89 | 59H || 121 | 79H | | 26 | 1AH || 58 | 3AH || 90 | 5AH || 122 | 7AH | | 27 | 1BH || 59 | 3BH || 91 | 5BH || 123 | 7BH | | 28 | 1CH || 60 | 3CH || 92 | 5CH || 124 | 7CH | | 29 | 1DH || 61 | 3DH || 93 | 5DH || 125 | 7DH | | 30 | 1EH || 62 | 3EH || 94 | 5EH || 126 | 7EH | | 31 | 1FH || 63 | 3FH || 95 | 5FH || 127 | 7FH | +——————+——————++——————+——————++——————+——————++——————+——————+
D: decimal H: hexadecimal
* Decimal values such as MIDI channel, bank select, and program change are listed as
one(1) 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.
<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
Example of actual MIDI messages
<Example 1> 91 3E 5F 9n is the Note-on status, and n is the MIDI channel number. Since 1H = 1, 3EH = 62, and 5FH = 95, this is a Note-on message with MIDI CH = 2, note number 62 (note name is D4), and velocity 95.
<Example 2> C0 07 CnH is the Program Change status, and n is the MIDI channel number. Since 0H = 0 and 07H = 7, this is a Program Change message with MIDI CH = 1, program number 8 (Choir).
<Example 3> B0 64 01 65 00 06 40 26 00 64 7F 65 7F BnH is the Control Change status, and n is the MIDI channel number. For Control Changes, the 2nd byte is the control number, and the 3rd byte is the value. In a case in which two or more messages consecutive messages have the same status, MIDI has a provision called “running status” which allows the status byte of the second and following messages to be omitted. Thus, the above messages have the following meaning.
B0 64 01 MIDI ch.1, lower byte of RPN parameter number: 01H (B0) 65 00 MIDI ch.1, upper byte of RPN parameter number: 00H (B0) 06 40 MIDI ch.1, upper byte of parameter value: 40H (B0) 26 00 MIDI ch.1, lower byte of parameter value: 00H (B0) 64 7F MIDI ch.1, lower byte of RPN parameter number: 7FH (B0) 65 7F MIDI ch.1, upper byte of RPN parameter number: 7FH
In other words, the above messages specify a value of 40 00H (440.0[Hz]) for RPN parameter number 00 01H (Master Fine Tuning) on MIDI channel 1, and then set the RPN parameter number to 7F 7FH (RPN null). 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 (B0) 64 7F (B0) 65 7F at the end.
About tuning
In MIDI, ep-70/90 is tuned by sending RPN #1 (Master Fine Tuning) to the appropriate MIDI channel. RPN #1 allows tuning to be specified in steps of approximately 0.012 cents (to be precise, 100/8192 cent). One cent is 1/100th of a semitone. The values of RPN #1 (Master Fine Tuning) are added together to determine the actual pitch sounded.
Frequently used tuning values are given in the following table for your reference. Values are in hexadecimal (decimal in parentheses).
+————————+————————+——————————————+ |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)| +————————+————————+——————————————+
<Example> Set the tuning of ep-70/90 to A4 = 442.0 Hz Send RPN#1 to MIDI Tx, Rx channel. From the above table, the value is 45 03H.
B0 64 01 MIDI ch.1, lower byte of RPN parameter number: 01H (B0) 65 00 MIDI ch.1, upper byte of RPN parameter number: 00H (B0) 06 45 MIDI ch.1, upper byte of parameter value: 45H (B0) 26 03 MIDI ch.1, lower byte of parameter value: 03H (B0) 64 7F MIDI ch.1, lower byte of RPN parameter number: 7FH (B0) 65 7F MIDI ch.1, upper byte of RPN parameter number: 7FH
Loading...