V-1HD: How to Control Your Switcher Using MIDI Commands
The V-1HD can be controlled using MIDI commands. If you are not familiar with MIDI, it's a popular protocol for music instruments, and it's primarily used to transmit and receive musical notes. But the V-1HD utilizes some of the other functions of the MIDI protocol.
A key thing with controlling the V-1HD is that it does not use MIDI notes to run commands in Standard mode. It primarily uses either SysEx or a sequence of Control Changes and Program Changes, referred to as CC and PC, respectively.
If you plug in a MIDI keyboard and play some standard notes, nothing will happen, unless you are using MIDI Visual Control or V-Link, which are not covered in this guide.
All of the commands are listed in the V-1HD Remote Control Guide, available here. This guide does not cover all the commands, so you will need to reference this guide extensively when programming your controller.
There are two ways to control the V-1HD via MIDI. You can use the MIDI ports on the side panel of the switcher, or use a USB cable, the same way you would connect to the RCS software.
In the Setup Menu, you will need to select the MIDI connector, the default is USB.
The Device ID setting on the V-1HD does not matter for this type of control, you should leave it at the default of 17, as that's what all the sample commands reference.
MIDI commands work with values from 0-127, which are represented in the V-1HD Remote Control Guide as Hex values. Use this conversion table to find the numerical value for the Hex value.
If you are not familiar with this, it will make more sense once we get into the sample command strings. If using SysEx, you may want to use this checksum calculator to save some time, more on that later.
And this chart references the symbols used for event values for Program Change and Control Change commands:
This guide only covers some basic functions you can trigger with MIDI. There are a number of other functions, including MIDI data transmitted by the V-1HD itself, System Exclusive commands for menu settings, and mapping control hardware to the MIDI values, allowing you to mix audio levels with sliders that are not otherwise available on the V-1HD itself.
PC/CC Example 1: Controlling the Transformer Buttons
To issue a command, you need software that can transmit one or more MIDI events. One way to test this is to use an audio DAW to transmit the MIDI events at a certain point on the project timeline. For each of the following commands, you will create a single MIDI CC event.
For Transformer Up:
- CC Parameter = 20, Value = 127
For Transformer Down:
- CC Parameter = 21, Value = 127
From the RC Guide:
PC/CC Example 2: Controlling the Input Select Buttons
If you want to change the input selection for the A and B bus, or recall a Memory, these commands are a bit more complicated.
You would create a total of three events that run in sequence: two CC events, followed by a PC event.
To select Input 3 on the A Bus:
- CC Parameter = 0, Value = 0
- CC Parameter = 32, Value = 0
- PC Value = 2
To select Input 2 on the B Bus:
- CC Parameter = 0, Value = 1
- CC Parameter = 32, Value = 0
- PC Value = 1
To recall Memory 4:
- CC Parameter = 0, Value = 80
- CC Parameter = 32, Value = 0
- PC Value 3
From the RC Guide:
SysEx Setup Guide
SysEx offers a deeper level of control of the V-1HD. That said, there are more steps to figuring out command strings, including some math. This command selects input 1 on the A Bus:
F0 41 10 00 00 00 20 12 71 00 08 00 07 F7
These are hex values, which are not the same as decimal values, and it's easy to get confused when converting them.
For example:
01 in hex is 1 in dec
12 in hex is 18 in dec
0C in hex is 12 in dec
These hex values are often notated with an "H' at the end, for hex, like F0H, 41H, 10H, etc. I leave the H off when I type the SysEx string in my control software.
Here's the hex to decimal chart again for reference, I suggest keeping this open in a separate window on your desktop for easy reference:
And here's a breakdown of that sample command, F0 41 10 00 00 00 20 12 71 00 08 00 07 F7:
F0 - All SysEx commands start with this
41 - Roland's Manufacturer ID
10 - The V-1HD's default device ID
00 00 00 20 - The V-1HD's model ID (note this is 4 bytes instead of 1)
12 - Command ID for sending commands
71 00 08 - This is the command address for selecting an input on the A Bus
00 - This is the value for that command, which corresponds to input 1
07 - This is the checksum, which you need to calculate separately for each command to work
F7 - All SysEx commands end with this
To calculate a checksum, you need to add together the bytes from the command address and value, and do some math with the quotient value.
For the above command, separate convert 71 00 08 00 from hex to decimal and add them together.
71H is 113, 00H is 0, 08H is 8, and 00H is 0, which equals 121.
The value range in MIDI is 0-127, so divide 121 by 128 and use only the remainder, which is 121, because the quotient is 0.
Another way to calculate this is to keep subtracting 128 until you get a number lower than 128, and that's your remainder.
Now, subtract the remainder of 121 from 128, and you get 7.
Convert 7 back to hex, and you get 07H.
Here are the commands for the A and B input select buttons, note how the checksums go down incrementally as the command addresses and values go up:
Finally, let's go over the commands for the Transformer up and down buttons. These are a little different, as they need two commands to work correctly, an On and Off command, simulating your finger pressing the button, and letting go. If you only send the On command, then the buttons may stop functioning correctly, at which point a factory reset is recommended.
Your hardware or software also needs to support transmitting a string of multiple SysEx commands in order for this to work.
Convert 73 04 00 12 from hex to decimal and add them up.
73H is 115, 04H is 4, 00H is 0, and 12H is 18, which equals 137.
Divide 137 by 128 and use only the remainder, which is 9, because the quotient is 1 this time.
Another way to calculate this is to keep subtracting 128 until you get a number lower than 128, and that's your remainder.
Now, subtract the remainder of 9 from 128, and you get 119.
Convert 119 back to hex, and you get 77H.
More Information
For more information about MIDI Control, refer to the V-1HD Remote Control Guide.
Note: This is a separate document from the Reference Manual and RCS Owner's Manual.