Открыть управление звуком
Эта статья включает список литературы , связанную литературу или внешние ссылки , но ее источники остаются неясными, поскольку в ней отсутствуют встроенные цитаты . ( Август 2010 г. ) |
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]
- Открытая, динамическая URI. схема символического именования в стиле
- Символические числовые данные и данные высокого разрешения.
- Язык сопоставления шаблонов для указания нескольких получателей одного сообщения
- с высоким разрешением Теги времени
- «Пачки» сообщений, последствия которых должны проявляться одновременно.
Приложения
[ редактировать ]Существуют десятки приложений OSC, включая среды обработки звука и мультимедиа в реальном времени, инструменты веб-интерактивности, программные синтезаторы, языки программирования и аппаратные устройства. OSC получил широкое применение в таких областях, как музыкальное выражение , робототехника, интерфейсы видеопроизводства, распределенные музыкальные системы и межпроцессное взаимодействие .
Стандарт сообщества TUIO для материальных интерфейсов, таких как мультитач, построен на основе OSC. Аналогично, система GDIF для представления жестов интегрирует OSC.
OSC широко используется в экспериментальных музыкальных контроллерах и встроен в несколько продуктов с открытым исходным кодом и коммерческих продуктов.
Язык музыкального программирования Open Sound World (OSW) разработан на основе обмена сообщениями OSC. [7]
OSC — это сердце API плагина DSSI , развитие API LADSPA, позволяющее конечному графическому интерфейсу взаимодействовать с ядром плагина посредством обмена сообщениями с хостом плагина. LADSPA и DSSI — это API, предназначенные для аудиоэффектов и синтезаторов.
В 2007 году было предложено стандартизированное пространство имен внутри OSC под названием SYN для связи между контроллерами, синтезаторами и хостами.
Известное программное обеспечение с реализациями OSC включает:
- Аблетон Live
- Пыл
- Сеть Aurora dBTechnologies
- Гадула
- ЧакК
- CasparCG (движок видеографики с открытым исходным кодом)
- Кристальное пространство
- CSound
- Цифровой исполнитель
- Флюксус
- ФриДжей
- Концертный исполнитель
- Янникс
- Неожиданно
- Isadora (v.1.1)
- СОК (Рамка)
- Кима
- Лили
- Жизни
- Логика Про
- LoopToGo
- Карты еды
- Волшебные музыкальные визуальные эффекты
- Макс/MSP
- Моколо
- Модуль 8
- MuseScore
- Максвендлер
- openFrameworks
- то есть забить
- Обработка
- Чистый
- Чистые данные
- QLab
- Quartz Composer (начиная с версии 3.0/ Mac OS X версии 10.5 )
- Реактор
- Жнец
- Ренойз
- Резолюм Арена/Авеню
- ШоуФордж
- Соник Пи
- СПАТ Революция
- Скрип
- СуперКоллайдер
- Всплеск XT
- TouchDesigner
- Нереальный движок
- VRChat
- лох
Известное оборудование с реализациями OSC включает:
- АльфаСфера
- Аудиокубы
- ETC Консоли EOS
- DiGiCo SD Микшерные консоли
- Flic Flic Умный контроллер
- Кима
- Лемур
- Усилители Delta-DSP MC2
- MIDIбокс
- Млечный Туман Один
- Моном 40ч.
- Цифровой микшерный пульт X32
- XTA DPA Усилители
- Консоли Yamaha Rivage серии PM (V5.0)
Дизайн
[ редактировать ]Сообщения OSC состоят из шаблона адреса (например, /oscillator/4/frequency
), строку тега типа (например, ,fi
для аргумента float32, за которым следует аргумент int32 ), а также сами аргументы (которые могут включать тег времени). [8] Шаблоны адресов образуют иерархическое пространство имен , напоминающее Unix путь файловой системы или URL-адрес , и относятся к « методам » внутри сервера, которые вызываются с присоединенными аргументами . Строки тегов типа представляют собой компактное строковое представление типов аргументов. Аргументы представлены в двоичной форме с четырехбайтовым выравниванием . Поддерживаются следующие основные типы:
- 32-битные дополненные до двух целые числа со знаком,
- 32-битные IEEE с плавающей запятой числа
- с нулевым завершением Массивы восьмибитных закодированных данных ( строки в стиле C )
- произвольного размера объект (например, аудиоданные или видеокадр)
В спецификацию включен пример сообщения (с байтами заполнения, представленными ␀): /oscillator/4/frequency␀,f␀␀
, за которым следует 4-байтовое представление float32 числа 440.0: 0x43dc0000. [9]
Сообщения могут быть объединены в пакеты, которые сами могут быть объединены в пакеты и т. д. Каждый пакет содержит метку времени, которая определяет, должен ли сервер ответить немедленно или в какой-то момент в будущем. [8]
Приложения обычно используют расширения этого базового набора. Совсем недавно некоторые из этих расширений, такие как компактный логический тип, были интегрированы в необходимые основные типы OSC 1.1.
Преимущества OSC перед MIDI заключаются в первую очередь в подключении к Интернету; типа данных разрешение ; и сравнительная простота указания символического пути в отличие от указания всех соединений в виде семибитных чисел с семибитными или четырнадцатибитными типами данных. [8] Однако такая удобочитаемость человеком имеет тот недостаток, что она неэффективна при передаче и ее сложнее анализировать с помощью встроенной прошивки. [2]
Спецификация не определяет какие-либо конкретные методы OSC или контейнеры OSC. Все сообщения определяются реализацией и различаются от сервера к серверу.
Ссылки
[ редактировать ]- ^ Перейти обратно: а б «Введение в ОСК» . сайт opensoundcontrol.org . 7 апреля 2021 г. Проверено 11 сентября 2021 г.
- ^ Перейти обратно: а б Фрайетта, Анджело (2008). «Открытый контроль звука: ограничения и ограничения». дои : 10.5281/zenodo.1179537 . S2CID 5690441 .
{{cite web}}
: Отсутствует или пусто|url=
( помощь ) - ^ «Главная страница · fabb/SynOSCopy Wiki» . Гитхаб . Проверено 31 декабря 2022 г.
Одна из причин, по которой OSC еще не заменил MIDI, заключается в том, что здесь нет функции «подключи и играй»… В OSC нет стандартного пространства имен для взаимодействия, например, синтезатора.
- ^ Ужин, Бен (24 октября 2012 г.). «Мы ненавидим MIDI. Мы любим MIDI» . Разработка Фокусрайта . Проверено 1 января 2023 г.
OSC страдает от расширенной группы этой проблемы: это анархия, и это намеренно. Владельцы спецификации настолько стремились избежать наложения на нее ограничений, что аппаратному обеспечению становилось все труднее с ней справляться. … Более серьезно, существует проблема совместимости. OSC не имеет определенного пространства имен даже для самых распространенных музыкальных обменов, до такой степени, что его нельзя использовать для отправки среднего C из секвенсора в синтезатор стандартизированным способом.
- ^ «Пространство имен OSC и состояние OSC: схемы для описания пространства имен и состояния систем с поддержкой OSC» (PDF) .
OSC также создает новые препятствия. Во-первых, поскольку не существует фиксированного набора сообщений, каждый участвующий сервер должен знать, какие сообщения он может отправлять серверам, с которыми он намерен взаимодействовать. В настоящее время стандарт OSC не предусматривает средств программного обнаружения всех сообщений, на которые отвечает сервер.
- ^ «OpenSoundControl | CNMAT» . cnmat.berkeley.edu . Проверено 22 декабря 2019 г.
- ^ «Руководство OSW OpenSound Control (OSC)» . osw.sourceforge.net . Проверено 22 декабря 2019 г.
- ^ Перейти обратно: а б с Райт, Мэтт (26 марта 2002 г.). «Спецификация Open Sound Control 1.0» . сайт opensoundcontrol.org . Проверено 22 декабря 2019 г.
- ^ Райт, Мэтт (29 марта 2002 г.). «Примеры поддержки спецификации OpenSoundControl 1.0» . opensoundcontrol.stanford.edu . Проверено 1 января 2023 г.
- Шмедер А., Фрид А. и Вессель Д., «Лучшие практики открытого управления звуком», Linux Audio Conference, Утрехт, Нидерланды, 2010 г.
- Фрид А., Шмедер А., «Особенности и будущее открытого управления звуком версии 1.1 для NIME», Конференция NIME, 2009 г.
- Райт М., Фрид А., «Открытое управление звуком: новый протокол связи с синтезаторами звука», Международная конференция компьютерной музыки, Салоники, Греция, 1997.
- Патрик-Жиль Майо, «НЕОФИЦИАЛЬНЫЙ УДАЛЕННЫЙ ПРОТОКОЛ X32/M32 OSC», https://drive.google.com/file/d/1Snbwx3m6us6L1qeP1_pD6s8hbJpIpD0a/view?usp=share_link , 2012 г.
- Патрик-Жиль Майо, «Документация по дистанционному управлению OSC для WING», https://mediadl.musictribe.com/download/software/behringer/WING/BE-P0BV2-WING-OSC-Documentation-0.59.pdf , 2020 г.
Внешние ссылки
[ редактировать ]- Официальный сайт
- Введение в OSC в LinuxJournal
- SYN , стандартизированное пространство имен в OSC.
- X32-Behringer — сборник программ и инструментов для цифровой консоли X32, основанный на OSC.
- patrickmaillot/wing — набор утилит на базе OSC для персонального цифрового микшерного пульта WING.
- patrickmaillot/x32 — набор утилит на базе OSC для семейства цифровых микшерных консолей X32/M32.