Добро пожаловать,
Гость
|
Не в сети
|
MIDI- интерфейс.
MIDI (англ. Musical Instrument Digital Interface — цифровой интерфейс музыкальных инструментов) — стандарт цифровой звукозаписи на формат обмена данными между электронными музыкальными инструментами.
Интерфейс позволяет единообразно кодировать в цифровой форме такие данные как нажатие клавиш, настройку громкости и других акустических параметров, выбор тембра, темпа, тональности и др., с точной привязкой во времени. В системе кодировок присутствует множество свободных команд, которые производители, программисты и пользователи могут использовать по своему усмотрению. Поэтому интерфейс MIDI позволяет, помимо исполнения музыки, синхронизировать управление другим оборудованием, например, осветительным, пиротехническим и т. п. Последовательность MIDI-команд может быть записана на любой цифровой носитель в виде файла, передана по любым каналам связи. Воспроизводящее устройство или программа называется синтезатором (секвенсором) MIDI и фактически является автоматическим музыкальным инструментом. Физический уровень интерфейса представляет собой токовую петлю (что обеспечивает гальваническую развязку и безопасность при соединении устройств между собой). Передатчик активный, 0..5 мА, наличие тока обозначает 0, нет тока — 1. Разъем 5-штырьковый DIN 41524. Приёмопередатчик асинхронный, скорость 31,25 кбит/с, формат 8-N-1.[5] MIDI имеет шинную топологию. Источник данных (например, MIDI клавиатура) имеет разъем выхода данных (MIDI OUT), который соединяется кабелем с входом (MIDI IN) первого синтезатора. Синтезатор имеет второй разъем (MIDI THRU), на котором дублируется поток данных со входа. Это позволяет соединить в цепочку произвольное количество синтезаторов. Синтезатор с клавиатурой имеет все три разъема - IN, OUT, THRU. Интерфейс однонаправленный (симплексный), то есть источник сообщений (например, музыкальная клавиатура) только передает. Никакой обратной связи не предусмотрено. Стандарт описывает аппаратный интерфейс, который позволяет соединять электронные музыкальные инструменты и компьютеры различных производителей, описывает протоколы связи для передачи данных от одного устройства к другому. MIDI-устройства могут взаимодействовать с программными приложениями, используя коммуникационный протокол MIDI. Используя соответствующий программный MIDI-секвенсор, внешние MIDI-устройства могут посылать информацию на синтезатор звуковой карты. MIDI базируется на пакетах данных, каждый из которых соответствует MIDI-событию (англ. MIDI-events), от нажатия клавиши до простой паузы, эти события разделяются по каналам. Сложная среда MIDI может включать различную аппаратуру, причём каждая часть системы будет отвечать за события на соответствующем канале. Альтернативным вариантом может быть одиночный синтезатор, который сам может управлять всеми каналами. Принцип действия MIDI На конференции Национальной Ассоциации производителей музыкальной аппаратуры (National Association of Music Manufacturers (NAMM), США), состоявшейся в январе 1982 г., фирмы по производству электронной музыкальной аппаратуры - Roland, Yamaha, E-mu, Oberhaim, CBS-Rhodes, Korg и Octave Plateau пришли к соглашению о стандарте, связанном с организацией цифрового интерфейса для музыкальных устройств. Результатом явилось создание спецификации MIDI 1.0 (Musical Instrument Digital Interface), включающей в себя стандарт на аппаратную и программную части, предназначенный для организации локальной сети электронных инструментов. Такая сеть имеет цепочечную структуру и состоит из персонального компьютера и музыкальных устройств. Интерфейс MIDI представляет собой асинхронный последовательный интерфейс типа "токовая петля" со скоростью обмена 31 250 Бод. Устройство MIDI (рис. 1) обычно содержит приемник, подключенный ко входу (MIDI INPUT), и передатчик, подключенный к выходу (MIDI OUTPUT). Для связи с другими устройствами предназначен ретранслятор, который передает MIDI-сигнал от входа приемника к дополнительному выходу (MIDI THRU OUTPUT). Рисунок 1. Устройство MIDI Соединение устройств в виде цепочки от выхода THRU одного устройства MIDI ко входу следующего позволяет подключать до 16-ти приемников в магистральной шине MIDI и только один передатчик (по причине отсутствия магистрального арбитража). Однако реально возможно соединение не более 4-х включенных устройств-приемников из-за искажений формы сигнала (если необходимо подключение большего количества устройств, то используются MIDI-расширители, обеспечивающие электрическое распараллеливание каналов). На инструментах, совместимых с MIDI, имеются разъемы DIN (5 контактов), помеченные "MIDI IN", "MIDI THRU OUT" и "MIDI OUT". Для коммутации музыкальных устройств системы MIDI используется экранированный двухжильный кабель длиной не более 15 метров. Устройство MIDI содержит микропроцессорную систему, которая ожидает наступления "события". Это может быть взятие какой-либо ноты, изменение позиции регулятора модуляции, введение нового тембра и др. Затем микропроцессор генерирует цифровой сигнал, который описывает данное событие и передает его через выход "MIDI OUT". Когда этот сигнал достигает входа "MIDI IN" инструмента-приемника, его микропроцессор анализирует полученный сигнал и затем инициирует выполнение этим инструментом соответствующего действия. Каждое устройство MIDI, за счет использования выхода "MIDI THRU OUT", может служить ретранслятором для следующего за ним. Этим достигается полифоническое и многотембровое исполнение музыки, широкий диапазон звучания без одновременного использования двух и более клавиатур. Протокол MIDI Протокол MIDI представляет собой набор сообщений, которые описывают различные функции системы MIDI и с помощью которых осуществляется связь между устройствами MIDI. Сообщения можно рассматривать как средство удаленного управления. Каждое сообщение MIDI состоит из 1, 2, или 3 байтов. Первый байт является байтом состояния и указывает на тип данных, которые содержатся в следующих за ним байтах данных. Старший бит байта состояния всегда равен 1. Три следующих бита определяют тип данных, а 4 младших - номер канала передачи MIDI-информации. Так как на тип данных указывают три бита, можно определить 8 типов данных. Младшие 4 бита могут принимать значения от 0 до 15 и таким образом представляется возможность использовать каналы от 1 до 16. Байты, старший бит которых равен 0, представляют собой данные (номер клавиши, уровень громкости и др.). Примечание. 1.Передача по MIDI-интерфейсу аналогично ТВ-передаче: информация передается по каналам 1, 2, 3 и т.д., и ее можно принимать только в том случае, если приемник настроен на этот же канал. 2.Байты состояния, предназначенные для управления всеми инструментами одновременно, не имеют номера канала. Информация о типах сообщений MIDI представлена на рисунке 2. Конкретный набор сообщений, передаваемых и распознаваемых различными устройствами, зависит от их назначения в системе и выполняемых функций. Рисунок 2 Канальные сообщения Канальные сообщения состоят из байта состояния, в котором содержится номер канала, и одного или двух байтов данных. Во втором байте канальных сообщений MIDI содержится информация о высоте ноты, т.е. код той клавиши, которая была нажата в процессе исполнения музыки. На клавиатуре каждая клавиша имеет определенный номер. Микропроцессор просматривает таблицу и сравнивает данный номер с музыкальным тоном, например, клавише с номером 60 (дес.) соответствует музыкальный тон с частотой 261 Гц. На клавиатуре может быть расположено от 36 до 96 клавиш; всего байт высоты ноты может содержать 128 номеров. В третьем байте сообщения может содержаться информация о скорости нажатия клавиши. Если клавиатура не имеет соответствующего датчика, можно использовать только одно сообщение "NOTE ON" ("Клавиша нажата"), у которого третий байт (скорость) равен 7F при нажатии и 00 при отпускании клавиши. Канальные сообщения о звуке (Channel Voice Message) Эти сообщения используются для изменения состояния тембров синтезатора (параметров звука). Существует 7 типов таких сообщений. "Клавиша нажата" (NOTE ON) Это сообщение передается через порт MIDI OUT при нажатии клавиши на клавиатуре, оснащенной каналом MIDI. Синтезаторы сети MIDI, которые настроены на канал клавиатуры исполнителя, реагируют на получение такого сообщения исполнением данной ноты. "Клавиша отпущена" (NOTE OFF) Это сообщение передается, когда исполнитель перестает нажимать на клавишу, и все синтезаторы данного канала должны реагировать соответствующим образом. "Давление после нажатия клавиши в полифоническом режиме" (POLYPHONIC KEY PRESSURE) Это сообщение представляет собой "реакцию" клавиатуры на прикосновение к клавише - величину давления, оказываемого на клавишу при исполнении ноты. Эта характеристика может быть использована при исполнении tremolo, для изменения модуляции и др. эффектов в соответствии со степенью нажатия на клавишу. "Давление в канале" (CHANNEL PRESSURE) Байт данных этого сообщения указывает количество общего давления, производимого на клавиатуру при выполнении определенного типа эффектов, другими словами, определяет уровень громкости для данного канала. "Смена режима управления" (CONTROL CHANGE) Это большая подгруппа сообщений, которые управляют изменением параметра звука. Байты состояния этих сообщений одинаковы. Первый байт данных указывает на то, какой манипулятор задействован (педаль, манипулятор уровня модуляции и др.), второй байт данных - на его состояние: установлен в определенном режиме, включен или выключен. За исключением манипулятора высоты тональной перестройки (PITCH BENDER), имеющего номер параметра 0, разработчик может присваивать логическим устройствам физические номера так, как считает удобным. Таблица соответствия должна приводиться в инструкции по эксплуатации. При необходимости использовать двухбайтовые значения параметра следует каждый байт рассматривать как отдельный параметр со своим номером. Это позволяет изменять независимо любой из байтов - старший или младший. Системные сообщения (SYSTEM MESSAGE) Для передачи системных сообщений не предусмотрено отдельного канала, и вся информация поступает к инструментам по кабелю MIDI. Эти сообщения предназначены для всех устройств, подключенных к интерфейсу. Привилегированные системные сообщения (SYSTEM EXCLUSIVE MESSAGE) После того, как будет послано привилегированное системное сообщение и соответствующий идентификатор аппаратуры (ID), любое количество данных любого типа может бать послано по шине (пока старшие биты всех байтов не равны 0). При получении любого байта состояния, отличного от сообщения системы реального времени, приемник автоматически выходит из режима привилегированных системных сообщений. Этот режим служит в основном для того, чтобы посланные данные программ и секвенсоров можно было запомнить, проанализировать или изменить при помощи компьютера. Общесистемные сообщения (SYSTEM MESSAGE) Общесистемные сообщения предназначены для всех устройств системы. Они выполняют следующие функции. Указатель позиции (Song Position Pointer) - помещает во внутренний счетчик тактов секвенсоров и др. подобных устройств заданное значение, содержащееся в двух байтах данных, что позволяет исполнять композицию с любого нужного места; при посылке стартового сообщения значение внутреннего счетчика обычно равно 0. Выбор композиции (Song Select) - Определяет композицию, исполняемую при помощи секвенсоров и др. аналогичных устройств; используется только один байт данных, позволяющий выбрать одну из 128 возможных мелодий, записанных в секвенсорах. Запрос настройки генераторов тона (Tune Request) - Байт состояния этого сообщения инициирует автоматическую настройку всех аналоговых синтезаторов системы. Конец привилегированного сообщения (End Flag Of System Exclusive) - так как привилегированное системное сообщение может состоять из любого количества байтов данных, байт состояния этого сообщения указывает устройству-передатчику, что привилегированное системное сообщение закончилось (коды идентификации (ID) производителей электронной музыкальной аппаратуры устанавливаются комитетом MIDI). Системные сообщения реального времени (SYSTEM REAL TIME MESSAGE) Эти сообщения предназначены для всех устройств системы и могут быть посланы в любое время. Они управляют синхронизацией системы и особенно необходимы для секвенсоров. Существует 6 типов таких сообщений. Синхронизация (Timing Clock) - выполняет согласование всех устройств системы реального времени, например, секвенсоров; эти сообщения посылаются со скоростью 24 импульса на четвертную ноту. Старт (Start) - это сообщение инициирует начало воспроизведения (записи) выбранной мелодии всеми устройствами реального времени системы. Стоп (Stop) - сообщает о прекращении воспроизведения или записи. Продолжение (Continue Start) - сообщает о продолжении воспроизведения или записи мелодии после останова. Тестовый сигнал (Active Sending) - специальное проверочное сообщение, посылаемое по крайней мере каждые 300 миллисекунд, которое служит для обнаружения таких неисправностей системы, как неправильное подключение или разрыв кабелей MIDI, если этот сигнал не принят в течение 300 миллисекунд, происходит останов и выводится сообщение об ошибке. Сброс системы (System Reset) - устанавливает в начальное состояние все приемники системы (как при включении питания). Желательно как можно реже пользоваться таким сообщением. |
|
Администратор запретил публиковать записи гостям.
Спасибо сказали: evgap
|