TS-10 | TS-12 · MIDI SysEx Implementation Specification V.2.0

Introduction and packet format

1 Introduction and Overview

This section describes the MIDI System Exclusive (SysEx) communication protocol used when the TS is communicating with an external computer (EXT). The protocol is designed to aid the implementation of editing programs running on EXT. The commands described here allow editor/librarian programs to collect and alter information about presets, programs, and the tracks within the TS. The TS-12 is identical to the TS—10 with respect to the SysEx implementation except as noted.

1.1 Universal System Exclusive Device Inquiry Message

The TS supports the MIDI Device Inquiry message which allows instruments and computers to ascertain the identity of the unit(s) to which they are connected via MIDI. The TS responds to the following Identity Request message by sending an Identity Reply message. The TS will respond to the inquiry if the channel information in the message contains either the base MIDI channel of the TS or the all channel broadcast code ($7F) but not both.

11110000F0System Exclusive status byte
011111107ENon Real Time message code
0000nnnnOxBase MIDI channel number

or

011111117FAll Channel Broadcast code
0000011006General Information message code
0000000101Identity Reply message code
11110111F7End of System Exclusive

1.2 System Exclusive Device Identity Reply Message

The following Identity Reply message contains information about the TS, and is transmitted in response to an Identity Request.

11110000F0FO System Exclusive status byte
011111107ENon Real Time message code
0000nnnnOxBase MIDI channel number
0000011006General Information message code
0000001002Identity Reply message code
000011110FENSONIQ manufacturer's code
00000101[/0111]07[05]TS Product Family code - LSByte
0000000000TS Product Family code - MSByte
00000000mmTS Family Member (Model ID) code LSByte
0000000000TS Family Member (Model ID) code MSByte
0000000000Software revision information
0000000000(not used)
0nnnnnnnNNMajor Version Number (integer portion)
0nnnnnnnNNMinor Version Number (decimal fraction portion)
11110111F7End of System Exclusive

2 MIDI System Exclusive Packet Pieces

A packet is a message in the form of a MIDI data stream. Each packet can be divided into three sections or pieces. The first and last packet pieces form the frame for a message. The message contains the commands described in section 3. Every message must be preceded with a SysEx head and followed with a SysEx tail. A complete packet looks like this:

SysEx Head. . . . . . Message . . . . . SysEx Tail

2.1 MIDI System Exclusive Packet Head

This is the common MIDI system exclusive header which must be used on all system exclusive messages to and from the TS. These six bytes are always sent preceding the message portion of the packet. The General TS Family Member Code in this header may be different from the TS Family Member code in the Device Identity Reply message in order to allow transfer of common messages between other TS Product Family members and the original TS—10. The SysEx Device ID number in the message must match the current system setting or the message will be ignored.

11110000F0FO System Exclusive status byte
000011110FENSONIQ Code
00000101[/0111]07[05]TS Family ID Code
0000000000General TS Family Member (Model ID) Code
0000nnnnOxSysEx Device ID number (0.,.15)
00000nnnOxMessage Type (see section 3)

2.2 MIDI System Exclusive Packet Tail

For every head there is a tail. The tail follows the message portion, and is the last byte of every complete SysEx packet.

11110111F7End of System Exclusive

2.3 Message Format

The TS message format within the packet frame allows 8 bit data bytes to be transmitted and received using the 7 bit data of MIDI. The MSB of the data bytes must always be a zero, so the bytes are converted to two 4 bit nybbles. These nybbles are converted to bytes whose upper four bits are all zero for transmission. Note that bytes whose value is zero must still be nybblized and sent as two bytes to preserve the expected MIDI byte counts. This is a description of the format of all data bytes within the packet frame as they are transmitted or received via MIDI. The details of each message are given in section 3.

0000HHHHH = Hi 4 bits of data byte - transmitted first
0000LLLLL = Lo 4 bits of data byte

This represents how the 8 bit byte HHHHLLLL would be transmitted.

2.4 Receiver Errors

If the message received by the TS is not understood, then an error message may be displayed and an error message will be sent as described in section 3.2. Errors typically occur when the MIDI cable is accidentally unplugged during a long dump message such as an All Programs Dump message. If EXT cannot handle the error message, then the displayed message will prompt the user to retransmit the original message after re-connecting the MIDI cable or otherwise correcting the cause of the error.