Assigning SysEx to Output Faders

Controller messages work for most kinds of data, such as volume, pan, and modulation. However, sometimes you have to send SysEx, special messages that allow you to control diverse functions on your MIDI gear.

For example, if you own a Yamaha TG55 tone generator, you can't use the common Pan controller (controller 10) to adjust sounds between right and left on that device. The TG55 does respond to a special SysEx message to control panning, however. According to the TG55 user's manual, the SysEx pan message is:

F0H 43H 1nH 35H 01H t2H 00H 06H v2H F7H

This message (like most SysEx messages) might confuse you at first, so here's a quick explanation. SysEx messages are commonly expressed in hexadecimal values, which accounts for all those H's, reminding both you and Metro that the numbers aren't in our usual 0-9 numbering system.

Some SysEx messages are a simple series of numbers. All SysEx messages begin and end with the hexadecimal values F0 and F7 (the H just labels the F0 and F7 as hexadecimal numbers)—the definition of MIDI says that's how they should be. In between F0 and F7, you find the particular values that mean something special for your particular piece of gear.

The SysEx pan message above is actually a combination of hexadecimal numbers and temporary "placeholders," waiting for you, the human, to fill them in with appropriate values. The value 43H is a plain hexadecimal number; the "t" in t2H is a placeholder, which you'd fill in with your desired value.

The values you fill in depend on your needs and your situation, for example, the MIDI channel you want to control, or which particular device you want to control (in case you have more than one TG55 device hooked up).

The TG55 manual says that in the SysEx string above, you should replace n (in the third byte) with the desired device number (usually preset to 0 at the factory), t2 (in the sixth byte) with the desired MIDI channel, and v2 (in the ninth byte) with the actual parameter value for panning. The range of valid panning numbers on the TG55 is between 0 and 63, according to the manual.

Knowing these principles, you can control nearly any piece of MIDI gear that responds to SysEx messages. In the following example, we've applied the information in the TG55 manual to instruct Metro how to control the TG55's panpots: F0 43 10 35 01 NN 00 06 00 VV F7

In this particular SysEx message, we've told Metro to "fill in" the NN value "on the fly" with the mixer Instrument's channel, and to "fill in" VV with the value of the slider scaled to the specified range (all the way down, 0, or all the way up, 63). The above data assumes that this TG55 is configured with a device ID of 0.

The only distinguishing feature of this particular message is the channel and value, which Metro fills in before sending the message to the device. Therefore, once you enter the data, you can use copy and paste to copy the message to all TG55 Instruments. Then you can set each output's pan separately.

Since Metro's graphic Instrument mixer is already comprehensive and doesn't require customizing, not everyone will use this flexibility and power to control MIDI devices. But the control is there if you need it.

Let’s summarize our example of assigning a volume slider to control the Yamaha TG55 tone generator’s SysEx pan values:

  1. At the bottom of the Instruments Mixer window, double-click the name of an Output that is set to the channel and port you want to control with a SysEx message (example:TG55-1).

The Define Outputs dialog box appears.

  1. Click Assign Volume Slider.

The assign to Vertical Slider dialog box appears.

  1. Click the Use Sysex button.

  2. In the Scale data values to between “N” and “N” fields, enter 0 and 63.

  3. In the large field marked “Data,” enter: F0 43 10 35 01 NN 00 06 00 VV F7

  4. Click OK.

Now you can control the TG55’s panning on the channel you selected by moving the appropriate volume fader in the Instruments Mixer window. In our example it’s the fader labeled TG55-1. To record your fader movements, see Recording Controller Events Using Faders.


See Also:

Faders

Saving Faders and Output Setups