Open Sound Control ( OSC ) - это протокол для объединения в сеть синтезаторов звука, компьютеров и других мультимедийных устройств для таких целей, как музыкальное исполнение или управление шоу . Преимущества OSC включают возможность взаимодействия, точность, гибкость и улучшенную организацию и документацию. [1] Первая спецификация была выпущена в марте 2002 года.
Мотивация
OSC - это формат контента, разработанный в CNMAT Адрианом Фридом и Мэттом Райтом, сопоставимый с XML , WDDX или JSON . [2] Первоначально он предназначался для обмена данными музыкального исполнения (жесты, параметры и последовательности нот) между музыкальными инструментами (особенно электронными музыкальными инструментами, такими как синтезаторы ), компьютерами и другими мультимедийными устройствами. OSC иногда используется как альтернатива стандарту MIDI 1983 года , когда требуется более высокое разрешение и более богатое пространство параметров. Сообщения OSC передаются через Интернет и в локальных подсетях с использованием UDP / IP и Ethernet . Сообщения OSC между контроллерами жестов обычно передаются через последовательные конечные точки USB, заключенные в протокол SLIP .
Функции
Основные особенности OSC, по сравнению с MIDI, включают: [1]
- Открытая, динамическая схема символического именования в стиле URI
- Символьные числовые данные с высоким разрешением
- Язык сопоставления с образцом для указания нескольких получателей одного сообщения
- Метки времени высокого разрешения
- "Связки" сообщений, действие которых должно происходить одновременно.
Приложения
Существуют десятки приложений OSC, включая среды обработки звука и мультимедиа в реальном времени, инструменты веб-интерактивности, программные синтезаторы, языки программирования и аппаратные устройства. OSC получил широкое применение в таких областях, как музыкальное выражение, робототехника, интерфейсы для видеопередач, распределенные музыкальные системы и межпроцессное взаимодействие.
TUIO стандарт сообщества для материальных интерфейсов , таких как мультитач построен на вершине OSC. Аналогичным образом система GDIF для представления жестов интегрирует OSC.
OSC широко используется в экспериментальных музыкальных контроллерах и встроен в несколько коммерческих продуктов с открытым исходным кодом.
Язык программирования музыки Open Sound World (OSW) разработан на основе обмена сообщениями OSC. [3]
OSC является сердцем API плагина DSSI , эволюции LADSPA API, чтобы конечный графический интерфейс пользователя взаимодействовал с ядром плагина посредством обмена сообщениями с хостом плагина. LADSPA и DSSI - это API, предназначенные для звуковых эффектов и синтезаторов.
В 2007 году было предложено стандартизованное пространство имен в OSC под названием SYN для связи между контроллерами, синтезаторами и хостами,
Известное программное обеспечение с реализациями OSC включает:
- Пыл
- Bidule
- ChucK
- CasparCG (движок видеографики с открытым исходным кодом)
- Кристальное пространство
- CSound
- Цифровой исполнитель
- Fluxus
- FreeJ
- Концертный исполнитель
- IanniX
- Экспромт
- Айседора (v.1.1)
- JUCE (Фреймворк)
- Kyma
- Лили
- Жизни
- Логика Pro
- Макс / MSP
- Моколо
- Modul8
- MuseScore
- Mxwendler
- openFrameworks
- Обработка
- Чистый
- Чистые данные
- QLab
- Quartz Composer (начиная с версии 3.0 / Mac OS X v10.5 )
- Реактор
- Жнец
- Renoise
- Соник Пи
- Суперколлайдер
- Писк
- TouchDesigner
- Unreal Engine
- Veejay
Известное оборудование с реализациями OSC включает:
- AlphaSphere
- Аудиокубы
- Консоли ETC EOS
- Микшерные пульты DiGiCo SD
- Kyma
- Лемур Устройство ввода
- Усилители MC2 Delta-DSP
- MIDIbox
- Milkymist One
- Моном 40h
- Цифровая микшерная консоль X32
- Усилители XTA DPA
Дизайн
Сообщения OSC состоят из шаблона адреса, строки тега типа, аргументов и необязательного тега времени. Шаблоны адресов образуют иерархическое пространство имен, напоминающее путь файловой системы Unix или URL-адрес . Строки тегов типа - это компактное строковое представление типов аргументов. Аргументы представлены в двоичной форме с четырехбайтовым выравниванием. Поддерживаются следующие основные типы:
- 32-битные целые числа со знаком с дополнением до двух
- 32-битные числа с плавающей запятой IEEE
- Массивы восьмибитовых кодированных данных с завершающим нулем ( строки в стиле C )
- blob произвольного размера (например, аудиоданные или видеокадр)
Приложения обычно используют расширения этого основного набора. Совсем недавно некоторые из этих расширений, такие как компактный логический тип, были интегрированы в необходимые базовые типы OSC 1.1.
Преимущества OSC над MIDI - это прежде всего возможность подключения к Интернету; разрешение типа данных ; и сравнительная легкость указания символьного пути, в отличие от указания всех соединений как семибитных чисел с семибитными или четырнадцатибитными типами данных. [4]
Рекомендации
- ^ а б «Введение в OSC» . opensoundcontrol.org . Проверено 22 декабря 2019 .
- ^ «OpenSoundControl | CNMAT» . cnmat.berkeley.edu . Проверено 22 декабря 2019 .
- ^ "OSW Ручное управление OpenSound (OSC)" . osw.sourceforge.net . Проверено 22 декабря 2019 .
- ^ «Спецификация Open Sound Control 1.0» . opensoundcontrol.org . Проверено 22 декабря 2019 .
- Шмедер А., Фрид А. и Вессель Д., «Лучшие практики для открытого управления звуком», Linux Audio Conference, Утрехт, Нидерланды, 2010.
- Фрид, А., Шмедер, А., «Возможности и будущее Open Sound Control версии 1.1 для NIME», Конференция NIME 2009.
- Райт, М., Фрид, А., "Открытый контроль звука: новый протокол для связи с синтезаторами звука", Международная конференция компьютерной музыки, Салоники, Греция, 1997.
Внешние ссылки
- Официальный веб-сайт
- Введение в OSC в LinuxJournal
- SYN , стандартизованное пространство имен в OSC