stringtranslate.com

Открытое управление звуком

Open Sound Control ( OSC ) — это протокол для сетевого взаимодействия звуковых синтезаторов , компьютеров и других мультимедийных устройств для таких целей, как музыкальное исполнение или управление шоу . Преимущества OSC включают совместимость , точность, гибкость и улучшенную организацию и документирование. [1] Его недостатки включают неэффективное кодирование информации , повышенную нагрузку на встроенные процессоры , [2] и отсутствие стандартизированных сообщений/совместимости. [3] [4] [5] Первая спецификация была выпущена в марте 2002 года.

Мотивация

OSC — это формат контента, разработанный в CNMAT Адрианом Фридом и Мэттом Райтом, сопоставимый с XML , WDDX или JSON . [6] Первоначально он был предназначен для обмена данными музыкального исполнения ( жестами , параметрами и последовательностями нот) между музыкальными инструментами (особенно электронными музыкальными инструментами, такими как синтезаторы ), компьютерами и другими мультимедийными устройствами. OSC иногда используется как альтернатива стандарту MIDI 1983 года , когда требуется более высокое разрешение и более богатое пространство параметров. Сообщения OSC передаются через Интернет и в пределах локальных подсетей с использованием UDP/IP и Ethernet . Сообщения OSC между контроллерами жестов обычно передаются через последовательные конечные точки USB, обернутые в протокол SLIP . [ необходима цитата ]

Функции

Основные особенности OSC по сравнению с MIDI включают в себя: [1]

Приложения

Существуют десятки приложений OSC, включая среды обработки звука и мультимедиа в реальном времени, инструменты веб-интерактивности, программные синтезаторы, языки программирования и аппаратные устройства. OSC добился широкого применения в таких областях, как музыкальное выражение , робототехника, интерфейсы видеопроизводства, распределенные музыкальные системы и межпроцессное взаимодействие .

Стандарт сообщества TUIO для осязаемых интерфейсов, таких как мультитач, построен на основе OSC. Аналогично система GDIF для представления жестов интегрирует OSC.

OSC широко используется в экспериментальных музыкальных контроллерах и встроен в несколько продуктов с открытым исходным кодом и коммерческих продуктов.

Язык программирования музыки Open Sound World (OSW) разработан на основе обмена сообщениями OSC. [7]

OSC — это сердце API плагина DSSI , эволюция API LADSPA, позволяющая конечному GUI взаимодействовать с ядром плагина посредством обмена сообщениями с хостом плагина. LADSPA и DSSI — это API, предназначенные для аудиоэффектов и синтезаторов.

В 2007 году было предложено стандартизированное пространство имен в OSC под названием SYN для связи между контроллерами, синтезаторами и хостами.

Известные программные обеспечения с реализациями OSC включают в себя:

Известные аппаратные средства с реализацией OSC включают в себя:

Дизайн

Сообщения OSC состоят из шаблона адреса (например, /oscillator/4/frequency), строки тега типа (например, ,fiдля аргумента float32 , за которым следует аргумент int32 ), и самих аргументов (которые могут включать тег времени). [8] Шаблоны адресов образуют иерархическое пространство имен , напоминающее путь файловой системы Unix или URL , и ссылаются на « Методы » внутри сервера, которые вызываются с прикрепленными аргументами . Строки тега типа представляют собой компактное строковое представление типов аргументов. Аргументы представлены в двоичной форме с выравниванием по четыре байта . Поддерживаются следующие основные типы:

Пример сообщения включен в спецификацию (с нулевыми байтами заполнения, представленными как ␀): /oscillator/4/frequency␀,f␀␀, за которым следует 4-байтовое представление float32 числа 440.0: 0x43dc0000. [9]

Сообщения могут быть объединены в пакеты, которые, в свою очередь, могут быть объединены в пакеты и т. д. Каждый пакет содержит временную метку, которая определяет, должен ли сервер ответить немедленно или в какой-то момент в будущем. [8]

Приложения обычно используют расширения этого основного набора. Совсем недавно некоторые из этих расширений, такие как компактный тип Boolean, были интегрированы в требуемые основные типы OSC 1.1.

Преимущества OSC перед MIDI в первую очередь заключаются в подключении к Интернету; разрешении типов данных ; и сравнительной простоте указания символического пути, в отличие от указания всех соединений как семибитных чисел с семибитными или четырнадцатибитными типами данных. [8] Однако эта читабельность для человека имеет недостаток, заключающийся в неэффективности передачи и большей сложности анализа встроенной прошивкой. [2]

Спецификация не определяет никаких конкретных методов OSC или контейнеров OSC. Все сообщения определяются реализацией и различаются от сервера к серверу.

Ссылки

  1. ^ ab "Введение в OSC". opensoundcontrol.org . 7 апреля 2021 г. . Получено 11 сентября 2021 г. .
  2. ^ ab Fraietta, Angelo (2008). «Открытое управление звуком: ограничения и запреты». doi : 10.5281/zenodo.1179537. S2CID  5690441. {{cite web}}: Отсутствует или пусто |url=( помощь )
  3. ^ "Главная · fabb/SynOSCopy Wiki". GitHub . Получено 31.12.2022 . Одна из причин, по которой OSC пока не заменил MIDI, заключается в том, что нет возможности «подключить и играть»… В OSC нет стандартного пространства имен для взаимодействия, например, с синтезатором
  4. ^ Supper, Ben (24 октября 2012 г.). «Мы ненавидим MIDI. Мы любим MIDI». Focusrite Development . Получено 01.01.2023 . OSC страдает от надмножества этой проблемы: это анархия, и намеренно. Владельцы спецификации так стремились избежать наложения на нее ограничений, что оборудованию стало все труднее с ней справляться. … Что еще серьезнее, существует проблема совместимости. OSC не имеет определенного пространства имен даже для самых распространенных музыкальных обменов, до такой степени, что его нельзя использовать для отправки средней до с секвенсора на синтезатор стандартизированным образом.
  5. ^ "OSC-Namespace and OSC-State: Schemata for Describing the Namespace and State of OSC-Enabled Systems" (PDF) . OSC также вводит новые препятствия. Во-первых, поскольку нет фиксированного набора сообщений, каждый участвующий сервер должен знать, какие сообщения он может отправлять серверам, с которыми он намерен взаимодействовать. В настоящее время стандарт OSC не предоставляет средства программного обнаружения всех сообщений, на которые отвечает сервер
  6. ^ "OpenSoundControl | CNMAT". cnmat.berkeley.edu . Получено 22 декабря 2019 г. .
  7. ^ "OSW Manual OpenSound Control (OSC)". osw.sourceforge.net . Получено 22 декабря 2019 г. .
  8. ^ abc Райт, Мэтт (26 марта 2002 г.). «Спецификация Open Sound Control 1.0». opensoundcontrol.org . Получено 22 декабря 2019 г. .
  9. ^ Райт, Мэтт (29 марта 2002 г.). «Примеры поддержки спецификации OpenSoundControl 1.0». opensoundcontrol.stanford.edu . Получено 01.01.2023 .

Внешние ссылки