Work with SysEx messages

There are several ways to enter SysEx messages in the SysEx Fader Editor window.

Teach the fader to learn a SysEx string

  1. Click the MIDI In button at the top-right corner of the window.

    Figure. Turning on the MIDI In button in the SysEx Fader Editor window.
  2. Alter the parameter on your device.

The corresponding SysEx message is displayed. You can also enter SysEx messages in the SysEx fader window by typing the SysEx string into the Event List. (Check your MIDI device manual for SysEx documentation.)

Manually enter SysEx strings

  • Choose Syst. Exclusive from the Event Type pop-up menu, then click the Add Event button.

    Figure. SysEx Fader Editor window.

    A generic SysEx message appears.

    • The first data byte in the top line (directly after the word SysEx in the Num column) is the manufacturer’s ID. This may be several data bytes long (as there are more than 128 manufacturers of MIDI devices).

    • The manufacturer’s ID is usually followed by a device type ID, an individual device ID, a data type ID (which could be several bytes) and, if necessary, the number of the multi-timbral subchannel, and the identification number or numbers of the sound parameters plus the value of the sound parameter. There are no uniform standards that apply here.

    • Data bytes are normally input as decimal numbers. To enter them in hex, place a $ in front of values when you type them. Choose View > SysEx in Hex Format to see all values in hexadecimal.

    • The last data byte (the EOX indicating the end of the SysEx message) is entered automatically by Logic Pro. The number of data bytes in the SysEx message can be decreased or increased by clicking the Plus and Minus buttons before and after the word EOX.

Although you can have any number of messages (of any kind) in the SysEx fader’s Event List, there is only one fader value, and all selected messages adopt this value.

You can use a similar method to create any kind of MIDI or meta event in the SysEx fader window. Command-clicking any of the eight event type buttons (Note, Program Number, Pitch Bend, Controller, Channel Pressure, Poly Pressure, SysEx, and Meta Event) creates a new event of that type. Meta events can be created by using the expanded view button, featuring the 0’s and 1’s on its face.

The terms SUM (for the checksum) and VAL (for the fader value) being sent are displayed within the SysEx string.

Set the checksum and value of a SysEx event

  1. Select the events you want to alter.

  2. Choose options from the Checksum and Value pop-up menus (found in the lower-right corner of the window) to set the format of these bytes.

    • Checksum Format: A checksum can be created in any of the following formats:

      • Roland

      • Yamaha

      • Regular Checksum

      • 2’s complement

      • 1’s complement

      If you don’t know which one works with your MIDI device, try “off” (= no checksum) first or “2’s complement.”

    • Value Byte Position: Position allows you to determine the position of the value byte. This position is specified in bytes, counted from the end of the message: “last” refers to the position directly before the EOX byte, “Last-1” indicates the byte before that, and so on. Auto ensures that the value byte is inserted at the last position in the SysEx string if no checksum was selected, or—if a checksum value was entered—that the value is inserted as the second-to-last byte.

    • Value Byte Format: The following table outlines the resulting data format of the value option you send: (The unused bits of the transfer in nibbles (X in 0XXXNNNN) are sent with the information at the relevant positions of the SysEx strings. If you want to transfer these deleted bits, you need to enter zeros in the SysEx string.)

    Value option

    Result

    Auto

    The value is sent as one byte if the value range maximum is 127 or less. If the maximum is higher than 127, the value is sent as two bytes, the MSB (most significant byte) first.

    One Byte

    The value is sent as one byte.

    MSB/LSB

    The value is sent in two bytes, with the MSB (most significant byte) first.

    LSB/MSB

    The value is sent in two bytes, with the LSB (least significant byte) first.

    BCD 4 LSB

    The value is sent as Binary Coded Decimal in four bytes, in the order 1, 10, 100, 1000.

    BCD 4 MSB

    The value is sent as Binary Coded Decimal in four bytes, in the order 1000, 100, 10, 1.

    2 Nibbles L

    The value is sent in two nibbles, with the least significant nibble first.

    3 Nibbles L

    The value is sent in three nibbles, with the least significant nibble first.

    4 Nibbles L

    The value is sent in four nibbles, with the least significant nibble first.

    2 Nibbles M

    The value is sent in two nibbles, with the most significant nibble first.

    3 Nibbles M

    The value is sent in three nibbles, with the most significant nibble first.

    4 Nibbles M

    The value is sent in four nibbles, with the most significant nibble first.

    2 ASCII M

    The value is sent in two nibbles, the most significant nibble first; the nibbles are sent in ASCII format for the hex value. For example, the value $7F (= 127 in decimal) will be transmitted as a 7 and F.

    3 ASCII M

    Same as 2 ASCII M, but in 3 nibbles.

    4 ASCII M

    Same as 2 ASCII M, but in 4 nibbles.