Физический и логический интерфейс
В физическом интерфейсе MIDI применяется токовая
петля 5 мА (возможно до 10 мА) с гальванической
(оптронной) развязкой входной цепи. Гальваническая развязка исключает
связь "схемных земель" соединяемых устройств через интерфейсный кабель,
что устраняет помехи (фон), крайне нежелательные для звуковой техники.
Снижению интерференционных помех служит и выбор частоты передачи,
которая совпадает с одним из значений частот квантования, принятых в
цифровой звукозаписи. Интерфейс определяет три типа портов:
MIDI-In, MIDI-Out и MIDI-Thru. Устройство
отслеживает информационный поток на входе MIDI-In и реагирует на
адресованные ему команды и данные. На выход MIDI-Out подается
информационный поток, генерируемый данным устройства. При специальной
настройке устройства в этом потоке может содержаться и транслированный
входной поток. Транзитный порт MIDI-Thru служит только для
ретрансляции входного потока. Поток данных MIDI исходит от
MIDI-контроллера или от секвенсора. MIDI-контроллер представляет
собой устройство, на котором играют, как на музыкальном инструменте
(чаще всего это клавиатура). Контроллер формирует поток
сообщений, отражающий события исполнения (нажатие и отпускание
клавиш) в реальном времени. MIDI-секвенсор (sequencer) -
устройство, позволяющее перехватывать, хранить и редактировать (включая
комбинирование, наложение и создавание оригинального) поток
MIDI-сообщений и воспроизводить его в заданном темпе. Конечным
приемником потока MIDI-сообщений является звуковой модуль (sound
module) -синтезатор, формирующий аудиосигнал на основе приходящих к нему
команд. Применительно к PC, синтезатор может входить в состав звуковой
карты, а может быть и внешним. Каждому звуковому модулю назначается
свой номер логического канала (MIDI Channel) в диапазоне 1-16.
Многотембровым синтезаторам назначается несколько каналов - по каналу на
каждый тембр. Модули будут исполнять звуковые команды, адресованные
только его каналу (каналам). Каждый контроллер обычно программируется на
один из каналов, но в сети MIDI может одновременно работать и несколько
контроллеров. Секвенсор способен генерировать (и записывать)
многоканальный поток. Наличие порта MIDI-Thru позволяет
соединять устройства в цепочки и более сложные стуктуры. Возможные
варианты топологии должны подчиняться главному правилу: вход
MIDI-In одного устройства должен подключаться к выходу
MIDI-Out или MIDI-Thru другого устройства. При
планировании MIDI-сети необходимо руководствоваться знаниями
информационных потоков и связей устройств. Управляющие устройства -
клавиатуры, секвенсоры (в режиме воспроизведения), источники
синхронизации - должны находиться, естественно, перед управляемыми.
Возможно применение и специальных устройств-мультиплексоров, позволяющих
логически коммутировать множество входных потоков в один
выходной. Формат посылки: старт-бит, 8 бит информации и 1
стоп-бит, контроль четности отсутствует. Старший бит посылки является
признаком байта состояния (Status byte). При единичном значении
признака биты [6:0] содержат код команды. За байтом
состояния могут следовать байты данных, у которых старший бит
всегда имеет нулевое значение. 14-битные данные передаются парой байт.
Байт состояния с относящимися к нему байтами данных составляют
сообщение (MIDI Message). Длина сообщения определяется кодом
команды и может быть 1, 2 или 3 байта. Исключение составляет сообщение
System Exclusive, у которого байт состояния сопровождается байтом
идентификатора и цепочкой байт данных произвольной длины. Передача
обычных трехбайтных сообщений занимает около 1 мс, что вполне приемлемо
для контроллеров: аккорд из 10 нот будет передан за 10 мс, так что
"разбежка" в исполнении нот будет незаметной. Однако секвенсор может
"выстреливать" одновременно и большее количество нот, что может привести
и к заметной неодновременности их исполнения из-за задержек при
передаче. Сообщения MIDI разделяются на канальные (Channel Messages)
и системные (System Messages). Канальные сообщения адресуются к
конкретному каналу, номер которого указывается в старших битах байта
состояния. Номера каналов 1-16 кодируется числами 0-15 в двоичной форме.
Системные сообщения являются безадресными. Канальные сообщения
подразделяются на голосовые (Channel Voice Messages) и
управляющие (Channel Mode Messages). Голосовые сообщения несут
основную исполнительную информацию. К этой категории относятся сообщения
Note On, Note Off, Polyphonic Key Pressure,
Channel Pressure, Pitch Bend Change, Program Change
и ряд сообщений Control Change. Исполнение ноты начинается по
приему сообщения Note On, которое содержит номер ноты и скорость
нажатия клавиши. Это сообщение инициирует фазы атаки, спада и удержания.
Скорость нажатия задает уровень (громкость) исполнения: 1 - пианиссимо,
127 - фортиссимо. Качественные синтезаторы в зависимости от скорости
могут корректировать и характер исполнения (спектр, форму огибающей,
выбирать нужный образец). Нота снимается (отрабатывается фаза затухания)
по приему с ее же номером сообщения Note Off, тот же эффект
вызывает и Note On c нулевой скоростью. Скорость отпускания чаще
всего контроллерами не определяется, а звуковыми модулями игнорируется.
Для большей одновременности взятия нот в аккордах и снижения трафика вся
игра может строиться только на сообщениях Note On с однократной
передачей байта состояния (running status). Кроме датчиков скорости,
клавиатура может иметь и датчик давления на нажатую клавишу
(Aftertouch). Информация о давлении может использоваться для управления
некоторыми характеристиками воспроизведения (например, вибрато).
Строй канала может смещаться относительно стандартного. Для этого
синтезаторы имеют соответствующую ручку управления (pitch bend wheel).
Изменение ее положения отражается сообщением Pitch Bend Change.
Тип инструмента для канала задается сообщением Program Change.
Сообщения Control Change служат для управления разнообразными
функциями. Второй байт задает номер контроллера (управляемого
параметра), третий байт - значение этого параметра. Управляющие
сообщения определяют, как именно звуковой модуль должен отрабатывать
голосовые сообщения. Системные сообщения (System Messages)
подразделяются на общесистемные (System Common Messages), сообщения
реального времени (System Real Time Messages) и исключительные (System
Exclusive Messages). Общесистемные сообщения включают
сообщения для синхронизации с видеооборудованием и ленточными
записывающими устройствами (MTC Quarter Frame), выбора
произведения и позиции воспроизведения (Song Select, Song
Position Pointer), настройки аналоговых синтезаторов (Tune
Request). Сообщения реального времени System
Real Time Messages (SRT) образуют систему синхронизации MIDI
Sync. Эта система используется секвенсорами, ритм-машинами и другими
тактируемыми устройствами MIDI. Исключительные собщения
(System Exclusive Messages) используются для обмена различными
данными, например, для загрузки патчей (образцов голосов
инструментов). Интерфейс MIDI довольно сильно ориентирован на
клавишные музыкальные инструменты. Однако даже самая хорошая
"взвешенная" клавиатура с датчиками скорости и давления не позволяет
передать всех нюансов исполнения, например, духовых или струнных
(щипковых или смычковых) инструментов. В настоящее время существуют
контроллеры MIDI с интерфейсами, отличными от клавишных. Существуют
контроллеры MIDI в виде гитар, где датчики определяют место прижима
струн и силу удара (щипка). Есть и контроллеры с "духовым интерфейсом" -
датчики устанавливаются на клапанах, а специальный мундштук измеряет
расход проходящего воздуха. Существуют также и преобразователи
аналогового сигнала в поток MIDI-инструкций. Они имеют АЦП,
оцифровывающий входной сигнал, снятый микрофоном с реального
инструмента, и внутренний сигнальный процессор. Для гитар выпускаются
специальные звукосниматели, сопряженные с сигнальными процессорами.
Задача разложения звука на голосовые (не спектральные!) составляющие
достаточно сложна и легче решается для одноголосных инструментов. Если
преобразователь использовать как устройство ввода для секвенсора, то
ошибки преобразования можно исправлять средствами редактирования
музыкального текста в секвенсоре.
Книги | Статьи | Начало
|