Roland FP3 Service Manual

DIGITAL PIANO Date: Oct.10.2000 Model: FP-3
MIDI IMPLEMENTATION
Version: 1.00
Section 1. Receive data
Channel Voice Messages
Note off
Status 2nd byte 3rd byte 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)
Control Change
* The value specified by a Control Change message will not be reset even by a Program
Change, etc.
Bank Select (Controller number 0, 32)
Status BnH 00H mmH BnH 20H llH
n = MIDI channel number: 0H-FH (ch.1-ch.16) mm, ll = Bank number: 00 00H-7F 7FH (bank.1-bank.16384), Initial Value = 00 00H (bank.1)
* Bank Select processing will be suspended until a Program Change message is received.
Data Entry (Controller number 6, 38)
Status 2nd bytes 3rd byte 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
Volume (Controller number 7)
Status BnH 07H vvH
n = MIDI channel number: 0H-FH (ch.1-ch.16) vv = Volume: 00H-7FH (0-127), Initial Value = 64H (100)
* Volume messages are used to adjust the volume balance of each Part.
Pan (Controller number 10)
Status BnH 0AH vvH
n = MIDI channel number: 0H-FH (ch.1-ch.16) vv = pan: 00H-40H-7FH (Left-Center-Right), Initial Value = 40H (Center)
* For Rhythm Parts, this is a relative adjustment of each Instruments pan setting.'
Expression (Controller number 11)
Status 2nd bytes 3rd byte BnH 0BH vvH
n = MIDI channel number: 0H-FH (ch.1-ch.16) vv = Expression: 00H-7FH (0-127), Initial Value = 7FH (127)
* It can be used independently from Volume messages. Expression messages are used for
musical expression within a performance; e.g., expression pedal movements, crescendo and decrescendo.
2nd bytes 3rd byte
2nd bytes 3rd byte
2nd bytes 3rd byte
2nd bytes 3rd byte
Hold 1 (Controller number 64)
Status 2nd bytes 3rd byte BnH 40H vvH
n = MIDI channel number: 0H-FH (ch.1-ch.16) vv = Control value: 00H-7FH (0-127)
Sostenuto (Controller number 66)
Status 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
2nd bytes 3rd byte
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-63 = OFF, 64-127 = ON
2nd bytes 3rd byte
Effect 1 (Reverb Send Level) (Controller number 91)
Status 2nd bytes 3rd byte BnH 5BH vvH
n = MIDI channel number: 0H-FH (ch.1-ch.16) vv = Control value: 00H-7FH (0-127), Initial Value = 28H (40)
* This message adjusts the Reverb Send Level of each Part.
Effect 3 (Chorus Send Level) (Controller number 93)
Status BnH 5DH vvH
n = MIDI channel number: 0H-FH (ch.1-ch.16) vv = Control value: 00H-7FH (0-127), Initial Value = 00H (0)
* This message adjusts the Chorus Send Level of each Part.
2nd bytes 3rd byte
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 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.Refer to Section 4. “Examples of actual MIDI messages” <Example 4> (p. 7). On the FP-3, RPN can be used to modify the following parameters.
RPN Data entry MSB LSB 00H 00H mmH --- Pitch Bend Sensitivity
00H 01H mmH llH Master Fine Tuning
00H 02H mmH --- Master Coarse Tuning
7FH 7FH --- --- RPN null
2nd bytes 3rd byte
MSB LSB Explanation
mm: 00H-18H (0-24 semitones), Initial Value = 02H (2 semitones) ll: ignored (processed as 00h) specify up to 2 octaves in semitone steps
mm, ll: 00 00H - 40 00H - 7F 7FH (-100 - 0 - +99.99 cents), Initial Value = 40 00H (0 cent) ll: ignored (processed as 00h) specify up to 2 octaves in semitone steps Refer to 4. Supplementary material, “About tuning” (p. 8)
mm: 28H - 40H - 58H (-24 - 0 - +24 semitones), Initial Value = 40H (0 cent) ll: ignored (processed as 00h)
Set condition where an RPN is unspecified. The data entry messages after set RPN null will be ignored. (No Data entry messages are required after RPN null). Settings already made will not change. mm, ll: ignored
Copyright © 2000 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 ppH
n = MIDI channel number: 0H-FH (ch.1-ch.16) pp = Program number: 00H-25H,3FH (prog.1-prog.38, prog.64)
* 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.
2nd bytes
Pitch Bend Change
Status EnH llH mmH
n = MIDI channel number: 0H-FH (ch.1-ch.16) mm, ll = Pitch Bend value: 00 00H - 40 00H - 7F 7FH (-8192 - 0 - +8191)
2nd byte 3rd bytes
Channel Mode Messages
All Sounds Off (Controller number 120)
Status BnH 78H 00H
n = MIDI channel number: 0H-FH (ch.1-ch.16)
* When this message is received, all currently-sounding notes on the corresponding
channel will be turned off immediately.
Reset All Controllers (Controller number 121)
Status 2nd byte 3rd bytes 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 Pitch Bend Change +-0 (Center) Expression 127 (max) Hold 1 0 (off) Sostenuto 0 (off) Soft 0 (off) RPN unset; previously set data will not change
All Notes Off (Controller number 123)
Status 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. 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 7CH 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.
OMNI ON (Controller number 125)
Status 2nd byte 3rd bytes BnH 7DH 00H
2nd byte 3rd bytes
2nd byte 3rd bytes
2nd byte 3rd bytes
MONO (Controller number 126)
Status BnH 7EH mmH
n = MIDI channel number: 0H-FH (ch.1-ch.16) mm = mono number: 00H-10H (0-16)
* The same processing will be carried out as when All Sounds Off and All Notes Off is
received, and the corresponding channel will be set to Mode 4 (M = 1) regardless of the value of “mono number.”
2nd byte 3rd bytes
POLY (Controller number 127)
Status BnH 7FH 00H
n = MIDI channel number: 0H-FH (ch.1-ch.16)
* The same processing will be carried out as when All Sounds Off and All Notes Off is
received, and the corresponding channel will be set to Mode 3.
2nd byte 3rd bytes
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 420 ms, the same processing will be carried out as when All Sounds Off, All Notes Off and Reset All Controllers are received, and message interval monitoring will be halted.
System Exclusive Message
Status Data byte Status
F0H iiH, ddH, ......, eeH F7H
F0H: System Exclusive Message status ii = ID number: an ID number (manufacturer ID) to indicate the manufacturer whose
dd,...,ee = data: 00H-7FH (0-127) F7H: EOX (End Of Exclusive)
The System Exclusive Messages received by the FP-3 are Universal Realtime System Exclusive messages and Data Set (DT1).
Universal Realtime System Exclusive Messages
Master volume
Status 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 messages) 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.
Exclusive message this is. Rolands 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).
Data byte Status
n = MIDI channel number: 0H-FH (ch.1-ch.16)
* OMNI ON is only recognized as “All notes off;” the Mode doesn’t change (OMNI OFF
remains).
2
Universal Non-realtime System Exclusive Messages
Identity Request Message
Status F0H 7FH, 10H, 06H, 01H F7H
Byte Explanation F0H Exclusive status 7FH ID number (universal realtime message) 10H Device ID 06H Sub ID#1 (General Information) 01H Sub ID#2 (Identity Request) F7H EOX (End Of Exclusive)
* The Device ID is 10H or 7FH (Broadcast).
Data byte Status
Data transmission
FP-3 can receive the various parameters using System Exclusive messages. The exclusive message of data has a model ID of 42H and a device ID of 10H (17).
Data set 1 (DT1)
This is the message that actually performs data transmission, and is used when you wish to transmit the data.
Status F0H 41H, 10H, 42H, 12H, aaH, bbH, ccH, ddH, ... eeH, sum F7H
Byte Explanation F0H Exclusive status 41H ID number (Roland) 10H Device ID 42H Model ID 12H Command ID (DT1) aaH Address MSB: upper byte of the starting address of the transmitted data bbH Address: middle byte of the starting address of the transmitted data ccH Address LSB: lower byte of the starting address of the transmitted data ddH Data: the actual data to be transmitted. Multiple bytes of data are
: : eeH 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 can be received only from the specified starting address and size. Refer to the Address and Size given in Section 3 (p. 5).
* Data larger than 128 bytes must be divided into packets of 128 bytes or less. If “Data Set
1" is transmitted successively, there must be an interval of at least 40 ms between packets.
* Regarding the checksum please refer to section 4 (p. 7).
Data byte Status
transmitted starting from the address.
Section 2. Transmit data
* The following messages are transmitted on MIDI channel 10 (ch. 10) when a Drum Set
tone is selected on the panel.
* In Split mode, only the note messages of the performance data from the left-hand side
are transmitted on MIDI channel 3 (ch. 3)
Channel Voice Messages
Note off
Status 8nH kkH vvH
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)
* Note off message is sent out with the velocity of 40H.
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)
Control Change
Bank Select (Controller number 0, 32)
Status BnH 00H mmH BnH 20H llH
n = MIDI channel number: 0H-FH (ch.1-ch.16) mm, ll = Bank number: 00H-7FH (bank.1-bank.16384)
* Not transmitted when MIDI Out Mode is set to 2.
Expression (Controller number 11)
Status 2nd bytes 3rd byte BnH 0BH vvH
n = MIDI channel number: 0H-FH (ch.1-ch.16) vv = Expression: 00H-7FH (0-127)
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)
Sostenuto (Controller number 66)
Status BnH 42H vvH
2nd byte 3rd byte
2nd bytes 3rd byte
2nd bytes 3rd byte
2nd bytes 3rd byte
2nd bytes 3rd byte
n = MIDI channel number: 0H-FH (ch.1-ch.16) vv = Control value: 00H-7FH (0-127) 0-63 = OFF, 64-127 = ON
Soft (Controller number 67)
Status 2nd bytes 3rd byte BnH 43H vvH
n = MIDI channel number: 0H-FH (ch.1-ch.16) vv = Control value: 00H-7FH (0-127)
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)
* Not transmitted when MIDI Out Mode is set to 2.
2nd bytes 3rd byte
3
Effect 3 (Chorus Send Level) (Controller number 93)
Status 2nd bytes 3rd byte BnH 5DH vvH
n = MIDI channel number: 0H-FH (ch.1-ch.16) vv = Control value: 00H-7FH (0-127)
* Not transmitted when MIDI Out Mode is set to 2.
Program Change
Status CnH ppH
n = MIDI channel number: 0H-FH (ch.1-ch.16) pp = Program number: 00H-25H,3FH (prog.1-prog.38, prog.64)
* Not transmitted when MIDI Out Mode is set to 2.
2nd bytes
System Realtime Message
Realtime Clock
Status F8H
Active sensing
Status FEH
* This will be transmitted constantly at intervals of approximately 250 ms.
System exclusive messages
Universal Non-realtime System Exclusive Messages
Identity Reply
Status Data byte Status F0H 7EH, 10H, 06H, 02H, 41H, 3AH, 01H, 00H, 00H, 00H, 01H, 00H, 00H, F7H F7H
Byte Explanation F0H Exclusive status 7EH ID number (universal non-realtime message) 10H Device ID (use the same as the device ID of Roland) 06H Sub ID#1 (General Information) 02H Sub ID#2 (Identity Reply) 41H ID number (Roland) 3AH Device family code (LSB) 01H Device family code (MSB) 00H Device family number code (LSB) 00H Device family number code (MSB) 00H Software revision level 01H Software revision level 00H Software revision level 00H Software revision level F7H EOX (End of Exclusive)
4
Section 3. Parameter Address Map (Model ID = 42H)
This map indicates address, size, Data (range), Parameter, Description, and Default Value of parameters which can be transferred using and “Data set 1 (DT1).” All the numbers of address, size, Data, and Default Value are indicated in 7-bit Hexadecimal-form.
* Addresses marked at “#” cannot be used as starting addresses.
System Parameters
Parameters related to the system of the device are called System Parameters. Address (H) 40 00 00 00 00 04 0018-07E8 MASTER TUNE -100.0 - +100.0 [cent] 00 04 00 00 0 [cent] 40 00 01# Use nibblized data. 40 00 02# 40 00 03#
* Refer to section 4. Supplementary material, “About tuning” (p. 8).
Size (H) Data (H) Parameter Description Default Value (H) Description
40 00 04 00 00 01 00-7F MASTER VOLUME 0-127 7F 127
40 00 05 00 00 01 28-58 MASTER KEY-SHIFT -24 - +24 [semitones] 40 0 [semitones] 40 00 06 00 00 01 01-7F MASTER PAN -63 (LEFT) - +63 (RIGHT) 40 0 (CENTER)
40 01 10 00 00 10 00-40 VOICE RESERVE Part 10 (Drum Part) 02 2 40 01 11# Part 1 06 6 40 01 12# Part 2 02 2 40 01 13# Part 3 02 2 40 01 14# Part 4 02 2 40 01 15# Part 5 02 2 40 01 16# Part 6 02 2 40 01 17# Part 7 02 2 40 01 18# Part 8 02 2 40 01 19# Part 9 02 2 40 01 1A# Part 11 00 0 40 01 :# : 40 01 1F# Part 16 00 0
* The sum total of voices in the voice reserve function must be equal to or less than the number of the maximum polyphony. The maximum polyphony of the FP-3 is 64.
40 01 30 00 00 01 00-05 REVERB MACRO 00 04 40 03 00 00 00 02 00-7F EFX TYPE (MSB, LSB) 00 00 - 7F 7F 00 01 Thru
* This EFX Type is current EFX type of this system. When part EFX type is same to this EFX type, that part connect to EFX.
40 03 1B 00 00 01 00-7F EFX Control Source 00: OFF 00
40 03 1C 00 00 01 00-7F EFX Control Depth 7F -100% - +100%
(= F0 7F 7F 04 01 00 vv F7)
00 00: Thru 00 40: Sympathetic Resonance 01 22: Rotary
01-5F: Control Change No. 72: Bender
* You can control the amount of Sympathetic Resonance or speed of the rotary effect in real time by means of the event that is assigned to EFX Control Source. If you set Sympathetic Resonance
(MSB: 00h; LSB: 40h) to EFX type, 40h to EFX Control Source, and 7Fh to EFX Control Depth, you can control the amount of Sympathetic Resonance by means of Damper messages.
Part Parameters
FP-3 has 16 parts. Parameters that can be set individually for each Part are called Part parameters. If you use exclusive messages to set Part parameters, specify the address by Block number rather than Part Number (normally the same number as the MIDI channel). The Block number can be specified as one of 16 blocks, from 0 (H) to F (H). The relation between Part number and Block number is as follows.
x...BLOCK NUMBER (0-F), Part 1 (MIDI ch = 1) x = 1 (H)
Part 2 (MIDI ch = 2) x = 2 (H) : : : Part 9 (MIDI ch = 9) x = 9 (H) Part10 (MIDI ch = 10) x = 0 (H) Part11 (MIDI ch = 11) x = A (H) Part12 (MIDI ch = 12) x = B (H) : : : Part16 (MIDI ch = 16) x = F (H)
5
Address (H) Size (H) Data (H) Parameter Description Default Value (H) Description 40 1x 14 00 00 01 00-02 ASSIGN MODE 0 = SINGLE 00 at x = 0 SINGLE at x = 0
* ASSIGN MODE is the parameter that determines how voice assignment will be handled when sounds overlap on identical note numbers in the same channel (i.e., repeatedly struck notes).
This is initialized to a mode suitable for each Part, so for general purposes there is no need to change this.
1 = LIMITED-MULTI 01 at x ≠ 0 LIMITED-MULTI at x ≠ 0 2 = FULL-MULTI
40 1x 15 00 00 01 00-02 USE FOR RHYTHM PART 0 = OFF 00 at x ≠ 0 OFF at x ≠ 0
* This parameter sets the Drum Map of the Part used as the Drum Part. FP-3 can simultaneously (in different Parts) use up to two Drum Maps (MAP1, MAP2). With the initial settings, Part10
(MIDI CH = 10, x = 0) is set to MAP1 (1), and other Parts are set to normal instrumental Parts (OFF (0)).
40 1x 40 00 00 0C 00-7F SCALE TUNING C -64 - +63 [cent] 40 0 [cent] 40 1x 41# 00-7F SCALE TUNING C# -64 - +63 [cent] 40 0 [cent] 40 1x 42# 00-7F SCALE TUNING D -64 - +63 [cent] 40 0 [cent] 40 1x 43# 00-7F SCALE TUNING D# -64 - +63 [cent] 40 0 [cent] 40 1x 44# 00-7F SCALE TUNING E -64 - +63 [cent] 40 0 [cent] 40 1x 45# 00-7F SCALE TUNING F -64 - +63 [cent] 40 0 [cent] 40 1x 46# 00-7F SCALE TUNING F# -64 - +63 [cent] 40 0 [cent] 40 1x 47# 00-7F SCALE TUNING G -64 - +63 [cent] 40 0 [cent] 40 1x 48# 00-7F SCALE TUNING G# -64 - +63 [cent] 40 0 [cent] 40 1x 49# 00-7F SCALE TUNING A -64 - +63 [cent] 40 0 [cent] 40 1x 4A# 00-7F SCALE TUNING A# -64 - +63 [cent] 40 0 [cent] 40 1x 4B# 00-7F SCALE TUNING B -64 - +63 [cent] 40 0 [cent]
* SCALE TUNING is a function that allows fine adjustment to the pitch of each note in the octave. The pitch of each identically-named note in all octaves will change simultaneously. A setting of
± 0 cent (40H) is equal temperament. Refer to section 4. Supplementary material, “The Scale Tune Feature” (p. 8).
40 4x 23 00 00 02 00 - 7F PART EFX TYPE (MSB, LSB) 00 00 - 7F 7F 00 00 0
* This EFX type is same to EFX type of System Parameter. When this EFX type is same to EFX type of System parameter (see p. 5), the part is connected to EFX.
40 4x 25# 00 00 01 00 - 7F PART EFX MACRO 00 00 0
* When EFX type is set to Sympathetic Resonance, you can set the depth of the resonance level. The higher the setting is, the deeper the resonance becomes. * When the EFX type is set to Rotary, you can switch the rotary speed. (00H: Slow; 40H: Fast)
40 4x 26# 00 00 01 00 - 7F PART EFX DEPTH 00 00 0
1 = MAP1 01 at x = 0 MAP1 at x = 0 2 = MAP2
6
Section 4. Supplementary material
Decimal and Hexadecimal table
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.
Dec.
* Decimal values such as MIDI channel, bank select, and program change are listed as one
* A 7-bit byte can express data in the range of 128 steps. For data where greater precision
* In the case of values which have a ± sign, 00H = -64, 40H = ± 0, and 7FH = +63, so that
* Data marked “nibbled” is expressed in hexadecimal in 4-bit units. A value expressed as a
<Example1> What is the decimal expression of 5AH?
From the preceding table, 5AH = 90
Hex. Dec. Hex. Dec. Hex. Dec. Hex.
0H 32 20H 64 40H 96 60H
00
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 69 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
(1) greater than the values given in the above table.
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.
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.
2-byte nibble 0a 0bH has the value of a x 16 + b.
Examples of actual MIDI messages
<Example1> 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.
<Example2> CE 24
CnH is the Program Change status, and n is the MIDI channel number. Since EH = 14 and 24H = 36, this is a Program Change message with MIDI CH = 15, program number 37 (Flute in FP-3).
<Example3> EA 00 28
EnH is the Pitch Bend Change status, and n is the MIDI channel number. The 2nd byte (00H = 0) is the LSB and the 3rd byte (28H = 40) is the MSB, but Pitch Bend Value is a signed number in which 40 00H (= 64 x 128 + 0 = 8192) is 0, so this Pitch Bend Value is 28 00H - 40 00H = 40 x 128 + 0 - (64 x 128 + 0) = 5120 - 8192 = -3072 If the Pitch Bend Sensitivity is set to 2 semitones, -8192 (00 00H) will cause the pitch to change -200 cents, so in this case -200 x (-3072) / (-8192) = -75 cents of Pitch Bend is being applied to MIDI channel 11.
<Example4> B3 64 00 65 00 06 0C 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 b e omitted. Thus, the above messages have the following meaning.
B3 64 00 MIDI ch.4, lower byte of RPN parameter number: 00H (B3) 65 00 (MIDI ch.4) upper byte of RPN parameter number: 00H (B3) 06 0C (MIDI ch.4) upper byte of parameter value: 0CH (B3) 26 00 (MIDI ch.4) lower byte of parameter value: 00H (B3) 64 7F (MIDI ch.4) lower byte of RPN parameter number: 7FH (B3) 65 7F (MIDI ch.4) upper byte of RPN parameter number: 7FH
In other words, the above messages specify a value of 0C 00H for RPN parameter number 00 00H on MIDI channel 4, and then set the RPN parameter number to 7F 7FH.
RPN parameter number 00 00H is Pitch Bend Sensitivity, and the MSB of the value indicates semitone units, so a value of 0CH = 12 sets the maximum pitch bend range to ±12 semitones (1 octave).
Once the parameter number has been specified for the 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.
It is not desirable for performance data (such as Standard MIDI File data) to contain many events with running status as given in <Example 4>. This is because if playback is halted during the song and then rewound or fast-forwarded, the sequencer may not be able to transmit the correct status, and the sound source will then misinterpret the data. Take care to give each event its own status.
<Example2> 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
<Example3> 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
<Example4> 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 answer is 00 04 0E 0AH.
It is also necessary that the RPN parameter number setting and the value setting be done in the proper order. On some sequencers, events occurring in the same (or consecutive) clock may be transmitted in an order different than the order in which they were received. For this reason it is a good idea to slightly skew the time of each event (about 1 tick for TPQN = 96, and about 5 ticks for TPQN = 480). * TPQN: Ticks Per Quarter Note
7
Example of an Exclusive message and calculating a
Checksum
Roland Exclusive messages 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.
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. Heres an example of how the check sum is calculated. We will assume that in the exclusive message we are transmitting, the address is aa bb ccH and the data or size is dd ee ffH.
aa + bb + cc + dd + ee + ff = sum sum / 128 = quotient ... remainder 128 - remainder = checksum
<Example> Setting REVERB MACRO to type 3
According to the “Parameter Address Map,” the REVERB MACRO Address is 40 01 30H, and value is 03H. Thus,
F0 41 10 42 12 40 01 30 03 ?? F7 (1) (2) (3) (4) (5) Address data Checksum (6)
(1) Exclusive Status, (2) ID (Roland), (3) Device ID (17), (4) Model ID, (5) Command ID (DT1), (6) End of Exclusive
Next we calculate the checksum. 40H + 01H + 30H + 03H = 64 + 1 + 48 + 3 = 116 (sum) 116 (sum) / 128 = 0 (quotient) ... 116 (remainder) checksum = 128 - 116 (remainder) = 12 = 0CH
This means that F0 41 10 42 12 40 01 30 03 0C F7 is the message we transmit.
About tuning
In MIDI, individual Parts are tuned by sending RPN #1 (Master Fine Tuning) to the appropriate MIDI channel. In MIDI, an entire device is tuned by either sending RPN #1 to all MIDI channels being used, or by sending a System Exclusive MASTER TUNE (address 40 00 00H). RPN #1 allows tuning to be specified in steps of approximately 0.012 cents (to be precise, 100/8192 cent), and System Exclusive MASTER TUNE allows tuning in steps of 0.1 cent. One cent is 1/100th of a semitone. The values of RPN #1 (Master Fine Tuning) and System Exclusive MASTER TUNE are added together to determine the actual pitch sounded by each Part. Frequently used tuning values are given in the following table for your reference. Values are in hexadecimal (decimal in parentheses).
The Scale Tune Feature (address: 40 1x 40)
The scale Tune feature allows you to finely adjust the individual pitch of the notes from C through B. Though the settings are made while working with one octave, the fine adjustments will affect all octaves. By making the appropriate Scale Tune settings, you can obtain a complete variety of tuning methods other than equal temperament. As examples, three possible types of scale setting are explained below.
Equal Temperament
This method of tuning divides the octave into 12 equal parts. It is currently the most widely used form of tuning, especially in occidental music. On FP-3, the default settings for the Scale Tune feature produce equal temperament.
Just Temperament (Keytone C)
The three main chords resound much more beautifully than with equal temperament, but this benefit can only be obtained in one key. If transposed, the chords tend to become ambiguous. The example given involves settings for a key in which C is the keytone.
Arabian Scale
By altering the setting for Scale Tune, you can obtain a variety of other tunings suited for ethnic music. For example, the settings introduced below will set the unit to use the Arabian Scale.
Example Settings Note name C 0 +14 -6 C# 0 -14 +45 D 0 +18 -2 D# 0 +30 -12 E 0 +2 -51 F 0 +12 -8 F# 0 -16 +43 G 0 +16 -4 G# 0 -12 +47 A00 0 A# 0 +32 -10 B 0 +4 -49
The values in the table are given in cents. Refer to the explanation of Scale Tuning on p. 6 to convert these values to hexadecimal, and transmit them as exclusive data. For example, to set the tune (C-B) of the Part1 Arabian Scale, send the data as follows: F0 41 10 42 12 40 11 40 3A 6D 3E 34 0D 38 6B 3C 6F 40 36 0F 50 F7
Equal Temperament Just Temperament (Keytone C) Arabian Scale
Hz in A4
445.0
444.0 +15.67 4A 03 (+1283) 00 04 09 0D (+157)
443.0 +11.76 47 44 (+ 964) 00 04 07 06 (+118)
442.0 + 7.85 45 03 (+ 643) 00 04 04 0F (+ 79)
441.0 + 3.93 42 42 (+ 322) 00 04 02 07 (+ 39)
440.0 0.00 40 00 ( 0) 00 04 00 00 ( 0)
439.0 - 3.94 3D 3D (- 323) 00 03 0D 09 (- 39)
438.0 - 7.89 3A 7A (- 646) 00 03 0B 01 (- 79)
cent RPN #1 Sys.Ex. 40 00 00
+19.56 4C 43 (+1603) 00 04 0C 04 (+196)
<Example> Set the tuning of MIDI channel 3 to A4 = 442.0 Hz
Send RPN#1 to MIDI channel 3. From the above table, the value is 45 03H.
B2 64 00 MIDI ch.3, lower byte of RPN parameter number: 00H (B2) 65 01 (MIDI ch.3) upper byte of RPN parameter number: 01H (B2) 06 45 (MIDI ch.3) upper byte of parameter value: 45H (B2) 26 03 (MIDI ch.3) lower byte of parameter value: 03H (B2) 64 7F (MIDI ch.3) lower byte of RPN parameter number: 7FH (B2) 65 7F (MIDI ch.3) upper byte of RPN parameter number: 7FH
8
Tone List
FP-3 TONE MAPPING
PC# / CC0 / CC32
00h / 50h / 00h 01h / 50h / 00h Grand Piano 2 2-3 1-2 02h / 50h / 00h Rock Piano 2-3 1-3 03h / 50h / 00h Honky-tonk 2-3 1-4 04h / 50h / 00h Upright Piano 1-2 1-5 05h / 50h / 00h Harpsichord 1 1-6
06h / 50h / 00h Stage Rhodes 2 2-1 07h / 50h / 00h Dyno Rhodes 1 2-2 08h / 50h / 00h E.Piano 2 2-3 09h / 50h / 00h Suitcase 1 2-4 0Ah / 50h / 00h Wurly 2 2-5 0Bh / 50h / 00h Clavi 1 2-6 0Ch / 50h / 00h Vibraphone 1 2-7 0Dh / 50h / 00h Vibra Bell 2 2-8
0Eh / 50h / 00h Jazz Organ 2 3-1 0Fh / 50h / 00h Rock Organ 4 3-2 10h / 50h / 00h Full Organ 1 3-3 11h / 50h / 00h Lower Organ 1 3-4 12h / 50h / 00h Church Organ 2 3-5 13h / 50h / 00h Nason Flute 8' 1 3-6
14h / 50h / 00h Acoustic Guitar 1 4-1 15h / 50h / 00h Jazz Guitar 1 4-2 16h / 50h / 00h Acoustic Bass 4 4-3 17h / 50h / 00h Acoustic Bass + Cymbal 2 4-4 18h / 50h / 00h Fingered Bass 1 4-5 19h / 50h / 00h Thum Voice 1 4-6
1Ah / 50h / 00h Slow Strings 2 5-1 1Bh / 50h / 00h Strings 2 5-2 1Ch / 50h / 00h Warm JP Strings 2 5-3 1Dh / 50h / 00h Holy Voice 4 5-4 1Eh / 50h / 00h Sugar Key 2 5-5 1Fh / 50h / 00h Harp 1 5-6
20h / 50h / 00h Jazz Scat 1 6-1 21h / 50h / 00h Rich Choir 2 6-2 22h / 50h / 00h Dreamy Choir 2 6-3 23h / 50h / 00h Alto Sax 2 6-4 24h / 50h / 00h Flute 1 6-5 25h / 50h / 00h Trumpet 1 6-6
Tone Name Voices Notes
Grand Piano 1 2-3 1-1
FP-3 Drum MAPPING
PC# / CC0 / CC32
03h / 00h / 40h Pop Drum Set 6-7 3Fh / 00h / 40h Vox Drum Set 6-8
* The tones which marked in Notes can be selected from panel.
+------- Tone group number | +---- Page Number | | 1-1
Drum Set Name Notes
Tone groups number as follows,
1: Piano 2: E.Piano 3: Organ 4: Guitar/Bass 5: Strings/Pad 6: Voice/Winds
MIDI Out Mode
You can select the MIDI data that will be output when you make tone changes on the FP-3's panel. Additionally, performance data that has been recorded on the FP-3 can be sent out from the MIDI Out connector. Please refer to the Owner's Manual for information on setting the MIDI Out Mode.
MIDI Out Mode 1:
The MIDI messages shown below are output when you perform a tone change on the FP-3. This setting is suitable when connecting a sequencer, and recording/playing performances.
• Program Change/Bank Select
• Reverb Macro/Reverb Send Level
• Chorus Send Level
• System EFX Type/Part EFX Type/Part EFX Macro/Part EFX Depth
MIDI Out Mode 2:
The MIDI messages listed above will NOT be output when you perform a tone change on the FP-3. This mode is suitable when you don't want to change the tones or effects of a connected sound module when the FP-3 is operated.
MIDI Out Mode 3:
When the FP-3 contains recorded performance data, the performance data is transmitted from the MIDI Out connector when the [Play] button on the FP-3 is pressed. You can transmit the data recorded on the FP-3 to external devices, and play an external sound module. In this mode, the same MIDI messages as those output in MIDI Out Mode 1 will be output when you perform a tone change on the FP-3.
Copyright © 2000 ROLAND CORPORATION All right reserved. No part of this publication may reproduced in any form without the written permission of ROLAND CORPORATION.
9
Loading...