The Protocol
Overview
-
Protocol is open (allocation & extension)
Handling of streamed data (control, modulation, audio, video)
Handling of arbitrary data (binary blocks; manufacturer defined)
High resolution parameters
Time stamping (optional)
Multiple simultaneous timing references in different categories
Continuous fine pitch control (down to LFO range)
Simultaneous multiple data transfers
Implicit priority to real-time messages
Data querying system
Full translation of MIDI for perfect compatibility
Message format key points
-
Non-channel based Device addressing system (64-bit ID with automatic duplicate resolving)
Multiple-destination message format (1 to X)
Variable data word length (16-bit default to 128-bit)
Standardized data types (negotiated)
Message string formatting for implicit time relation
Multi-dimensional orthogonal addressing format easing the relation between rich product implementation and code efficiency.
MIDI compliance by design - one to one conversion principle
With a little help from my CHAI
The application code is never in charge of parsing and generating raw CopperLan message strings; the CHAI acts as an abstraction layer; interaction with CopperLan is only done through function calls.Nike