Статья: MIDI в деталях. MIDI Show Control. Часть 1

  • Занимательные материалы
  • docx
  • 01.05.2018
Публикация на сайте для учителей

Публикация педагогических разработок

Бесплатное участие. Свидетельство автора сразу.
Мгновенные 10 документов в портфолио.

С некоторых пор слово "шоу" прочно закрепилось в нашем языке для обозначения всего того, что раньше называлось представлением. Спектакль, мюзикл, концерт — то есть некое массовое мероприятие, где задействованы артисты, звук, свет, видео, спецэффекты. На западе "шоу" трактуется и в более широком смысле, начиная от мультимедийной лекции или семинара и заканчивая парками развлечений по типу Диснейленда. А если говорят о "живом" выступлении, то есть когда на сцене работают артисты, используется более конкретное Live Show
Иконка файла материала 7.docx
в    MIDI    деталях    .  MIDI Show  Control.  Часть 1 С некоторых пор слово "шоу" прочно  закрепилось в нашем языке для  обозначения всего того, что раньше  называлось представлением.  Спектакль, мюзикл, концерт — то есть некое массовое мероприятие, где  задействованы артисты, звук, свет,  видео, спецэффекты. На западе "шоу"  трактуется и в более широком смысле, начиная от мультимедийной лекции  или семинара и заканчивая парками  развлечений по типу Диснейленда. А  если говорят о "живом" выступлении,  то есть когда на сцене работают  артисты, используется болееконкретное Live Show.  Техническое обеспечение  современного шоу может включать в  себя весьма сложный комплекс  оборудования: звуковые и световые  системы, видеопроекторы, механику  сцены, пиротехнику, динамические  пневмофигуры, трансформируемые  декорации, спецэффекты разного  калибра. Многое из перечисленного  (например, акустические системы и  световые приборы) зрители видят  непосредственно. Но есть еще и  подводная часть айсберга —  вспомогательное оборудование,  начиная от простейших механических  переключателей и заканчивая  интеллектуальными устройствами и  робототехникой, а также  компьютерными программами,  обеспечивающими согласованную  работу всех систем.  Технология управления шоу  зародилась еще в 60­е годы, в  развлекательных парках. Все началось, конечно, с ручного управления, когда  стейдж­менеджер подавал командыголосом, а оператор конкретного  устройства (например, электрического подъемника) их исполнял. Один из  американских стейдж­менеджеров  вспоминает, как ставились мюзиклы на Бродвее: "В шоу было занято от 40 до  50 техников, бегающих за сценой как  сумасшедшие. Я использовал вспышки  света, чтобы дать команду на запуск  определенной сцены, давал команды  операторам через головные гарнитуры  и работал по сценарию, записанному  на листке бумаги".  Сегодня технология управления шоу  — это целая индустрия со своими  стандартами и протоколами. Приборы  одного типа объединены в системы:  управления светом, звуком,  машинерией (механикой сцены),  проекцией, пиротехникой. Каждая  система состоит из контроллера и  конечных приборов, которыми  контроллер управляет посредством  определенных сигналов. Например,  световой пульт может управлять  диммерами и сканерами посредством  цифрового протокола DMX­512 по  интерфейсу RS485. Эти устройствасовместно с пультом образуют  самостоятельную шоу­систему, внутри которой все взаимодействие  происходит с помощью протоколов  класса "контроллер­прибор".  Термин Show Control означает нечто  большее — соединение  самостоятельных шоу­систем в одну  большую управляемую систему. Так,  компьютер, подключенный к дым­ машине и регулирующий количество  тумана в декорации морской гавани — это еще не система Show Control, как,  впрочем, и звуковая система,  воспроизводящая шум прибоя сама по  себе. Только объединение этих систем  в одну, управляемую от главного  контроллера, является полноценной  системой управления шоу.  По отношению ко времени все шоу  можно разбить на два типа:  асинхронные и синхронные. Пример  асинхронного шоу — "дом с  сюрпризами" в парке развлечений.  Здесь посетители, бродя по дому,  задевают разные датчики, запуская  сопоставленные с датчиками сцены (тоесть последовательности каких­либо  механических процессов, звуковых и  световых сигналов). Все сцены могут  происходить в разных частях "дома"  одновременно и независимо друг от  друга, без привязки к единой шкале  времени.  В синхронном шоу, как следует из  названия, используется некий способ  синхронизации событий. Каждое  событие привязано к определенному  моменту времени, а шкала времени  формируется мастер­устройством на  основе, например, видеофрагмента или саундтрека. Мастер­устройство  генерирует таймкод, который  поступает в подчиненные контроллеры или непосредственно в конечные  приборы. Возможен и более простой  вариант, при котором устройства  только стартуют одновременно, по  команде с главного контроллера, а  долговременная постоянная  синхронизация отсутствует. Пример  синхронного шоу — концерт или  спектакль, где световые сцены и  другие элементы шоу  синхронизированы со звуком.Появление MIDI Show Control В конце 80­х годов прошлого века  протокол MIDI стал привлекать  внимание театральных инженеров и  специалистов по концертному свету в  качестве альтернативы  существовавшим на тот момент  протоколам управления. И хотя MIDI­ секвенсоры и средства ввода  (контроллеры) не очень подходили для задач театральной автоматизации, сам  протокол подходил вполне, как по  возможностям, так и из­за невысокой  стоимости и широкой  распространенности.  Основная задача состояла в вызове  сцены, запрограммированной в  световом пульте. На всякий случай  уточню, что сцена — это  фиксированное состояние функций  осветительных приборов. Сцена могла  быть сколь угодной сложной (с  закольцовками, связанными  макросами, подпрограммами и т. п.),  но для ее вызова требовалось нажатие  всего пары кнопок светового пульта:LOAD (загрузить) и GO (запустить).  Очевидно, MIDI здесь вполне мог  заменить оператора пульта. Все, что  нужно передавать в сообщении, — это  номер сцены и саму команду. А  данные, связанные со сценой,  находились бы в памяти светового  пульта.  Постепенно производители светового  оборудования стали использовать  MIDI в своей продукции. Но, как это  часто бывает, возникла проблема  совместимости. Компании,  занимающиеся театральным светом,  производили системы, в которых  сцены менялись MIDI­сообщением  Program Change, а компании,  производящие концертное световое  оборудование, использовали команды  Note On.  В 1989 году Andy Meldrum, сотрудник фирмы Vari­Lite, предложил  разработать открытый протокол,  который позволял бы соединять шоу­ системы разного назначения и разных  производителей, и управлять ими с  помощью любого MIDI­контроллера. Кконцу 1989 года Charlie Richmond из  компании Richmond Sound Design  организовал рабочую группу в составе  MMA (MIDI Manufactures Association) и открыл форум на электронной доске  объявлений. Созданный в результате  проект стандарта был утвержден  MMA и JMSC (Japanese MIDI Standard Committee) и 25 июля 1991 года  превратился в "Рекомендованную  практику RP­002", или, иначе, в MIDI  Show Control версии 1.0.  Основные принципы Протокол MIDI Show Control (MSC)  предназначен для объединения  интеллектуальных систем управления  шоу­техникой (контроллеров) в  единую сеть. MSC напрямую не  управляет конечными приборами и не  заменяет такие протоколы класса  "контроллер­прибор", как DMX­512  или Strand. Это очень похоже на  соединение MIDI­секвенсора и  синтезатора. Секвенсор посылает  синтезатору высокоуровневую  команду "взять ноту", а синтезатор в  ответ запускает заложенную в егонедрах программу формирования  звука, то есть целый набор  низкоуровневых операций.  В спецификации MSC используются  термины Controller и Controlled Device. Обычно MSC­система состоит из  одного, главного контроллера — им  чаще всего является обычный  компьютер (PC или Mac) с  соответствующей программой  управления и MIDI­интерфейсом.  Этот компьютер и называется в  спецификации словом Controller. А  световой пульт в данном случае  является управляемым устройством  (Controlled Device), которое  выполняет команды главного  контроллера, переводя их в команды  типа "контроллер­прибор" и посылая  последние к световым приборам по  своим коммутационным каналам,  независящим от MIDI (в случае DMX­ 512 — это витая пара с земляным  проводом в оплетке).  Схожим образом к главному  контроллеру подключаются по MIDI  остальные шоу­системы (механикасцены, пиротехника и тому подобное).  Набор команд MSC основан на  структуре команд существовавших в  то время шоу­систем.  Управляемое устройство (например,  световой пульт) может также  передавать команды MSC через свой  MIDI­выход. Это позволяет  записывать действия, производимые  оператором на пульте — примерно так же, как происходит запись в секвенсор с MIDI­клавиатуры. Только в данном  случае используется программа,  оперирующая не треками, а списками  сцен (Cue List). При записи она  фиксирует все события, приходящие  от управляемых устройств, и  размещает их в списке сцен со своей  позицией на шкале времени.  Таким образом, можно заранее  прописать нужную последовательность событий с каждого пульта управления, используемого в шоу, отредактировать полученные данные, а во время шоу  запустить список на воспроизведение.  В MSC используется таймкод MTC, а  это значит, что управляемыеустройства можно синхронизировать с  главным контроллером. Свет со  звуком, изображение со светом, и всю  систему в целом. При этом точность  выдачи команд по времени равна  одному кадру (то есть около 1/30  секунды).  Кроме того, по MSC можно связать  несколько контроллеров одного типа.  Так, например, если две световые  консоли соединены по MIDI, то  нажатие кнопки GO на одной из них  приведет к тому, что вторая консоль  отработает ту же команду GO, но уже  без оператора. Здесь все довольно  очевидно и напоминает  первоначальное предназначение MIDI  — управлять с одной клавиатуры  несколькими синтезаторами  одновременно.  Важный принцип управления "живым"  шоу состоит в том, что сбой одного  управляемого устройства не должен  привести к сбою в управлении другими устройствами. Этот принцип может  быть реализован с помощью открытой  или закрытой петли.В системе "открытая петля"  подтверждение команд от  управляемого устройства к  контроллеру не требуется.  Используется однонаправленная  передача данных и, соответственно,  одностороння коммутация. То есть,  MIDI­выход главного контроллера  соединяется с MIDI­входом  управляемого шоу­устройства, и  только. Этот экономичный способ был выбран в MSC в качестве основного.  В системе "закрытая петля"  используется взаимная коммутация  устройств и ожидается  стандартизированный ответ от  управляемого устройства. Такая  система требует более  интеллектуальных контроллеров и  занимает большую полосу  пропускания, но при этом достигается  большая точность во взаимодействии  устройств, обнаружение, коррекция  ошибок и прочие прелести. Метод  закрытой петли предложен в версии  MSC 1.1, появившейся в феврале 1996  года (документ RP­014). Для работы врежиме закрытой петли используется  двухэтапный протокол подтверждения (2 Phase Commit), о котором  поговорим в следующей статье.  Предосторожности и ограничения В шоу­системе нередко используется  опасное оборудование (в том числе  представляющее угрозу для жизни),  например, пиротехника или механика.  Но это не значит, что такое  оборудование управляется MSC  непосредственно, и сбой или ошибка в  программе приведут к неприятным  последствиям. Спецификация  крупными буквами предупреждает:  "[Протокол MSC] никоим образом не  отменяет обычные меры безопасности, какие должны соблюдаться при  использовании потенциально опасного  оборудования. Для максимальной  безопасности должны применяться  такие ручные элементы управления,  как аварийные выключатели,  блокираторы, ограничители, системы  подтверждения команд и прочее. Из  автоматических устройств —  запирающие переключатели, датчикиблизости, детекторы газа,  инфракрасные камеры, датчики  движения и давления. Протокол MSC  не предназначен для отдачи команд  опасному оборудованию. MSC лишь  подает сигнал о действии, которое  желательно выполнить, если все  требования и условия безопасности  соблюдены. Только соответствующим  образом спроектированные системы и  подготовленный обслуживающий  персонал могут определить, насколько эти требования выполняются в  конкретной ситуации. Метод  двухэтапного подтверждения 2PC  исключительно надежен и может  использоваться для обеспечения  дополнительной безопасности в шоу­ системах. Однако 2PC должен быть  реализован в соответствии с  требованиями этой спецификации и  только в дополнение к  вышеперечисленным мерам".  MIDI Show Control не является  единственно возможным решением для управления шоу­системами. Он не  лишен некоторых недостатков,  присущих технологии MIDI в целом.Первый недостаток — невысокая  скорость передачи данных, а,  следовательно, не всегда адекватное  время отклика приборов. Иногда эта  проблема устраняется простой  разгрузкой линии, то есть соединением приборов не цепочкой, а "звездой" из  распределительной коробки (MIDI  Thru Box) или многоканального MIDI­ интерфейса/маршрутизатора.  Для большинства же задач управления  шоу, скорость MSC вполне приемлема  и даже избыточна. Например,  стандартная команда "Свет­Сцена  36.1­Пуск" займет 10 байт, которые  будут переданы примерно за 3 мс  (подробности смотрите в предыдущих  статьях цикла). Это время примерно в  сто раз меньше среднестатистической  скорости реакции оператора пульта.  Второй очевидный недостаток —  максимальная длина MIDI­кабеля,  которая не должна превышать 15  метров. Он может быть устранен  применением усилителей на линии  ("бустеров"), в результате чего длина  линии может быть доведена до трехсоти более метров. Кроме того, есть и  другие варианты передачи MIDI­ сообщений (FireWire или  беспроводные системы).  Формат сообщений Сообщения MIDI Show Control  относятся к категории универсальных  эксклюзивных сообщений реального  времени (Universal Real Time System  Exclusive) и используют Sub­ID#1 =  0x02 (подробнее о системных  сообщениях и Sub­ID см. в третьей  статье цикла).  Шаблон сообщения MSC показан на  рис. 1. Начинается сообщение байтом  0xF0, признаком SysEx. Затем идет  байт 0x7F, определяющий категорию  реального времени, затем передается  номер прибора, которому адресовано  сообщение. Далее — Sub­ID 0x02,  признак MSC. Байт формата команды  показывает, к какой категории  оборудования относится сообщение: к  звуку, свету, механике и т. п. Далее  следует сама команда. Как правило,  это одно действие, например, "пуск"или "стоп". Затем передаются  дополнительные данные — параметры  команды. Чаще всего это номер сцены  и данные времени. Завершается SysEx­ сообщение, как обычно, байтом 0xF7.  Общее число байт в сообщении MSC  не должно превышать 128.  Как правило, команды адресуются  одновременно только одному  устройству. Например, для  выполнения команды GO на двух  световых пультах нужно передать от  главного контроллера сообщения,  показанные на рис. 2.  Номера с 0x00 по 0x6F соответствуют  индивидуальным устройствам. Номер  устройства, как правило, задается  пользователем в настройках (как  главного контроллера, так и  управляемого). Возможно также  создание групп устройств, для чегоиспользуются групповые  идентификаторы (с 0x70 по 0x7E, то  есть всего до 15 групп). Это удобно,  если одни и те же сообщения  необходимо постоянно посылать  нескольким устройствам. Не все  устройства обязаны отвечать на  групповые номера.  Наконец, есть специальный  широковещательный номер 0x7F,  который используется для передачи  сообщений всем устройствам сети,  независимо от того, на какой номер  они настроены. Один управляемый  контроллер может отвечать на  несколько номеров, как  индивидуальных, так и групповых. И  наоборот, несколько управляемых  контроллеров могут отвечать на один  и тот же номер, что позволяет  обойтись для них одним сообщением.  Формат команды Название "формат команды"  (command_format), на мой взгляд,  несколько неудачно, поскольку не  отражает сути вопроса; к тому же, егоможно перепутать со следующим  байтом — самой командой. Формат  команды в терминологии MSC — это  просто­напросто категория  оборудования, для которой  предназначено сообщение.  Стандарт определяет несколько общих категорий, внутри них — несколько  более конкретных, и особую  категорию All­types. К общим  категориям относятся свет, звук,  машинерия, видео, проекция,  спецэффекты и пиротехника. Номера  этих категорий содержат в младшем  полубайте ноль, за исключением  категории "свет". Номера более  конкретных категорий заключены  внутри общих и имеют тот же старший полубайт, что и общая категория (рис.  3).