Aviom A-16R Specification

Aviom A-16R MIDI SysEx Specification
MIDI System Exclusive Implementation - version 1.00 for: A-16R
1. Introduction and Overview
This document is designed to aid in the understanding of the A-16R’s MIDI System Exclusive (SysEx) implementation. MIDI SysEx support for the A-16R product includes messages that allow for uploading and downloading of all sixteen system presets or the current active configuration also referred to in this document as the current preset. Described in this document is the implementation of these features. In order to utilize these features the A-16R may be interfaced to any MIDI management device such as a personal computer with MIDI software or stand alone devices such as MIDI SysEx recorders/sequencers.
1.1. Transmit Flow
Shown below is the basic transmit flow for the currently supported/implemented MIDI system exclusive messages on the A-16R.
Figure 1 - MIDI Transmit Flow
1.2. Receive Flow
Shown below is the basic receive flow for the currently supported/implemented MIDI system exclusive messages on the A-16R.
Figure 2 - MIDI Receive Flow
1157 Phoenixville Pike, Suite 201 | West Chester, PA 19380 USA
Phone +1 610.738.9005 Fax +1 610.738.9950 | www.Aviom.com
Page 1
Aviom A-16R MIDI SysEx Specification
2. MIDI System Exclusive Packet Pieces
A MIDI SysEx packet can be thought of as a group or collection of bytes that contain a start indicator referred to as the “SysEx Head”, “Message Data” which may contain control or status information and a “SysEx Tail” which terminates/ends the packet. Described below is an overview of a generic MIDI SysEx packet structure.
SysEx Head Message Data SysEx Tail
Figure 3 - MIDI General Packet Structure
The specifics and mechanics of the various packet pieces are described in the subsequent sections.
2.1. MIDI System Exclusive Packet Head
Several data bytes define the “SysEx Packet Head.” Among these are the standard “Start of Exclusive” also known as SOX, a standard MIDI Manufacturer’s ID assigned by the MIDI Manufacturers Association (MMA) and Aviom proprietary product and message type identification. SysEx messages that contain incorrect or unknown ID information or unsupported message types are ignored by the A-16R without generating error indications. The MIDI SysEx packet head of an A-16R SysEx packet is described below.
SOX Manufacturer’s ID
Family ID Product ID Device ID Msg. Type Msg. Descriptor
1111 0000 (F0H) 0000 0000 (00H) 0000 0001 (01H) 0100 0101 (45H) 0000 0000 (00H) 0000 0000 (00H) 0000 0000 (00H) 0mmm mmmm ­0000 0000 (00H) 0000 0000 (00H) 0000 0000 (00H) 0000 0000 (00H) 0000 0000 (00H) 0000 0000 (00H)
Start of Exclusive Aviom Manufacturer’s ID Byte 1 Aviom Manufacturer’s ID Byte 2 Aviom Manufacturer’s ID Byte 3 (A-16 Family) (A-16R Product) (expansion) See table 1 for valid message types Message Descriptor Byte 1 (expansion) Message Descriptor Byte 2 (expansion) Message Descriptor Byte 3 (expansion) Message Descriptor Byte 4 (expansion) Message Descriptor Byte 5 (expansion) Message Descriptor Byte 6 (expansion)
1157 Phoenixville Pike, Suite 201 | West Chester, PA 19380 USA
Phone +1 610.738.9005 Fax +1 610.738.9950 | www.Aviom.com
Page 2
Aviom A-16R MIDI SysEx Specification
2.2. MIDI System Exclusive Packet Tail
Every complete MIDI System Exclusive message should contain a Trailer/Tail byte referred to as an “End of Exclusive” or EOX for short. Reception of implemented System Exclusive messages in the A-16R that do not contain an EOX will be treated as incomplete and flagged as an error.
EOX
1111 0111 (F7H)
End of Exclusive
2.3. Message Data Format
There are essentially two basic data byte formats used in the “Message Data” section of an A-16R’s SysEx message. The first format is a nibblized format and the second is a padding format. In general the “Message Data” of the A-16R’s SysEx message is nibbilized or broken up into MIDI seven bit status bytes. In this nibblization process one data byte becomes two bytes. The upper 4 Bits or upper nibble of the first byte is fixed while the lower 4 Bits or lower nibble contains the Most Significant Bits (MSB) of the data byte being “nibblized.” Similarly, the upper nibble of the second byte is fixed while the lower nibble contains the Least Significant Bits (LSB) of the data byte.
MSB LSB
0001 hhhh 0001 llll
h = high 4 bits of data byte - sent first l = low 4 bits of data byte
The second basic data byte format used in the “Message Data” section is the padding format. Padding is inserted between presets in order to provide necessary delays to allow for preset processing.
Padding
0000 0000 (00H)
Padding byte format, ignored by A-16R
2.4. Checksum Calculation
The preset checksum is calculated by a straight 8-Bit addition of all preset data bytes, excluding the preset ID, prior to nibblization. In the event of an overflow the overflow will be discarded in this scheme. Once the checksum has been calculated, the 8- Bit result is then nibblized for transmission and inserted into the MIDI SysEx message. In the case of the All Presets Message several checksums are included in the MIDI SysEx message, one for each preset contained within the message.
1157 Phoenixville Pike, Suite 201 | West Chester, PA 19380 USA
Phone +1 610.738.9005 Fax +1 610.738.9950 | www.Aviom.com
Page 3
Loading...
+ 5 hidden pages