System Exclusive messages are manufacturer and model dependent messages and are of indefinite length. They consist of either:
240, manufacturer_id, additional_data, 247
or
240, 0, ID1, ID2, additional_data, 247
The manufacturer_id, ID1 and ID2 are numbers which ranges from 0 to 127. The additional_data consists of a stream of bytes which range from 0 to 127. It is permitted to embed Real-Time messages in the System Exclusive message, but otherwise, no Status or Data bytes should appear. Typically, System Exclusive messages include data dumps (sequences, sounds, voice parameters, etc.). Arbitrary data may be passed between nodes using this technique. The manufacturer_id's are subject to change. Their state is kept up to date by the IMA or JMSC and are given in Figure 1.2.3-1. [Rothstein 1992].
Figure 1.2.3-1. Systems Exclusive Manufacturer's ID Numbers
Current as of February, 1990 [IMA 1990].
According to the 1.1 version of the MIDI 1.0 Detailed Specification, three System Exclusive ID numbers have been reserved [IMA 1990]. Non-commercial users (i.e., school, research, etc.) should use ID=125. Non-Real Time (ID=126) and Real Time (ID=127) are used for extensions to the MIDI specification.
System Extensions currently in use are shown in Figure 1.2.3-2.
Figure 1.2.3-2. Currently Defined Universal System Exclusive ID Numbers.
The standard format for Universal System Exclusive messages is:
240, ID, channel_number, ID1, ID2, data, 247
The Sample Dump Standard (SDS) permits long data transmissions using elementary data-link access protocols called open-loop, stop-and-wait and go-back-n. They also provide backward error correction using longitudinal redundancy check. In fact, even more complex protocols can be implemented within the SDS, but they are beyond the scope of this document. Generally, a first-course in communication networks at the college level will give the basic ideas behind these elementary data-link layer protocols. There is some nomenclature in this field which will assist us in the study of these types of protocols:
Character oriented data uses characters to group the bits for data and control. Bit-oriented data does no such grouping. Bit-oriented transmission refers to the preamble as a flag. MIDI uses character orientation in all data transmission.
SDS describes how to construct the frame, therefore SDS addresses the data link layer. Some famous data link access protocols include TolkenTalk, EtherTalk and LocalTalk. MIDI is confusing to those new in networking because the Specification also mentions the physical layer. It is often the case that people confuse the link access protocol with the physical layer. If the MIDI link access protocol were used in a different physical layer (for example, LocalTalk hardware), we would not call it an AppleTalk network. This is because AppleTalk uses LocalTalk Link Access Protocol with the LocalTalk hardware.
While LocalTalk Link Access Protocol is generally used with LocalTalk hardware, the protocol choice is not always an indication of which hardware will be used.
For example: IP := Internet Protocol. The protocol that provides the packet delivery service on the ARPANET. There exist implementations of IP (SLIP) which run on RS-232 (from 1200 bps to 19.2 kbps), token rings, satellite links and packet radio.
[ Index | Main Paragraph | Previuos Paragraph ]