Detailed instructions for use are in the User's Guide.
[. . . ] RPN MSB LSB 00H 00H Data entry Explanation Pitch Bend Sensitivity mm: F00H-18H (0-24 semitones) ll: ignored (processed as 00h) specify up to 2 octaves in semitone steps Master Fine Tuning mm, ll: 00 00H - 40 00H - 7F 7FH (-100 - 0 - +99. 99 cents) Refer to 4. Supplementary material, "About tuning" (p. 6) Master Coarse Tuning mm: 28H - 40H - 58H (-24 - 0 - +24 semitones) ll: ignored (processed as 00h) Modulation Depth Range mm: 00H - 04H (0 - 4 semitones) ll: 00H - 7FH (0 - 100 cents)100/128 Cent/Value RPN null Set condition where RPN and NRPN are unspecified. The data entry messages after set RPN null will be ignored. [. . . ] The exclusive message of HP107 data has a model ID of 00 7EH and a device ID of 10H (17).
Data set 1DT1
This is the message that actually performs data transmission, and is used when you wish to transmit the data. Status F0H Byte F0H 41H 10H 00H 7EH 12H aaH Data byte 41H, 10H, 00H, 7EH, 12H, aaH, bbH, ccH, ddH, . . . eeH, sum Status F7H
Explanation Exclusive status ID number (Roland) Device ID Model ID Model ID (HP107) Command ID (DT1) Address MSB: upper byte of the starting address of the transmitted data
3
Version 1. 00 Date:June10, 2004 2. Transmit data
Channel Voice Messages
Note off
Status 8nH 2nd byte kkH 3rd byte vvH 0H-FH (ch. 1-ch. 16) 00H-7FH (0-127) 00H-7FH (0-127)
Program Change
Status CnH 2nd bytes ppH 0H-FH (ch. 1-ch. 16) 00H-64H (prog. 1-prog. 101)
n = MIDI channel number: pp = Program number:
n = MIDI channel number: kk = note number: vv = note off velocity:
System Realtime Message
Active sensing
Status FEH
Note on
Status 9nH 2nd bytes kkH 3rd byte vvH 0H-FH (ch. 1-ch. 16) 00H-7FH (0-127) 01H-7FH (1-127)
*
This will be transmitted constantly at intervals of approximately 250 ms.
n = MIDI channel number: kk = note number: vv = note on velocity:
System exclusive messages
Universal Non-realtime System Exclusive Messages
Identity Reply
Status F0H F0H Byte F0H 7EH 10H 06H 02H 41H 7EH 01H 00H 00H 00H 01H 00H 00H F7H * Data byte 7EH, 10H, 06H, 02H, 41H, 7EH, 01H, 00H, 00H, 00H, 01H, 00H, 00H Explanation Exclusive status ID number (universal non-realtime message) Device ID (use the same as the device ID of Roland) Sub ID#1 (General Information) Sub ID#2 (Identity Reply) ID number (Roland) Device family code (LSB) Device family code (MSB) Device family number code (LSB) Device family number code (MSB) Software revision level Software revision level Software revision level Software revision level EOX (End of Exclusive) Status F7H
Control Change
Bank Select (Controller number 0, 32)
Status BnH BnH 2nd bytes 00H 20H 3rd byte mmH llH 0H-FH (ch. 1-ch. 16) 00H, 00H-7FH, 7FH (bank. 1-bank. 16384)
n = MIDI channel number: mm, ll = Bank number:
Volume (Controller number 7)
Status BnH 2nd bytes 07H 3rd byte vvH 0H-FH (ch. 1-ch. 16) 00H-7FH (0-127)
n = MIDI channel number: vv = Volume:
Expression (Controller number 11)
Status BnH 2nd bytes 0BH 3rd byte vvH 0H-FH (ch. 1-ch. 16) 00H-7FH (0-127)
n = MIDI channel number: vv = Expression:
When Identity Request is received, Identity Reply message will be transmitted.
Hold 1 (Controller number 64)
Status BnH 2nd bytes 40H 3rd byte vvH 0H-FH (ch. 1-ch. 16) 00H-7FH (0-127)
Data transmission
This instrument can receive parameters using System Exclusive messages. The exclusive message of HP107 data has a model ID of 00 7EH and a device ID of 10H (17).
n = MIDI channel number: vv = Control value:
Data set 1DT1
This is the message that actually performs data transmission, and is used when you wish to transmit the data. Status F0H Byte F0H 41H 10H 00H 7EH 12H aaH bbH ccH ddH : : eeH sum F7H * * Data byte 41H, 10H, 00H, 7EH, 12H, aaH, bbH, ccH, ddH, . . . 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. In the case of values which have a +/- sign, 00H = -64, 40H = +/- 0, and 7FH = +63, so that 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. Thus, the above messages have the following meaning. B3 (B3) (B3) (B3) (B3) (B3) 64 00 65 00 06 0C 26 00 64 7F 65 7F MIDI ch. 4, lower byte of RPN parameter number: 00H (MIDI ch. 4) upper byte of RPN parameter number: 00H (MIDI ch. 4) upper byte of parameter value: 0CH (MIDI ch. 4) lower byte of parameter value: 00H (MIDI ch. 4) lower byte of RPN parameter number: 7FH (MIDI ch. 4) upper byte of RPN parameter number: 7FH
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. 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 ccH and the data or size is dd ee ffH. aa + bb + cc + dd + ee + ff = sum sum / 128 = quotient . . . remainder 128 - remainder = checksum
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). (On HP107 the LSB of Pitch Bend Sensitivity is ignored, but the LSB should be transmitted anyway (with a value of 0) so that operation will be correct on any device. ) 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. 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>. [. . . ] Example Settings Note name Equal Temperament C C# D D# E F F# G G# A A# B 0 0 0 0 0 0 0 0 0 0 0 0
About tuning
To tune the HP107 via MIDI, transmit RPN #1 (Master Fine Tuning) over any MIDI channel. (The tuning is adjusted for all of the parts, regardless of the MIDI channel over which the message is received. ) HP107 is tuned by sending RPN #1 (Master Fine Tuning) to one of MIDI channels 1-16. Tuning of all parts are set even if the message is received at one MIDI channel. RPN #1 allows tuning to be specified in steps of approximately 0. 012 cents (to be precise, 100/8192 cent). [. . . ]