Sync a New Level of Show
Шрифт:
В то время, как MSC (MIDI Show Control) может передать конкретную команду конкретному устройству (которых в сети может быть несколько), MMC (MIDI Machine Control) может передавать команды на воспроизведение, остановку, выбор трека и время старта для профессиональных плееров и генераторов. А вот OSC (Open Sound Control) вообще никак не ограничивается синтаксисом передаваемых команд. Но об этом чуть позже.
Генеративный тип протоколов появился совсем недавно. Как вы могли заметить, в него входят все типы протоколов, которые базируются на командной идеологии. В чем же отличие? Чтобы понять это, давайте снова вернемся к временным протоколам. Все эти протоколы базируются на постоянной онлайн-синхронизации. Это означает, что сообщения о времени поступают от мастер-устройства на исполняющие устройства постоянно с определенной частотой, и синхронизация работает до тех пор, пока идет генерация сообщений. В случае командных типов протоколов синхронизация происходит только в момент отправки сообщения по конкретному событию, которое никак не привязано ко времени, то есть постоянная синхронизация отсутствует.
А вот генеративная синхронизация базируется на идее постоянной синхронизации как временной тип, но реализуется через командные протоколы, то есть сообщения о командах от мастер-устройства к исполняющим устройствам передаются постоянно с определенной частотой. Для чего это может быть нужно? Самый банальный пример – передача звукового уровня по цифровому протоколу и синхронизация определенных событий по громкости. Или передача координат для синхронизации положения луча на сцене.
Мы также можем заметить в генеративной группе такие типы, как ArtNet, sACN и TCP/UDP. ArtNet и sACN – это протоколы, которые используются в световой индустрии, но в силу своей высокой скорости и простоты они нашли широкое применение и в других направлениях шоу-индустрии. Их часто используют в проектах, где необходимо передать генеративные данные.
TCP (Transmission Control Protocol и UDP (User Datagram Protocol)—это низкоуровневые транспортные сетевые протоколы, на которых базируется большая часть всех протоколов, передающихся через Ethernet. Например, ArtNet базируется на протоколе UDP. Позже мы разберем особенности этих протоколов и то, как они помогают нам, когда мы работаем с сетью.
Вообще, TCP/UDP-протоколы нельзя ставить в один список с высокоуровневыми протоколами синхронизации, но тем не менее я включил эти базовые протоколы в генеративный тип, так как существует еще множество протоколов синхронизации, которые могут использоваться в различных направлениях шоу-индустрии, а также может возникнуть необходимость создать новый протокол для реализации необходимых задач.
Один из ярких примеров – система управления ETC Eos, которая позволяет принимать и отправлять UDP-строку. Как это может быть реализовано в системах синхронизации, мы разберем чуть позже, когда будем говорить о технологиях передачи данных стандарта Ethernet, а также когда мы ближе познакомимся со всем функционалом системы управления ETC Eos.
От того, какой тип протокола мы используем, зависит тип синхронизации с конечными клиентами. Чтобы понять принцип работы каждого типа протокола, давайте разберем три простейших примера.
Солнечный день в лесу. Вини Пух занят своими делами. Вини отлично знает, что ровно в час дня наступает время обеда. Утро пролетело быстро и вот на часах ровно час дня и Вини спешит полакомиться медом, ведь такое совсем ни как нельзя пропустить! Это пример временной синхронизации.
Пятачок решил помочь Кролику. Нужно было вскопать целый огород с морковкой. Кролик сказал Пятачку, что закончить свою работу он может, только тогда, когда он придет и даст команду: «Работа закончена». Бедный Пятачок не знает, когда он закончит, морковки столько что ему и за день не управиться, ему приходиться работать и работать, пока Кролик наконец не вернется. Это пример командной синхронизации. Кстати, с Пятачком все в порядке, Кролик все же пришел и дал команду: «Работа закончена!».
Пяточек шел с Вини в гости к Кролику. Вини знал где живет Кролик, а Пятачок нет, поэтому все дорогу мучал Винни вопросами:
Мы пришли?
Нет.
А сейчас?
Нет!
А сейчас?
И сейчас нет!
А сейчас?
Тоже нет!
…
К счастью, дорога к Кролику заняла не много времени и друзья благополучно дошли. В итоге на свой вопрос Пятачок получил утвердительный ответ. Это пример генеративной синхронизации.
Интерфейсы синхронизации
Каждый протокол синхронизации для передачи данных использует конкретный физический интерфейс. Более подробно особенности каждого интерфейса мы затронем в главе «Оборудование и коммутация», а сейчас давайте познакомимся с общей классификацией.
Интерфейс LTC (Longitudinal Time Code) – это, по сути, простой балансный аудиокабель, который может передать только линейный таймкод SMPTE. LTC представляет собой закодированный цифровой сигнал, передаваемый по аудиоканалу.
MIDI-интерфейс немного шире по функционалу: это цифровой серийный интерфейс передачи данных. Так как он цифровой, то можно создать для передачи по нему любые протоколы. Что и делали производители много лет назад. В таблице указаны только те протоколы, которые прижились и нашли широкое применение в шоу-индустрии. Исходя из названия большинства протоколов, можно понять, на каком интерфейсе они базируются – MTC (MIDI Time Code), MIDI note, MIDI Show Control.
Ethernet – довольно универсальный интерфейс, который применяется практически везде, особенно в профессиональных сферах. Этот интерфейс используют все протоколы, которые базируются на TCP/UDP. И тут же вы можете заметить новый протокол – RTP-MIDI. По сути, это все тот же MIDI, только передается он уже по Ethernet.
BLE-MIDI очень схож с RTP-MIDI. Его ключевое отличие в том, что этот протокол использует беспроводной интерфейс передачи данных Bluetooth.
SDI – это универсальный коаксиальный интерфейс передачи цифрового видеосигнала, который также передает и VITC-таймкод. Существует некоторое количество оборудования, которое может читать по SDI-интерфейсу таймкод, но в шоу-индустрии для синхронизации он практически не используется, поэтому подробно разбирать его мы не будем.
Подводя итог, можно коротко сказать, что основное различие между протоколом и интерфейсом в том, что протокол— это то, что мы передаем, а интерфейс – через что мы передаем. Протокол – это правила, по которым описываются сообщения, а интерфейс – это физический канал связи, по которому эти сообщения передаются.
Исходя из этого, совсем не грамотно называть физический XLR- порт синхронизации SMPTE-портом, так как это название стандарта кодирования времени, а физический интерфейс передачи таймкода SMPTE называется LTC. Ведь тот же самый SMPTE, передаваемый по интерфейсу MIDI, называется уже MIDI Time Code (MTC).
И еще одна особенность: SMPTE в оригинальном формате кодирования передается только через LTC. А через все остальные интерфейсы передается его адаптированная под конкретный интерфейс передачи данных форма. Эту особенность мы сможем рассмотреть при сравнении линейного и MIDI-таймкода в следующей главе.
Теперь, когда информация структурирована, давайте разберем особенности каждого протокола и интерфейса: как их генерировать, как их принимать, как избежать ошибок и, самое главное, как гарантированно запустить синхронизацию.
TIME SYNC PROTOCOLS. HOW SMPTE WORKS
Таймкод в шоу-индустрию пришел с телевидения. И называется он SMPTE. Аббревиатура расшифровывается как Society of Motion Picture and Television Engineers. Это ассоциация, которая приняла единый стандарт кодирования времени, разработанный в 1967 году. Чуть позже к ним присоединился EBU (European Broadcasting Union). Сейчас существует множество других стандартов записи таймкода, которые намного удобнее и функциональнее, но старый добрый SMPTE до сих пор жив и широко используется в шоу-индустрии.