
VP-770 MIDI Implementation
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 - 16)
kk = note number: 00H - 7FH (0 - 127)
vv = note off velocity: 00H - 7FH (0 - 127)
Note on
Status 2nd byte 3rd byte
9nH kkH vvH
n = MIDI channel number:0H - FH (ch.1 - 16)
kk = note number: 00H - 7FH (0 - 127)
vv = note on velocity: 01H - 7FH (1 - 127)
Control Change
* Not received when the Rx Control Change parameter is OFF.
Bank Select (Controller number 0, 32)
Status 2nd byte 3rd byte
BnH 00H mmH
BnH 20H llH
n = MIDI channel number:0H - FH (ch.1 - 16)
mm, ll = Bank number:00 00H - 7F 7FH (bank.1 - bank.16384)
* Not received when the Rx Bank Select parameter is OFF.
BANK SELECT | PROGRAM | GROUP | NUMBER
MSB | LSB | NUMBER | |
-----+-----------+-----------+----------------------+---------- 080 | 000 | 001 - 016 | Preset Registration | P11 - P44
| | 017 - 032 | User Registration | U11 - U44
081 | 000 | 001 - 027 | Vocal Designer | 001 - 027
| | 001 - 076 | Ensemble | 001 - 076
| | 001 - 010 | Bass&Percussion | 001 - 010
Modulation (Controller number 1)
Status 2nd byte 3rd byte
BnH 01H vvH
n = MIDI channel number:0H - FH (ch.1 - 16)
vv = Modulation depth:00H - 7FH (0 - 127)
Breath Type (Controller number 2)
Status 2nd byte 3rd byte
BnH 02H vvH
n = MIDI channel number:0H - FH (ch.1 - 16)
vv = Control value: 00H - 7FH (0 - 127)
* The DYN1 will change.
Foot Type (Controller number 4)
Status 2nd byte 3rd byte
BnH 04H vvH
n = MIDI channel number:0H - FH (ch.1 - 16)
vv = Control value: 00H - 7FH (0 - 127)
* The DYN2 will change.
Volume (Controller number 7)
Status 2nd byte 3rd byte
BnH 07H vvH
n = MIDI channel number:0H - FH (ch.1 - 16)
vv = Volume: 00H - 7FH (0 - 127)
* The Level parameter will change.
Panpot (Controller number 10)
Status 2nd byte 3rd byte
BnH 0AH vvH
n = MIDI channel number:0H - FH (ch.1 - 16)
vv = Panpot: 00H - 40H - 7FH (Left - Center - Right),
* The Pan parameter will change.
Expression (Controller number 11)
Status
BnH 0BH vvH
n = MIDI channel number:0H - FH (ch.1 - 16)
vv = Expression: 00H - 7FH (0 - 127)
General Purpose Controller 1 (Controller number 16)
Status
BnH 10H vvH
n = MIDI channel number:0H - FH (ch.1 - 16)
vv = Control value: 00H - 7FH (0 - 127)
* The FILTER will change.
❍General Purpose Controller 2 (Controller number 17)
Status 2nd byte 3rd byte
BnH 11H vvH
n = MIDI channel number:0H - FH (ch.1 - 16)
vv = Control value: 00H - 7FH (0 - 127)
* The WAH will change.
❍General Purpose Controller 3 (Controller number 18)
Status 2nd byte 3rd byte
BnH 12H vvH
n = MIDI channel number:0H - FH (ch.1 - 16)
vv = Control value: 00H - 7FH (0 - 127) 0-63=OFF, 64-127=STACCATO/PIZZICATO
* The Variation parameter will change.
❍General Purpose Controller 4 (Controller number 19)
Status 2nd byte 3rd byte
BnH 13H vvH
n = MIDI channel number:0H - FH (ch.1 - 16)
vv = Control value: 00H - 7FH (0 - 127) 0-63=OFF, 64-127=FALL/TREMOLO
* The Variation parameter will change.
❍Controller number 20
Status 2nd byte 3rd byte
BnH 14H vvH
n = MIDI channel number:0H - FH (ch.1 - 16)
vv = Control value: 00H - 7FH (0 - 127) 0-63=UNISON, 64-127=STACK
* The Section Mode parameter will change.
❍Controller number 21
Status 2nd byte 3rd byte
BnH 15H vvH
n = MIDI channel number:0H - FH (ch.1 - 16)
vv = Control value: 00H - 7FH (0 - 127) 0-63=OFF, 64-127=DOIT
* The Variation parameter will change.
❍Hold 1 (Controller number 64)
Status 2nd byte 3rd byte
BnH 40H vvH
n = MIDI channel number:0H - FH (ch.1 - 16)
vv = Control value: 00H - 7FH (0 - 127) 0-63 = OFF, 64-127 = ON
❍Portamento (Controller number 65)
Status 2nd byte 3rd byte
BnH 41H vvH
n = MIDI channel number:0H - FH (ch.1 - 16)
vv = Control value: 00H - 7FH (0 - 127) 0 - 63 = OFF, 64 - 127 = ON
* The Portamento parameter will change.
❍Release Time (Controller number 72)
Status 2nd byte 3rd byte
BnH 48H vvH
n = MIDI channel number:0H - FH (ch.1 - 16)
vv = Release Time value (relative change):00H - 40H - 7FH (-64 - 0 - +63),
* The Release parameter will change.
Model:
Date: Feb.23, 2009
Version: 1.00
2nd byte 3rd byte
2nd byte 3rd byte
VP-770VP-770
VP-770VP-770
■
●
●
●
❍
❍
❍
❍
❍
❍
❍
❍
1PS
Copyright © 2009 ROLAND CORPORATION
All rights reserved. No part of this publication may be reproduced in any form without the written permission of ROLAND CORPORATION.
1

VP-770 MIDI Implementation
❍Attack time (Controller number 73)
Status 2nd byte 3rd byte
BnH 49H vvH
n = MIDI channel number:0H - FH (ch.1 - 16)
vv = Attack time value (relative change):00H - 40H - 7FH (-64 - 0 - +63),
* The Attack parameter will change.
❍Vibrato Rate (Controller number 76)
Status 2nd byte 3rd byte
BnH 4CH vvH
n = MIDI channel number:0H - FH (ch.1 - 16)
vv = Vibrato Rate value (relative change):00H - 40H - 7FH (-64 - 0 - +63)
* The Vibrato Rate parameter will change.
❍Vibrato Depth (Controller number 77)
Status 2nd byte 3rd byte
BnH 4DH vvH
n = MIDI channel number:0H - FH (ch.1 - 16)
vv = Vibrato Depth Value (relative change):00H - 40H - 7FH (-64 - 0 - +63)
* The Vibrato Depth parameter will change.
❍Vibrato Delay (Controller number 78)
Status 2nd byte 3rd byte
BnH 4EH vvH
n = MIDI channel number:0H - FH (ch.1 - 16)
vv = Vibrato Delay value (relative change):00H - 40H - 7FH (-64 - 0 - +63)
* The Vibrato Delay parameter will change.
●Program Change
Status 2nd byte
CnH ppH
n = MIDI channel number:0H - FH (ch.1 - 16)
pp = Program number:00H - 7FH (prog.1 - prog.128)
* Not received when the Rx Program Change parameter is OFF.
●Pitch Bend Change
Status 2nd byte 3rd byte
EnH llH mmH
n = MIDI channel number:0H - FH (ch.1 - 16)
mm, ll = Pitch Bend value:00 00H - 40 00H - 7F 7FH (-8192 - 0 - +8191)
■Channel Mode Messages
* Not received when the Rx Control Change parameter is OFF.
●All Sounds Off (Controller number 120)
Status 2nd byte 3rd byte
BnH 78H 00H
n = MIDI channel number: 0H - FH (ch.1 - 16)
* When this message is received, all notes currently sounding on the corresponding channel will
be turned off.
●Reset All Controllers (Controller number 121)
Status 2nd byte 3rd byte
BnH 79H 00H
n = MIDI channel number: 0H - FH (ch.1 - 16)
* When this message is received, the following controllers will be set to their reset values.
Controller Reset value
Pitch Bend Change +/-0 (center)
Modulation 0 (off)
Breath Type 0 (min)
Foot Type 0 (min)
Expression 127 (max)
However the controller will be at minimum.
Hold 1 0 (off)
●All Notes Off (Controller number 123)
Status 2nd byte 3rd byte
BnH 7BH 00H
n = MIDI channel number: 0H - FH (ch.1 - 16)
* When All Notes Off is received, all notes on the corresponding channel will be turned off.
However, if Hold 1 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 - 16)
* The same processing will be carried out as when All Notes Off is received.
* Brass and Strings tone is not received.
●OMNI ON (Controller number 125)
Status 2nd byte 3rd byte
BnH 7DH 00H
n = MIDI channel number: 0H - FH (ch.1 - 16)
2
* The same processing will be carried out as when All Notes Off is received. OMNI ON will not be
turned on.
* Brass and Strings tone is not received.
●MONO (Controller number 126)
Status 2nd byte 3rd byte
BnH 7EH mmH
n = MIDI channel number:0H - FH (ch.1 - 16)
mm = mono number: 00H - 10H (0 - 16)
* The same processing will be carried out as when All Notes Off is received.
* Brass and Strings tone is not received.
●POLY (Controller number 127)
Status 2nd byte 3rd byte
BnH 7FH 00H
n = MIDI channel number: 0H - FH (ch.1 - 16)
* The same processing will be carried out as when All Notes Off is received.
* Brass and Strings tone is not received.

VP-770 MIDI Implementation
■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
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).
dd,...,ee = data: 00H - 7FH (0 - 127)
F7H: EOX (End Of Exclusive)
* Of the System Exclusive messages received by this device, the Universal Non-realtime messages
and the Data Request (RQ1) messages and the Data Set (DT1) messages will be set
automatically.
●Universal Non-realtime System Exclusive Messages
❍Identity Request Message
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: 10H - 1FH, 7FH)
06H Sub ID#1 (General Information)
01H Sub ID#2 (Identity Request)
F7H EOX (End Of Exclusive)
* When this message is received, Identity Reply message (p. 5) will be transmitted.
●Data Transmission
This instrument can use exclusive messages to exchange many varieties of internal settings with
other devices.
The model ID of the exclusive messages used by this instrument is 00H 00H 3BH.
❍Data Request 1 (RQ1)
This message requests the other device to transmit data. The address and size indicate the type
and amount of data that is requested.
When a Data Request message is received, if the device is in a state in which it is able to transmit
data, and if the address and size are appropriate, the requested data is transmitted as a Data Set 1
(DT1) message. If the conditions are not met, nothing is transmitted.
Status data byte status
F0H 41H, dev, 00H, 27H, 11H, aaH, bbH, ccH, F7H
ddH, ssH, ttH, uuH, vvH, sum
Byte Remarks
F0H Exclusive status
41H ID number (Roland)
dev device ID (dev: 10H - 1FH, 7FH)
00H model ID #1
00H model ID #2
3BH model ID #3
11H command ID (RQ1)
aaH address MSB
bbH address
ccH address
ddH address LSB
ssH size MSB
ttH size
uuH size
vvH size LSB
sum checksum
F7H EOX (End Of Exclusive)
* The size of data that can be transmitted at one time is fixed for each type of data. And data
requests must be made with a fixed starting address and size. Refer to the address and size
given in Parameter Address Map (p. 6).
* For the checksum, refer to p. 11.
* Not received when the Rx SysEx parameter is OFF.
❍Data set 1 (DT1)
Status Data byte Status
F0H 41H, dev, 00H, 27H, 12H, aaH, bbH, F7H
ccH, ddH, eeH, ... ffH, sum
Byte Explanation
F0H Exclusive status
41H ID number (Roland)
dev Device ID (dev: 00H - 1FH, 7FH)
00H model ID #1
00H model ID #2
3BH model ID #3
12H Command ID (DT1)
aaH Address MSB: upper byte of the starting address of the data to be
bbH Address: upper middle byte of the starting address of the
ccH Address: lower middle byte of the starting address of the data
ddH Address LSB: lower byte of the starting address of the data to be
eeH Data: the actual data to be sent. Multiple bytes of data are
: :
ffH 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
will be transmitted from the specified starting address and size. Refer to the address and size
given in Parameter Address Map (p. 6).
* Data larger than 256 bytes will be divided into packets of 256 bytes or less, and each packet will
be sent at an interval of about 20 ms.
* Regarding the checksum, please refer to p. 11.
* Not received when the Rx SysEx parameter is OFF.
sent
data to be sent
to be sent
sent.
transmitted in order starting from the address.
3

VP-770 MIDI Implementation
2. Data Transmission
■Channel Voice Messages
●Note off
Status 2nd byte 3rd byte
8nH kkH vvH
n = MIDI channel number:0H - FH (ch.1 - 16)
kk = note number: 00H - 7FH (0 - 127)
vv = note off velocity: 00H - 7FH (0 - 127)
●Note on
Status 2nd byte 3rd byte
9nH kkH vvH
n = MIDI channel number:0H - FH (ch.1 - 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 2nd byte 3rd byte
BnH 00H mmH
BnH 20H llH
n = MIDI channel number:0H - FH (ch.1 - 16)
mm, ll = Bank number:00 00H - 7F 7FH (bank.1 - bank.16384)
* These messages are transmitted when Registration, Vocal Designer, Ensemble or
Bass&Percussion is selected. But not transmitted when Tx Program Change or Tx Bank Select
parameter is OFF.
❍Modulation (Controller number 1)
Status 2nd byte 3rd byte
BnH 01H vvH
n = MIDI channel number:0H - FH (ch.1 - 16)
vv = Modulation depth:00H - 7FH (0 - 127)
❍Breath Type (Controller number 2)
Status 2nd byte 3rd byte
BnH 02H vvH
n = MIDI channel number:0H - FH (ch.1 - 16)
vv = Modulation depth:00H - 7FH (0 - 127)
❍Foot Type (Controller number 4)
Status 2nd byte 3rd byte
BnH 04H vvH
n = MIDI channel number:0H - FH (ch.1 - 16)
vv = Modulation depth:00H - 7FH (0 - 127)
❍Portamento Time (Controller number 5)
Status 2nd byte 3rd byte
BnH 05H vvH
n = MIDI channel number:0H - FH (ch.1 - 16)
vv = Portamento Time:00H - 7FH (0 - 127)
* These messages are transmitted when the V-Link parameter is ON.
❍Volume (Controller number 7)
Status 2nd byte 3rd byte
BnH 07H vvH
n = MIDI channel number:0H - FH (ch.1 - 16)
vv = Volume: 00H - 7FH (0 - 127)
❍Expression (Controller number 11)
Status 2nd byte 3rd byte
BnH 0BH vvH
n = MIDI channel number:0H - FH (ch.1 - 16)
vv = Expression: 00H - 7FH (0 - 127)
❍General Purpose Controller 1 (Controller number 16)
Status 2nd byte 3rd byte
BnH 10H vvH
n = MIDI channel number:0H - FH (ch.1 - 16)
vv = Control value: 00H - 7FH (0 - 127)
❍General Purpose Controller 2 (Controller number 17)
Status 2nd byte 3rd byte
BnH 11H vvH
n = MIDI channel number:0H - FH (ch.1 - 16)
vv = Control value: 00H - 7FH (0 - 127)
❍General Purpose Controller 3 (Controller number 18)
Status 2nd byte 3rd byte
BnH 12H vvH
n = MIDI channel number:0H - FH (ch.1 - 16)
vv = Control value: 00H, 7FH (0, 127) 0=OFF, 127=STACCATO/PIZZICATO
❍General Purpose Controller 4 (Controller number 19)
Status 2nd byte 3rd byte
BnH 13H vvH
n = MIDI channel number:0H - FH (ch.1 - 16)
vv = Control value: 00H, 7FH (0, 127) 0=OFF, 127=FALL/TREMOLO
❍Controller number 20
Status 2nd byte 3rd byte
BnH 14H vvH
n = MIDI channel number:0H - FH (ch.1 - 16)
vv = Control value: 00H, 7FH (0, 127) 0=UNISON, 127=STACK
❍Controller number 21
Status 2nd byte 3rd byte
BnH 15H vvH
n = MIDI channel number:0H - FH (ch.1 - 16)
vv = Control value: 00H, 7FH (0, 127) 0=OFF, 127=DOIT
❍Hold 1 (Controller number 64)
Status 2nd byte 3rd byte
BnH 40H vvH
n = MIDI channel number:0H - FH (ch.1 - 16)
vv = Control value: 00H, 7FH (0, 127) 0 = OFF, 127 = ON
❍Portamento (Controller number 65)
Status 2nd byte 3rd byte
BnH 41H vvH
n = MIDI channel number:0H - FH (ch.1 - 16)
vv = Control value: 00H, 7FH (0, 127) 0 = OFF, 127 = ON
❍Resonance (Controller number 71)
Status 2nd byte 3rd byte
BnH 47H vvH
n = MIDI channel number:0H - FH (ch.1 - 16)
vv= Control value: 00H - 7FH (0 - 127)
* These messages are transmitted when the V-Link parameter is ON.
❍Release Time (Controller number 72)
Status 2nd byte 3rd byte
BnH 48H vvH
n = MIDI channel number:0H - FH (ch.1 - 16)
vv = Release Time value (relative change):00H - 40H - 7FH (-64 - 0 - +63)
❍Attack time (Controller number 73)
Status 2nd byte 3rd byte
BnH 49H vvH
n = MIDI channel number:0H - FH (ch.1 - 16)
vv = Attack time value (relative change):00H - 40H - 7FH (-64 - 0 - +63)
❍Cutoff (Controller number 74)
Status 2nd byte 3rd byte
BnH 4AH vvH
n = MIDI channel number:0H - FH (ch.1 - 16)
vv= Control value: 00H - 7FH (0 - 127)
* These messages are transmitted when the V-Link parameter is ON.
❍Vibrato Rate (Controller number 76)
Status 2nd byte 3rd byte
BnH 4CH vvH
n = MIDI channel number:0H - FH (ch.1 - 16)
vv = Vibrato Rate value (relative change):00H - 40H - 7FH (-64 - 0 - +63)
4