Roland HP 2, HP 7, HP 3 Service Manual

Page 1
Digital Piano Date:Dec. 20, 2001 Model:HP-2/3/7
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
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 = 7FH (127)
* Received volume messages affect received note event levels, 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), Initial Value = 7FH (127)
* These message can affect only MIDI notes.
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)
* These message can affect only MIDI notes.
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
* These message can affect only MIDI notes.
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)
* These message can affect only MIDI notes.
2nd byte 3rd byte
2nd byte 3rd byte
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 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
* Reverb message shall be recieved as a basic channel. * Received reverb messages through basic channel affect all parts and internal keyboard
notes.
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
* Received chorus messages through channel 1-16 affect each part individually. * Received chorus messages through basic channel affect part on the corresponding
channel and internal keyboard notes.
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 (MSB) ll = lower byte of parameter number specified by RPN (LSB)
* 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 HP-2/3/7, 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.99 cents), Initial Value = 40 00H (Å}0 cent)
7FH 7FH --- --- RPN null
Set condition where RPN and NRPN are 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
Program Change
Status 2nd byte CnH ppH n = MIDI channel number : 0H-FH (ch.1-ch.16) pp = Program number : 00H..77H (prog.1..prog.120)
Received program change message are assigned as follows.
prog. tone
---------------------------------­ 1 Grand Piano1 2 Grand Piano2 3 Piano + Strings 4 Piano + Choir 5 Electric Piano1 6 Electric Piano2 7 Vibraphone 8 Electric Piano+Choir 9 Harpsichord 10 Organ Flute 11 Harpsichord + Strings
1
Page 2
Digital Piano Date:Dec. 20, 2001 Model:HP-2/3/7 MIDI Implementation
12 Harpsichord + Choir 13 Church Organ 14 Rotary Organ 15 Organ + Strings 16 Organ + Choir 17 Strings 18 Slow Strings 19 Strings + Choir 20 Strings + Brass 21 * Jazz Scat 22 * Choir 23 * Choir + Harp 24 * Choir + Bell 25 Grand Piano1 + Electric Piano1 26 Grand Piano1 + Electric Piano2 27 Grand Piano1 + Harpsichord 28 Grand Piano1 + Organ Flute 29 Grand Piano1 + Church Organ 30 Grand Piano1 + Rotary Organ 31 Grand Piano1 + Strings 32 Grand Piano1 + Slow Strings 33 * Grand Piano1 + Jazz Scat 34 * Grand Piano1 + Choir 35 Grand Piano2 + Electric Piano1 36 Grand Piano2 + Electric Piano2 37 Grand Piano2 + Harpsichord 38 Grand Piano2 + Organ Flute 39 Grand Piano2 + Church Organ 40 Grand Piano2 + Rotary Organ 41 Grand Piano2 + Strings 42 Grand Piano2 + Slow Strings 43 * Grand Piano2 + Jazz Scat 44 * Grand Piano2 + Choir 45 Electric Piano1 + Harpsichord 46 Electric Piano1 + Organ Flute 47 Electric Piano1 + Church Organ 48 Electric Piano1 + Rotary Organ 49 Electric Piano1 + Strings 50 Electric Piano1 + Slow Strings 51 * Electric Piano1 + Jazz Scat 52 * Electric Piano1 + Choir 53 Electric Piano2 + Harpsichord 54 Electric Piano2 + Organ Flute 55 Electric Piano2 + Church Organ 56 Electric Piano2 + Rotary Organ 57 Electric Piano2 + Strings 58 Electric Piano2 + Slow Strings 59 * Electric Piano2 + Jazz Scat 60 * Electric Piano2 + Choir 61 Harpsichord + Church Organ 62 Harpsichord + Rotary Organ 63 Harpsichord + Strings 64 Harpsichord + Slow Strings 65 * Harpsichord + Jazz Scat 66 * Harpsichord + Choir 67 Organ Flute + Church Organ 68 Organ Flute + Rotary Organ 69 Organ Flute + Strings 70 Organ Flute + Slow Strings 71 * Organ Flute + Jazz Scat 72 * Organ Flute + Choir 73 Church Organ + Strings 74 Church Organ + Slow Strings 75 * Church Organ + Jazz Scat 76 * Church Organ + Choir 77 Rotary Organ + Strings 78 Rotary Organ + Slow Strings 79 * Rotary Organ + Jazz Scat 80 * Rotary Organ + Choir 81 * Strings + Jazz Scat 82 * Strings + Choir 83 * Slow Strings + Jazz Scat 84 * Slow Strings + Choir 85 Grand Piano1/Acoustic Bass 86 Grand Piano2/Acoustic Bass 87 Electric Piano1/Electric Bass 88 Electric Piano2/Electric Bass 89 Harpsichord/Strings 90 Organ Flute/Organ Bass
91 Church Organ/Organ Bass 92 Rotary Organ/Lower Organ 93 Strings/Pizzicato 94 Slow Strings/Pizzicato 95 * Jazz Scat/Voice Bass (HP-7) Jazz Scat/Acoustic Bass (HP-2/3) 96 * Choir/Strings 97 Grand Piano1/Acoustic Bass & Cymbal 98 Grand Piano2/Acoustic Bass & Cymbal 99 Electric Piano1/Acoustic Bass 100 Electric Piano2/Acoustic Bass 101 Harpsichord/Organ Flute 102 Organ Flute/Strings 103 Church Organ/Strings 104 Rotary Organ/Electric Bass 105 Strings/Choir 106 Slow Strings/Choir 107 * Jazz Scat/Acoustic Bass & Cymbal 108 * Choir/Church Organ 109 Grand Piano1/Strings 110 Grand Piano2/Strings 111 Electric Piano1/Strings 112 Electric Piano2/Strings 113 Harpsichord/Acoustic Bass 114 Organ Flute/Choir 115 Church Organ/Choir 116 Jazz Organ/Rotary Organ 117 Oboe/Strings 118 Flute/Slow Strings 119 * Jazz Scat/Choir 120 * Choir/Organ Flute
* "A+B" means tones for dual, and "A|B" means tones for split. * "---" 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. * Received program change messages through channel 1-16 affect each part individually. * Received program change messages through basic channel affect part on the
corresponding channel and internal keyboard notes. * “*” is only for HP-7.
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
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. *1
2nd byte 3rd byte
2nd byte 3rd byte
2nd byte 3rd byte
2nd byte 3rd byte
2
Page 3
Digital Piano Date:Dec. 20, 2001 Model:HP-2/3/7 MIDI Implementation
OMNI ON (Controller number 125)
Status 2nd byte 3rd byte BnH 7DH 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. *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-10H (0-16)
* The same processing will be carried out as when All Notes Off is received. *1
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. *1
Note: *1 The Mode doesn't change (OMNI OFF, POLY remains).
System Realtime Message
Active Sensing
Status FEH
Data transmission
HP-2/3/7 can transmit and receive the various parameters using System Exclusive messages. The exclusive message of HP-2/3/7 data has a model ID of 1AH, and device ID is defined by MIDI UNIT NUMBER(UNIT#). UNIT NUMBER(UNIT#) is always the same as the current basic channel.
Data set 1 DT1
This is the message that actually performs data transmission, and is used when you wish to transmit the data.
Status Data byte Status F0H 41H, dev, 1AH, 12H, aaH, bbH, ddH, sum F7H
Byte Explanation F0H Exclusive status 41H ID number (Roland) dev Device ID (dev: UNIT#-1) 1AH Model ID (HP-2/3/7) 12H Command ID (DT1) aaH Address MSB: upper byte of the starting address of the transmitted data bbH Address LSB: lower byte of the starting address of the transmitted data ddH Data: the actual data to be transmitted. sum Checksum F7H EOX (End Of Exclusive)
* If "Data Set 1" is transmitted successively, there must be an interval of at least 40 msec
between packets. * Regarding the address please refer to section 3 (Parameter Address Map). * Regarding the checksum please refer to section 4 (Supplementary material).
* When Active Sensing is received, the unit will begin monitoring the intervals of all
urther 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.
System Exclusive Message
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 HP-2/3/7 are; Universal Non-realtime System Exclusive messages, and Data Set (DT1).
Universal Non-realtime System Exclusive Messages
Identity Request Message
Status F0H 7EH, dev, 06H, 01H F7H
Byte Explanation FOH 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)
* The "dev" is own device number (UNIT#-1) or 7FH (Broadcast). * UNIT# is always the same as the current basic channel.
Data byte Status
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).
Data byte Status
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)
Note on
Status 9nH kkH vvH n = MIDI channel number : 0H-FH (ch.1-ch.16) kk = note number : 0FH-71H (15-113) 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
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) * The HP-7 transmits continuous values representing the position of the pedal.
Either 0 = OFF, or 127 = ON is transmitted by the HP-2/3.
2nd byte 3rd byte
2nd byte 3rd byte
2nd byte 3rd byte
2nd byte 3rd byte
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=OFF, 127=ON * ON or OFF is transmitted.
2nd byte 3rd byte
3
Page 4
Digital Piano Date:Dec. 20, 2001 Model:HP-2/3/7 MIDI Implementation
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)
* The HP-7 transmits continuous values representing the position of the pedal.
Either 0 = OFF, or 127 = ON is transmitted by the HP-2/3.
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=OFF, 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=OFF, 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
**RPN** HP-2/3/7 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 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
Program Change
Status 2nd byte CnH ppH n = MIDI channel number : 0H-FH (ch.1-ch.16) pp = Program number : 00H...75 (prog. 1...118) (HP-2/3) 00H...77H (prog. 1...120) (HP-7)
Universal Non-realtime System Exclusive Messages
Identity Reply
Status Data byte Status F0H 7EH, dev, 06H, 02H, 41H, 1AH, 00H, ddH,
06H, 00H, 01H, 00H, 00H, F7H
Byte Explanation FOH 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 ID number (Roland) 1AH,00H Device family code ddH,06H Device family number code dd:00(HP-2) 01(HP-3) 02(HP-7) 00H 01H 00H 00H Software revision level F7H EOX (End of Exclusive)
* When Identity Request is received, Identity Reply message will be transmitted.
Data transmission
Data set 1 DT1
Status Data byte Status F0H 41H, dev, 1AH, 12H, aaH, bbH, ddH, sum F7H
Byte Explanation F0H Exclusive status 41H ID number (Roland) dev Device ID (dev: UNIT#-1) 1AH Model ID (HP-2/3/7) 12H Command ID (DT1) aaH Address MSB: upper byte of the starting address of the data to be sent bbH Address LSB: lower byte of the starting address of the data to be sent. ddH Data: the actual data to be sent. sum Checksum F7H EOX (End Of Exclusive)
* Regarding the address please refer to section 3 (Parameter Address Map). * Regarding the checksum please refer to section 4 (Supplementary material).
3. Parameter Address Map (Model ID =
1AH)
* 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 210 msec.
System exclusive messages
"Identity Reply" and "Data Set 1 (DT1)" are the only System Exclusive messages transmitted by HP-2/3/7. The exclusive message of HP-2/3/7 data has a model ID of 1AH, and device ID is defined by MIDI UNIT NUMBER(UNIT#). UNIT NUMBER is always the same as the current basic channel.
All the numbers of address, size, Data, and Default Value are indicated in 7-bit Hexadecimal-form.
+----------------+------------+----------------------------------------+ | address(H) | data(H) | Description | |----------------+------------+----------------------------------------| | 00 05 | 00-6b | Temperament Select *3.1 | | | | | | 01 01 | 00-7f | Chorus Type | | | | 00H - 0FH : Type 1 | | | | 10H - 1FH : Type 2 | | | | 20H - 2FH : Type 3 | | | | 30H - 3FH : Type 4 | | | | 40H - 4FH : Type 5 | | | | 50H - 5FH : Type 6 | | | | 60H - 70H : Type 7 | | | | 60H - 7FH : Type 8 | | | | | | 01 03 | 00-7F | Reverb Type | | | | 00H - 0FH : Type 1 | | | | 10H - 1FH : Type 2 | | | | 20H - 2FH : Type 3 | | | | 30H - 3FH : Type 4 | | | | 40H - 4FH : Type 5 | | | | 50H - 5FH : Type 6 | | | | 60H - 6FH : Type 7 | | | | 70H - 7FH : Type 8 | | | | | | 01 06 | 00-7F | Resonance Type | | | | 00H - 0FH : Type 1(Off) |
4
Page 5
Digital Piano Date:Dec. 20, 2001 Model:HP-2/3/7 MIDI Implementation
| | | 10H - 1FH : Type 2 | | | | 20H - 2FH : Type 3 | | | | 30H - 3FH : Type 4 | | | | 40H - 4FH : Type 5 | | | | 50H - 5FH : Type 6 | | | | 60H - 6FH : Type 7 | | | | 70H - 7FH : Type 8 | | | | | | 01 0A | 00-01 | Stretch Tune | | | | 00H - 01H | | | | | | 01 0B | 00-7f | Dual Balance | | | | 00H - 27H : Balance 9-1 | | | | 28H - 2FH : Balance 8-2 | | | | 30H - 37H : Balance 7-3 | | | | 38H - 3FH : Balance 6-4 | | | | 40H - 47H : Balance 5-5 | | | | 48H - 4FH : Balance 4-6 | | | | 50H - 57H : Balance 3-7 | | | | 58H - 5FH : Balance 2-8 | | | | 60H - 7FH : Balance 1-9 | +-------------------------------------------------------------------------+
*3.1 Temperament Select
Upon pressing the [Transpose] button down, press the[Piano 2] button down. The display shall show the temperament type value. The following exclusive messages as shown below can be transmitted by pressing the [+/-] button down.
tt 0H - 6H : temperament select kkkk 0H - BH : key signature
Temperament change value are assigned as follows:
* When EQUAL temperament tuning is selected, the key signature change is ignored.
|C |C#|D |D#|E |F |F#|G |G#|A |A#|B |
--+---+----+---+----+---+---+---+---+---+----+----+---­Equal |00 |01 |02|03 |04 |05|06|07|08 |09 |0A|0B|
--+---+----+---+----+---+---+---+---+---+----+----+---­JUST (major) |10 |11 |12 |13 |14 |15|16|17|18 |19|1A|1B|
--+---+----+---+----+---+---+---+---+---+----+----+---­JUST (minor) |20 |21 |22 |23 |24 |25|26|27|28 |29|2A|2B|
--+---+----+---+----+---+---+---+---+---+----+----+---­MEAN TONE |30 |31 |32 |33 |34|35|36|37 |38|39|3A|3B|
--+---+----+---+----+---+---+---+---+---+----+----+---­WERCKMEISTER |40|41 |42 |43 |44 |45|46|47|48|49 |4A|4B|
--+---+----+---+----+---+---+---+---+---+----+----+---­KIRNBERGER |50 |51 |52 |53 |54|55 |56|57|58|59|5A|5B|
--+---+----+---+----+---+---+---+---+---+----+----+---­PYTHAGOREAN |60|61 |62 |63 |64 |65|66|67|68|69 |6A |6B|
( numbers are hexa_decimal )
4. Supplementary material
Channel and Part
HP-2/3/7 has 16 parts: each channel is 1-16. These channel numbers are fixed. Each part channel can receive program changes individually.
Part
11 22 33 44 :: :: 16 16
Basic Channel
The basic channel is determined by the setting of the MIDI transmit channel.
MIDI Transmit Channel
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.| Hex.|| Dec.| Hex.|| Dec.| Hex.|| Dec.| Hex.| +-------+--------++------+--------++-------+--------++--------+-------+ | 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 | +------+--------++-------+--------++-------+--------++-------+-------+
MIDI Receive Channel
Basic Channel 11 22 33 44 :: :: 16 16
* Decimal values such as MIDI channel 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.
5
Page 6
Digital Piano Date:Dec. 20, 2001 Model:HP-2/3/7 MIDI Implementation
What is the decimal expression of 5AH ? From the preceding table, 5AH = 90
Therefore, the message to send is : F0 41 00 1A 12 01 03 30 4C F7
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
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.
CE 10 CnH is the Program Change status, and n is the MIDI channel number. Since EH = 14 and 10H = 16, this is a Program Change message with MIDI CH = 15, program number 17 (Strings in HP-2/3/7).
B3 64 00 65 01 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.
B3 64 00 MIDI ch.4, lower byte of RPN parameter number: 00H (B3) 65 01 (MIDI ch.4) upper byte of RPN parameter number: 01H (B3) 06 40 (MIDI ch.4) upper byte of parameter value: 40H (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 40 00H for RPN parameter number 00 01H (Master Fine Tuning) on MIDI channel 4, 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 (B3) 64 7F (B3) 65 7F at the end.
About tuning
HP-2/3/7 is tuned by sending RPN #1 (Master Fine Tuning) to the basic 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 semi-tone. 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 HP-2/3/7 to A4 = 442.0 Hz Send RPN#1 to basic channel. From the above table, the value is 45 03H. If the basic channel is set to ch.1, below is the message we transmit.
B0 64 00 MIDI ch.1, lower byte of RPN parameter number: 00H (B0) 65 01 (MIDI ch.1) upper byte of RPN parameter number: 01H (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
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. Here's an example of how the checksum is calculated. We will assume that in the exclusive message we are transmitting, the address is aa bb and the data or size is ccH.
aa + bb + cc = sum sum / 128 = quotient ... 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 ?? F7
-- -- -- -- -- ------ -- -- -­ (1) (2) (3) (4) (5) address data checksum (6)
(1)Exclusive Status (2)ID (Roland) (3)Device ID (UNIT#-1) (4)Model ID (HP-2/3/7) (5)Command ID (DT1) (6)End of Exclusive
* UNIT NUMBER is always the same as the current basic channel.
In this example, the basic 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
6
Loading...