Gibson MaGIC
MaGIC | |
---|---|
Manufacturer Info | |
Manufacturer | Gibson Guitar Corporation |
Development date | 1999 |
Network Compatibility | |
Switchable | No |
Routable | No |
Ethernet data rates | Fast Ethernet |
Audio Specifications | |
Maximum sampling rate | 192 kHz |
Maximum bit depth | 32 bits |
Media-accelerated Global Information Carrier (MaGIC) is an Audio over Ethernet protocol developed by Gibson Guitar Corporation in partnership with 3COM. MaGIC allows bidirectional transmission of multichannel audio data, control data, and instrument power.
Revision 1.0 was introduced in 1999; the most current revision 3.0c was released in 2003.[1]
MaGIC is used in several guitar products such as Gibson Digital Guitar.
Capabilities
- Uses Category 5 UTP cables up to 100 m long
- Frame-compatible with Fast Ethernet
- 32 channels, 192 kHz sampling rate
- 32-bit integer audio
- 32-bit floating point audio
- 24-bit integer audio with 4-bit channel status and 4-bit channel command
- 32-bit raw data
- Supports line network topology, star topology, and a combination of the two
Network protocol
In terms of ISO OSI model, MaGIC can use physical and link layer (MAC/LLC) based on 100 Mbit Fast Ethernet signalling specified in IEEE 802.3/IEEE 802.3af and IEEE 802.2, however MaGIC implements proprietary network and application layers which can be used with different physical layers such as Gigabit Ethernet or optical media.
The frame consists of 1776 bytes. The network protocol encapsulates each frame application data (1506 bytes) into media payload (1024 bytes) and control payload (352 bytes) fields of the frame. The media payload is reserved for low-latency synchronous audio and video data, and control payload may encapsulate MaGIC control messages, MIDI data, and other protocols.
Media streams are transmitted synchronously without re-sampling or buffering, ensuring minimal latency; each stream has one source and one or more destinations. Control messages are generally broadcast to entire network - each device processes the destination address and forwards to all neighbors if necessary.
Application protocol
A MaGIC device consist of the following logical entities:
- Unit - an access point that sends and receives control messages;
- Components - access points for control applications such as power on/off switches, volume controls, control surfaces, or graphical user interfaces;
- Ports - represent either physical connections or user applications which send media to the network;
- Media Slot Routers - oute media data streams between through the network.
Individual control capabilities of the device are exposed through the MaGIC Control Protocol (MCP), which allow communication with Components in other devices (a maximum of 65535 per device).
The network elects a System Timing Master (STM) which is the source of synchronization on for all devices. Timecode formats includes MaGIC timecode and MIDI Time Code.
The control data in consist of 12-bit Control Message Code (CMC) 4-bit status field, 32-bit Source (Unit and Component, 16-bit each) and 32-bit Destination, and may contain up to 32 Kbytes of data in multiple frames.
The CMCs are defined into four classes:
- Network Management Messages (0-127)
- Well Known Application Protocols (128-511) - used for encapsulation of well-known high level protocols or for transporting messages with well-known format and structure (like MIDI).
- User Control Messages (512-1023) - proprietary user messages
- Reserved (1024-4095).
Control links are bi-directional communication pipes between several MaGIC devices, intended for control applications. For example, a control link allows the knob on one device to regulate the remotely located volume on another device through the MaGIC network. Control links allow remotele management from a computer with a sophisticated GUI which would act as a network supervisor that would manage other applications. Devices may also establish control links using proprietary mechanisms as long as they are compliant with this specification.
Network management messages
CMC | Name | Description |
0x01 | Operation Completion | Status Used for error reporting |
0x03 | Change of STM | Forces device resynchronization |
0x05 | Address Advertisement | Used for device address auto-configuration. Tentative address broadcast |
0x07 | Address Conflict | Reports an address conflict between two or more devices. |
0x09 | Neighbor Advertisement | Reports device symbolic name to neighbor devices |
0x11 | Add/Remove Link Record | Adds or removes a record to/from the control link table of a device component. |
0x13 | Establish/Drop Control Link | Establishes or disconnects a control link between two remote components. |
0x15 | Read/Clear Link Table | Reads or erases a control link table of a device component. |
0x17 | List of Linked Components | Provides list of addresses for linked components. |
0x19 | Read Link Parameters | Read parameters of a particular control link. |
0x1B | List of Link Parameters | Provides information about a control link. |
0x31 | Set routing table | Programs port routing table. |
0x33 | Read routing table | Accesses port routing table data. |
0x35 | Routing table data | Reports content of port routing table. |
0x41 | Mute | Transmits a list of data slot enable/disable masks. |
0x51 | Read Attribute | Requests an attribute value |
0x53 | Attribute Value | Transmits the requested attribute value. |
References
- ↑ "Media-accelerated Global Information Carrier". Archived from the original on 2013-05-30.
- ↑ Media-accelerated Global Information Carrier Engineering Specification Revision 3.0c (PDF), archived (PDF) from the original on 2013-05-30