ZIPI [Mc Millen, 1994] was a comprehensive musical protocol similar to MIDI [MMA, 1998] in its scope but much more flexible and structured. Some of its concepts are also very relevant for the MetriX language that will be presented in chapter 6. This latter is the main reason for including ZIPI in this review.
The first ideas of what would later become ZIPI started in 1989 as a collaboration between Zeta Music and CNMAT (Center for New Music and Audio Technology at the University of California, Berkeley). It all started when trying to break the chain keyboard-MIDI-sampler that was already foreseen at that time. The initial idea was to find a protocol that allowed to naturally control synthesizers from a guitar.
In 1993 and 1994 it was presented at the NAMM event and some enhancements were added responding to suggestions by some companies. But soon after and when the protocol seemed to be about to see the light, Zeta Music disappeared and ZIPI with it.
MDPL or Music Parameter Description Language is a musical language embedded in the ZIPI protocol. In it, a package is made up of three different kinds of information: a header or Network Overhead, an Note Address and a Note Descriptor.
Each MDPL package reserves some bits at the beginning and some at the end. These bits are called Network Overhead and contain low-level information related to the network where the package is being transmitted. It includes the address of the device in the network that is supposed to receive the package.
MDPL defines a three level hierarchy: families, instruments and notes. Each element in each category has a physical address that identifies it. This identifier is known as the Note Address. An MDPL message can therefore be addressed to any of the 63 available families, any of the 127 instruments in each family or to any of the 127 notes in each of the instruments. (There is also a special address to send a package to all 63 families at once).
Finally, an MDPL package can contain as many Note Descriptors as necessary. A Note Descriptor is made up of an identifying byte and an undetermined number of data bytes. The identifier defines the parameter that is to be modified and the data bytes contain the parameter value.
In MDPL there is a clear distinction between parameters directly related to the musicians actions and those other low-level parameters that are only related to features in the sound. We will finish our brief review of ZIPI by commenting the most interesting and innovative parameters included in MDPL.