ZIPI: Проект нового протокола для цифровых музыкальных инструментов.
Zeta Instrument Processor Interface
ZIPI: новый протокол для цифровых музыкальных инструментов, разработанный Zeta Instruments и CNMAT. Альтернатива MIDI с сетевой архитектурой и высокой скоростью.
Сравнивайте с английским: нажмите на абзац — оригинал откроется в окне. Кнопка EN под абзацем показывает его прямо в тексте.
Содержание
Введение
Исследовательский проект, инициированный Zeta Instruments и CNMAT
испанский комикс
Research project initiated by Zeta Instruments and CNMAT
the Spanish comic strip
Zeta Instrument Processor Interface (ZIPI) был исследовательским проектом, инициированным компаниями Zeta Instruments и CNMAT (Центр новой музыки и аудиотехнологий) Калифорнийского университета в Беркли. ZIPI был представлен в 1994 году в серии публикаций в журнале Computer Music Journal издательства MIT Press и задумывался как транспортный протокол следующего поколения для цифровых музыкальных инструментов, разработанный с учетом модели OSI.
Zeta Instrument Processor Interface (ZIPI) was a research project initiated by Zeta Instruments and UC Berkeley's CNMAT (Center for New Music and Audio Technologies). Introduced in 1994 in a series of publications in Computer Music Journal from MIT Press, ZIPI was intended as the next generation transport protocol for digital musical instruments, designed with compliance to the OSI model.
Концепция
Проект рабочей версии ZIPI был в первую очередь направлен на устранение многих ограничений MIDI (Musical Instrument Digital Interface). В отличие от MIDI, использующего последовательное соединение типа «один к одному», ZIPI был разработан для работы в звездной сети с концентратором в центре. Это обеспечивало более быстрое подключение и отключение устройств, поскольку не требовалось последовательное соединение нескольких устройств. На физическом уровне использовался стандарт 10BASE T, однако протокол не был привязан к какой-либо конкретной физической реализации. Рассматривались возможности запроса характеристик устройств, названий пресетов и других системных и патчевых параметров, а также загрузки и выгрузки сэмплов в память устройств.
The draft working version of ZIPI was primarily aimed at addressing many limitations of MIDI (Musical Instrument Digital Interface). Unlike MIDI which uses a peer to peer serial port connection, ZIPI was designed to run over a star network with a hub in the center. This allowed for faster connection and disconnection, because there was no need to daisy chain multiple devices. 10BASE T was used at the physical layer, but the protocol did not depend on any physical implementation. There were proposals for querying device capabilities, patch names and other system and patch parameters, as well as uploading and downloading samples into device memory.
MPDL
ZIPI использовал совершенно новую систему сообщений и сложную схему адресации нот, основанную на протоколе языка описания музыкальных параметров (MPDL), который являлся прямой заменой событиям MIDI. Вместо MIDI-каналов использовалась трех уровневая иерархия адресов, состоящая из 63 семейств, каждое из которых включало 127 инструментов, и каждый инструмент – 127 нот, что давало до 1 016 127 уникальных адресов нот. Инструменты внутри семейства могли быть сформированы из различных физических устройств. Такая организация обеспечивала детальное управление параметрами синтеза для каждой ноты, что особенно полезно в нестандартных сценариях, таких как MIDI-контроллеры духовых инструментов или MIDI-гитар. Например, функция мгновенного включения ноты могла компенсировать недостатки определения (отслеживания) нот в гитарных MIDI-системах, особенно на нижних струнах. При активации нота начинала звучать как шум или произвольно низкая нота, пока логика контроллера не определяла фактическую высоту тона, которая затем отправлялась отдельным сообщением без необходимости повторного запуска ноты. Помимо этого, сообщения могли адресоваться ко всему инструменту или даже ко всему семейству, что эквивалентно сообщениям канала. Некоторые сообщения MPDL были напрямую заимствованы из MIDI, получив более удобные для произношения имена, чтобы избежать неоднозначности, но большинство сообщений были новыми и основывались на существенно отличающейся, хотя и инновационной, логике управления. Разрешение параметров сообщений могло быть любым кратным 8 бит, потенциально расширяя типичное для MIDI 7-битное разрешение до 32 бит и более. Также были предусмотрены сообщения более высокого уровня, соответствующие расширенным программным параметрам, таким как модуляция, огибающие и трехмерная пространственная локализация голосов, а также специализированные сообщения для гитарных, духовых и барабанных контроллеров.
ZIPI used completely new message system and a complex note addressing scheme based on Music Parameter Description Language (MPDL) protocol, which was a direct replacement to MIDI events. Instead of MIDI Channels, there were three level address hierarchy of 63 Families consisting of 127 Instruments, each having 127 notes, resulting in up to 1,016,127 individual note addresses. Instruments in a Family could be assembled from different physical devices. This arrangement allowed fine per note control of synthesis parameters, especially useful for non standard scenarios such as MIDI wind controller or MIDI guitar controller. For example, instant note on capability could mask the deficiencies of note detection (tracking) in guitar MIDI systems, especially on lower strings. When triggered, the note would begin sounding as a noise or an arbitrary low note until the controller logic had tracked the actual pitch, which would be sent by a follow up message without the need to retrigger the note. Conventionally, messages could also address a whole Instrument or an entire Family, as an equivalent to channel messages. Some MDPL messages were direct carryovers from MIDI, given more pronounceable names in order to avoid ambiguity, but most messages were new and based on a very different, although innovative, control logic. The resolution of message parameters could be any multiple of 8 bit, potentially extending 7 bit resolution typical of MIDI to 32 or more bits. There were also some higher level messages corresponding to advanced program parameters, such as modulation, envelopes and 3D spatialization of voices, as well as instrument specific messages for guitar, wind, and drum controllers.
Результат проекта
Хотя ZIPI предлагал множество выдающихся новых функций, они плохо сочетались с существующими реализациями на основе MIDI. Необычная схема адресации, требовавшая значительного усложнения, стала основной причиной его непринятия. Поддержание 1 016 127 отдельных состояний синтеза значительно превосходило возможности синтезаторного оборудования того времени, хотя разработчики ZIPI намекали на то, что существовали бы практические ограничения на количество одновременно доступных программ и нот. Для сравнения, MIDI определял всего 16 каналов, которые аккумулировали общие сообщения управления каналами, такие как смена программы, громкость и высота тона, а большинство цифровых синтезаторов того времени могли одновременно воспроизводить лишь от 12 до 128 нот. Поскольку коммерческих устройств с поддержкой ZIPI выпущено не было, достаточная функциональность MIDI для большинства задач и появление "FireWire" (IEEE1394) в качестве альтернативного физического уровня вскоре привели к фактическому прекращению проекта. На веб-сайте ZIPI в CNMAT утверждается, что IEEE1394 "превосходит ZIPI во всех аспектах", главным образом благодаря более простым требованиям к интерфейсу: он не требует использования концентратора, поддерживает горячее подключение (устройства можно добавлять или удалять более удобно) и включает в себя изолированную схему распределения питания. Разработчики продолжили работу над протоколом Open Sound Control, который в настоящее время поддерживается широким спектром музыкальных инструментов, датчиков и программного обеспечения.
Although ZIPI provided many outstanding new features, they did not line up well with existing MIDI based implementations. The unusual addressing scheme which required substantial increase in complexity was the main factor in the lack of its adoption. Maintaining 1,016,127 individual synthesis states was far beyond the capabilities of synth hardware of the time, even though ZIPI developers hinted that there would be some practical limits upon the number of simultaneously available programs and notes. In comparison, MIDI defined only 16 channels that accumulated common channel control messages like program change, volume and pitch, and most digital synthesizers of the time could only provide from 12 to 128 simultaneously sounding notes. As no commercial devices were released supporting ZIPI, the sufficiency of MIDI for most applications and the introduction of the "FireWire" (IEEE1394) as the alternative physical layer soon led to the practical demise of the project. ZIPI web site at CNMAT asserts that IEEE1394 "supersedes ZIPI in every respect," mainly because it has simpler interface requirements: it does not require a hub, supports hot plugging (devices may be added or removed more conveniently), and includes an isolated power distribution scheme. The developers continued on to work on Open Sound Control protocol, currently supported in a wide variety of musical instruments, sensors and software.