что такое данные midi

MIDI и OSC — основные протоколы взаимодействия музыкальных приложений

Часть 1. MIDI

1 Предпосылки

Необходимость в таком стандарте возникла примерно к концу 70-х годов. В то время синтезаторы управлялись напряжением с помощью интерфейса CV/Gate. Существовало несколько его видов, однако, наибольшую популярность получил вариант, предложенный фирмой Roland: в нем при увеличении напряжения на 1 В, частота генерируемого тона увеличивалась на одну октаву. Главным недостатком такого интерфейса является то, что с помощью него можно управлять только одним голосом полифонии. Для извлечения дополнительной ноты нужно добавлять еще один интерфейс CV/Gate. Кроме того, таким способом передается только сам факт нажатия клавиши и ее высота, чего однозначно мало для выразительной игры.

Другим недостатком синтезаторов того времени была сложность настройки. Для каждого нового звука музыкантам приходилось настраивать инструмент заново, что было очень не удобно на живых выступлениях. На концертах тех времен часто можно было увидеть целые стеллажи из синтезаторов — так музыканты выходили из ситуации. Со временем в инструменты были встроены мини-компьютеры, с помощью которых можно было сохранять положения ручек в пресеты.
Однако, есть еще один момент, который оказал большое влияние на разработку MIDI.

Несомненно, у каждого синтезатора свой характер звучания, каждый из них был силен в определенных типах звуков. Поэтому многие музыканты того времени практиковали игру сразу на двух инструментах, как бы используя лучшее из разных моделей. Наслоение звуков из различных синтезаторов стало исполнительским приемом, визитной карточкой многих музыкантов. [1]

2 История появления

К началу 80-х большинство производителей осознали необходимость создания единого интерфейса. Задача стояла такая: разработать стандарт передачи действий исполнителя в цифровой форме между всеми типами электромузыкальных инструментов. [1]

3 Основы

MIDI — это протокол последовательной передачи данных между главным и подчиненным устройством. Главное устройство генерирует сообщения и отправляет их подчиненному устройству, который выполняет полученные команды. Последовательный — значит информация передается по одному биту, бит за битом. Отсюда следует невозможность передачи нескольких сообщений одновременно.

Сам протокол состоит из трех частей [1]: спецификация формата данных, аппаратная спецификация интерфейса и спецификация хранения данных. В данной статье будет идти речь только о первой части.

MIDI сообщения делятся на два типа: сообщения канала (channel messages) и системные сообщения (system messages). Первые управляют звукообразованием, а вторые выполняют служебные функции, например, синхронизация.

что такое данные midi. Смотреть фото что такое данные midi. Смотреть картинку что такое данные midi. Картинка про что такое данные midi. Фото что такое данные midi

Сообщение обычно состоит из двух или трех байт. Первый байт называется статус байтом. В нем задается тип сообщения и номер канала, к которому оно относится. Все последующие байты называются байтами данных. Статус-байт всегда начинается с единицы, а байт-данных с нуля — таким образом система их различает. Получается, что для MIDI информации остается только 7 бит, с помощью которых можно закодировать целые числа от 0 до 127, — вот откуда берется это «знаменитое» ограничение на количество нот и значения контроллеров.

что такое данные midi. Смотреть фото что такое данные midi. Смотреть картинку что такое данные midi. Картинка про что такое данные midi. Фото что такое данные midi

Как видно из рисунка, информации о типе сообщений отводится всего 3 бита, в которых можно закодировать только 8 чисел. 7 из них отведены под наиболее часто используемые команды, а последнее используется для системных сообщений. Когда передается системное сообщение, последние 4 бита статус байта (в которых обычно передается номер канала) определяют тип системного сообщения.

Табл. 1. Сообщения канала.

СообщениеСтатус-байтБайт данных 1Байт данных 2
Note Off1000nnnnНомер нотыVelocity
Note On1001nnnnНомер нотыVelocity
Polyphonic Key Pressue1010nnnnНомер нотыДавление
Control Change1011nnnnНомер контроллераЗначение
Program Change1100nnnnНомер программы
Channel Pressure1101nnnnДавление
Pitch Wheel Change Change1110nnnnНомер программы
Системные сообщения1111nnnn..

Табл. 2. Системные сообщения

СообщениеСтатус-байтБайт данных 1Байт данных 2
System Exclusive (SysEx)
System Exclusive11110000ID.
System Common
MTC Quater Frame11110001Тайм-код
Song Position Pointer11110010LSBMSB
Song Select11110011Номер песни
Tune Request11110110
End Of Exclusive (EOX)11110111
Real Time
Timing Clock11111000 (248)
Start11111010 (250)
Continue11111011 (251)
Stop11111100 (248)
Active Sensing11111110
System Reset11111111

4 Недостатки

MIDI разрабатывался, как доступный и практичный стандарт для передачи жестов исполнителя между любыми MIDI-устройствами [2]. Не в последнюю очредь благодаря своей легковесности он и получил такое распространение. Что ни говори, со своим предназначением он справляется прекрасно, и это подтверждается временем.
Итак, наверное, самый известный недостаток — ограничение значений контроллеров на 128 значений. Конечно, есть возможность передавать их с помощью двух байтов данных (что дает 16 384 возможных значений), но для этого надо передать три сообщения Control Change, что очень сильно загрузит протокол, так как данные по нему передаются со скоростью 31 250 бит/с. Это очень мало. Для сравнения, 12-нотный аккорд передастся примерно за 10 мс. И это без других сообщений, например Clock и CC. В реальном перфомансе, когда одновременно передается много различных параметров, могут возникнуть проблемы с синхронизацией.

Часть 2. Open Sound Contol

«Open Sound Control — это новый, оптимизированный для современных сетевых технологий протокол для взаимодействия компьютеров, звуковых синтезаторов и других мультимедиа устройств» — так был представлен OSC на международной конференции по компьютерной музыке в 1997 году [3]. OSC не является протоколом в том виде, каким является MIDI, так как он не описывает требований к аппаратному обеспечиванию — спецификации описывают лишь формат передачи данных. В этом плане OSC больше схож с XML или JSON, нежели с MIDI [8].

Пока оставим технические подробности и начнем с самого начала, с истории.

1 История, области применения

Open Sound Control был создан в 1997 году Мэттью Райтом (Matthew Wright) и Эдрианом Фридом (Adrian Freed) в Университете Калифорнии в центре новой музыки и аудио технологий (CNMAT — Center of New Music and Audio Technologies). Разработчики хотели использовать высокоскоростные сетевые технологии в интерактивной компьютерной музыке [4]. OSC не важно, по какому протоколу передаваться, так как он представляет собой всего лишь формат данных (binary message format), хотя большинство реализаций используют TCP/IP или UDP. Другой причиной создания было то, что MIDI с его нотами, каналами и контроллерами логично не подходил к разрабатывающемуся в то время синтезатору CAST (CNMAT Additive Synthesis Tools), оно и понятно, ведь MIDI — это клавишно-ориентированный протокол, который разрабатывался для управления одним синтезатором с другого [1].

Слово «Open» в названии означает, что OSC не предопределяет, какие сообщения должны использоваться для определенных параметров — это решается разработчиком конкретного девайса. Кроме того, это слово имеет и другое значение: протокол открыт, его спецификации находятся на официальном сайте, где можно скачать исходники.

2 Особенности
3 Анатомия сообщений

что такое данные midi. Смотреть фото что такое данные midi. Смотреть картинку что такое данные midi. Картинка про что такое данные midi. Фото что такое данные midi
Стоит отметить, что при использовании UDP, если сообщения передавались в разных пакетах, они не обязательно будут приходить в том порядке, в каком были переданы [6]. Допустим, были переданы сообщения:

/synth1/noteoff 54
/synth1/noteon 60

Фактически они могут прийти в обратном порядке:

/synth1/noteoff 60
/synth1/noteon 54

Это может привести к проблемам с управлением голосами в полифонии, например, в данном сообщении передается команда noteoff, которая выключает голос, а потом включает другую ноту. Если эти сообщения придут в обратном порядке, голос не освободится и новая нота не сможет запуститься.

Чтобы этого избежать, нужно передавать сообщения в одном пакете (bundle), либо использовать TCP/IP, он отличается от UDP тем, что гарантирует корректную доставку пакетов, передавая каждый из них до тех пор, пока он не передастся в изначальном виде. Нужно иметь ввиду, что ценой такому удобству будут большие в сравнении с UDP задержки, поэтому использование TCP/IP должно быть обосновано.

4 Pattern matching

дефис между двумя символами означает диапазон чисел в ASCII последовательности (дефис в конце строки не имеет специального значения);

Источник

Всё что нужно знать о MIDI-интерфейсах

MIDI-интерфейсы — очень полезный для музыкантов инструмент, позволяющий объединить самые разные электронные инструменты в один большой сетап. В этой статье мы расскажем все, что нужно знать про это устройство, а также подскажем, на что обратить внимание при покупке.

Что такое Миди?

что такое данные midi. Смотреть фото что такое данные midi. Смотреть картинку что такое данные midi. Картинка про что такое данные midi. Фото что такое данные midi

Формат MIDI был разработан в начале 80-х годов с целью стандартизации быстро растущего количества цифрового музыкального оборудования. Производителям нужен был простой способ сделать свою продукцию совместимой с устройствами других брендов. В 1981 году основатель Roland Икутару Какехаши предложил идею универсального языка для музыкальных инструментов другим крупным игрокам на рынке, включая Oberheim, Sequential Circuits и Moog. Финальный вариант MIDI был наконец представлен в 1982 году.

Миди (MIDI — Music Instrument Digital Interface) — это протокол передачи данных, который позволяет связывать между собой различное музыкальное оборудование. Это могут быть синтезаторы, драм-машины, семплеры, DJ-контроллеры и т.д. Однако важно понимать, что данный протокол не передает между устройствами аудио сигналы. Вместо этого он передает цифровые данные — миди-сообщения, которые представляют собой двоичный код (нули и единицы).

Миди сообщения

что такое данные midi. Смотреть фото что такое данные midi. Смотреть картинку что такое данные midi. Картинка про что такое данные midi. Фото что такое данные midi

Самое интересное в протоколе MIDI — это сообщения, которые передаются от устройства к устройству. Каждое такое сообщение соответствует определенному параметру и говорит другому устройству, что нужно делать, какие параметры нужно изменить, как должна вести себя система или какие ноты играть и т.д.

MIDI-сообщения можно разбить на два типа: системные сообщения и канальные сообщения. Большую часть времени вы будете иметь дело с канальными сообщениями. Хотя некоторые важные функции, такие как синхронизация (Clock) и управление воспроизведением (остановка, запуск и продолжение), являются системными сообщениями.

Начнем с канальных сообщений. Они способны передавать до двух видов данных одновременно. Например, сообщения активации и деактивации какой-либо ноты включают в себя информацию о значении номера ноты (ее высота), а также о значении скорости нажатия на нее, т.е. интенсивности, с которой она была сыграна. Таким образом MIDI может передавать выразительность исполнения.

Вот некоторые основные канальные сообщения и их описание:

Активация и деактивация ноты (Note On/Off): содержит информацию о том, какие ноты и когда были нажаты и отжаты, включая скорость нажатия на клавиши.

Послекасание (Aftertouch): дополнительное давление на клавишу после ее нажатия. Этот параметр в основном используется для модуляции звука

Изменение значения контроллера (Control Change): определяет изменение значения параметра на устройстве. Например, какой-либо регулятор или фейдер на миди-контроллере можно назначить на управление частотой среза фильтра синтезатора. За это как раз и будет отвечать сообщение формата Control Change

Изменение значения программы (Program Change): изменяет номер патча (предустановки) на устройстве

Давление в канале (Channel Pressure): общее значение давления для всех нажатых клавиш. Работает по похожему принципу с послекасанием, только для всех клавиш сразу

Изменение регулятора высоты звука (Pitch Bend): изменение колеса или рычага питча.

Что касается системных сообщений, так вот некоторые наиболее важные:

Синхронизация (Clock): синхронизирует по темпу подключенный девайс с мастер-устройством

Управление воспроизведением (Transport): передает устройству команды для запуска, остановки или продолжения воспроизведения

Специальные системные сообщения (sysex): позволяют производителям оборудования создавать свои собственные типы сообщений. Некоторые старые MIDI-устройства широко используют sysex.

По началу все это может показаться очень сложным, но большинство MIDI-задач все устройства обрабатывают вообще без вашего ведома в автономном режиме. Поэтому досконально разбираться во всех технических деталях совсем не обязательно.

Что такое Миди-интерфейс?

что такое данные midi. Смотреть фото что такое данные midi. Смотреть картинку что такое данные midi. Картинка про что такое данные midi. Фото что такое данные midi

Миди-интерфейс — это устройство, которое связывает между собой различные миди-совместимые устройства при помощи стандартного 5-контактного разъема. К таким устройствам можно отнести как различные синтезаторы или драм-машины, так и компьютеры или даже смартфоны.

Наиболее популярны интерфейсы, которые способны подключаться к компьютеру. Ведь именно там в подавляющем большинстве на различных цифровых звуковых рабочих станциях (DAW) сегодня создается музыка. Существуют автономные MIDI-интерфейсы, практически все из которых подключаются к компьютеру или смартфону через USB. А также интерфейсы могут быть интегрированы в клавиатуры, контроллеры и аудиоинтерфейсы.

Упомянутые выше 5-контактные разъемы бывают 3 видов: MIDI out, MIDI in и MIDI thru. Понимать в чем между ними разница очень важно, потому что при неправильном подключении миди-соединение не будет работать.

что такое данные midi. Смотреть фото что такое данные midi. Смотреть картинку что такое данные midi. Картинка про что такое данные midi. Фото что такое данные midi

MIDI out: позволяет направить данные, сгенерированные внутри одного устройства, например, нажатием на клавишу или поворотом регулятора, на другие MIDI-устройства. Этот разъем можно подключать только к MIDI in.

MIDI in: принимает данные от внешнего источника. Этот разъем может быть подключен как к MIDI out, так и MIDI thru

MIDI thru: целью этого разъема является передача точной копии данных, полученный устройством в MIDI In. Это позволяет объединить большое количество девайсов в цепочку, управляемую общим источником или контроллером, создавая таким образом сложный сетап. Этот разъем можно подключать только к MIDI in.

Зачем покупать Миди-интерфейс

Для подключения миди-совместимого оборудования к компьютеру

Это, пожалуй, самая распространенная причина приобретения миди-интерфейса. Некоторое музыкальное оборудование, например, старенькое цифровое пианино, не оснащено привычным всем портом USB для подключения к компьютеру, при этом зачастую миди-разъемы там все же есть. Как раз в таких случаях миди-интерфейс и приходит на помощь. Подключаем миди-кабелем цифровое пианино к разъему Midi in и используем его, как обычную миди-клавиатуру в любой цифровой рабочей станции (например, Ableton или Cubase).

что такое данные midi. Смотреть фото что такое данные midi. Смотреть картинку что такое данные midi. Картинка про что такое данные midi. Фото что такое данные midi

Или, скажем, у вас уже практически полностью готова аранжировка нового трека. Вы играете с каким-нибудь железным синтезатором и вдруг понимаете, что накрутили тот самый звук, которого не хватало для завершения композиции. Более того, в проекте уже даже есть партия для него. В таком случае также можно подключить миди-интерфейс к синтезатору и настроить все так, чтобы ноты игрались прямо из вашего компьютера.

Синхронизация оборудования с компьютером

что такое данные midi. Смотреть фото что такое данные midi. Смотреть картинку что такое данные midi. Картинка про что такое данные midi. Фото что такое данные midi

Данная функция будет наиболее полезна, если вы собираетесь играть лайвы с использованием компьютера. Например, на каком-либо внешнем синтезаторе у вас настроена секвенция. Чтобы она играла бит в бит с остальной композицией, можно подключить устройство к миди-интерфейсу и синхронизировать его с вашей DAW.

Подключение к iOS

что такое данные midi. Смотреть фото что такое данные midi. Смотреть картинку что такое данные midi. Картинка про что такое данные midi. Фото что такое данные midi

На рынке сегодня есть специальные миди-клавиатуры, разработанные для iOS-устройств. Но если у вас уже есть клавиатура с миди-выходом, то к iPad можно подключиться и с помощью миди-интерфейса.

Подключение нескольких устройств

что такое данные midi. Смотреть фото что такое данные midi. Смотреть картинку что такое данные midi. Картинка про что такое данные midi. Фото что такое данные midi

Cо временем, когда вы начнете обрастать различными синтезаторами и драм-машинами, вы скорее всего задумаетесь о расширении своего сетапа для одновременного подключения к компьютеру сразу нескольких устройств. Чем больше оборудования, тем больше разъемов вам понадобится. А это означает, что вам нужно будет приобретать дополнительные MIDI-интерфейсы, чтобы обеспечить достаточное портов для всех устройств.

На что обращать внимание при покупке миди-интерфейса

Количество Миди-разъемов (In/Out/Thru)

что такое данные midi. Смотреть фото что такое данные midi. Смотреть картинку что такое данные midi. Картинка про что такое данные midi. Фото что такое данные midi

Количество миди-разъемов стоит подбирать по количеству имеющихся у вас устройств. Если вам нужно подключить к компьютеру только клавиатуру, то скорее всего вам будет достаточно интерфейса с 1 входом и 1 выходом. Продумайте заранее, не планируете ли вы расширять свой сетап в ближайшем будущем, не понадобятся ли вам дополнительные разъемы. Возможно, стоит сразу взять миди-интерфейс с большим количеством портов на запас.

Тип подключения

что такое данные midi. Смотреть фото что такое данные midi. Смотреть картинку что такое данные midi. Картинка про что такое данные midi. Фото что такое данные midi

Изначально миди-интерфейсы были оснащены только 5-контактными миди-разъемами и служили исключительно для того, чтобы связывать различное музыкальное оборудование между собой. Со временем появились интерфейсы с USB-портами, позволяющими подключиться к компьютеру. Естественно, они быстро стали очень популярными, и сейчас практически весь рынок представлен именно такими моделями.

В последние годы с развитием беспроводных технологий новым MIDI-интерфейсам вообще перестали быть нужны кабели для подключения к устройствам. Такие модели не только удобны в настройке, но и позволяют избежать бардака с проводами.

Питание

что такое данные midi. Смотреть фото что такое данные midi. Смотреть картинку что такое данные midi. Картинка про что такое данные midi. Фото что такое данные midi

Питание MIDI-интерфейсов напрямую влияет на их мобильность и удобство в использовании. В основном питание осуществляется с помощью стандартного адаптера переменного тока. Такой вариант ограничивает мобильность, но более стабилен в работе. Другой вариант — USB-интерфейсы, которые питаются напрямую от устройства, к которому подключены.

Mac/PC совместимость

что такое данные midi. Смотреть фото что такое данные midi. Смотреть картинку что такое данные midi. Картинка про что такое данные midi. Фото что такое данные midi

Перед приобретением важно выяснить, совместим ли интерфейс с операционной системой вашего устройства/компьютера. Хотя большинство MIDI-интерфейсов, представленных на рынке, прекрасно работают со всеми основными операционками, есть некоторые модели, которые разработаны специально для какой-то одной.

Источник

midi-технология в картинках и таблицах


Павел Живайкин

Появившаяся в начале восьмидесятых годов midi-технология вскоре получила новый импульс в связи с широким распространением персональных компьютеров. И хотя еще в 1991 году мне попалась какая-то статья, где почти со злорадством перечислялись ее недостатки и предсказывалась скорая кончина, до настоящего времени альтернативной идеи и альтернативной технологии создано не было.

Основными недостатками midi считаются низкая скорость передачи информации, узкий диапазон изменения параметров и ограниченная сфера применения. В то время как одно из главных ее достоинств — небольшой объем файлов — в последнее время уже потеряло решающее значение: цены на пишущие CD-приводы и “болванки” для записи становятся все доступнее. А с появлением широких возможностей по использованию при создании музыки готовых, заранее записанных музыкальных фраз с CD-качеством (всякие “лупы”, “сэмплы” и т.п.) многие “артисты” вообще решили, что таких проблем, как обучение нотной грамоте, владению инструментом, midi-технология и пр. для них не существует.

Следуя этой логике, запись музыки банальными нотами и диезами должна была уйти в небытие с появлением фонографа Эдисона. Вот когда настоящий прогресс пришел на смену устаревшей технологии и беспросветному консерватизму! Как подумаешь, что и Бах, и Шнитке пользовались одними и теми же пятью нотными линейками, то такие понятия, как “секвенсор” или “контроллер” уже не кажутся столь древними.

Однако если принять во внимание, что midi-технология изначально предназначалась не для записи или воспроизведения музыки, а только лишь для управления на некоем расстоянии (в пространстве и времени) синтезаторами, звуковыми модулями и прочими “железными” ящиками, то многие претензии к ней будут сняты. Это все равно, что упрекать виолончель за плохое звучание во флейтовом регистре. Научись правильной аранжировке, а иначе и Ростропович не поможет!

Итак, чтобы закончить мысль о достоинствах и недостатках midi, сделаем несколько предварительных выводов. Во-первых, midi-технология остается ведущей в компьютерной и аппаратно-студийной области. Во-вторых, она совершенствуется, учитывает новые требования и новые технические возможности. Об этом говорит последовательное появление стандартов GM, GS и XG. В-третьих, идея оказалась настолько удачной, что midi-технология вовлекает в сферу своего влияния все новые и новые области, для которых она и не предназначалась, — управление магнитофонами, устройствами звуковой обработки, микшерскими пультами (не говоря уже о мультимедийных продуктах и компьютерных играх).

Здесь же хочу затронуть еще одну близкую мне тему. В музыкальном обучении качество звучания уже не играет столь значительной роли, как в звукозаписи или концертной деятельности. Зато возможность воспроизводить изучаемый опус в любом темпе и (тут вокалисты и духовики должны затаить дыхание) в любой тональности делают midi-технологию незаменимой в музыкальных школах и училищах. Смешно сказать, но для этого достаточен 286-й компьютер со звуковой картой за 40 долл. Я думаю, недалеко то время, когда некий аппарат, подобными характеристиками станет распространенней метронома. А вместо толстых нотных сборников люди будут покупать дискеты с этюдами Черни или Шопена.

Не учиться, не учиться и еще раз не учиться

Здесь его подстерегают первые неприятности. В течение многих лет разные наши авторы пишут о midi в различных журналах, а иногда и в книгах. Это по-настоящему хорошо, потому что никакого другого учебника или пособия нет. Трудно судить о зарубежных изданиях, которые усиленно рекламируются в американских и английских музыкальных журналах. Переводить их — сплошное мучение из-за горючей смеси компьютерных, музыкальных и “жаргонно-тусовочных” терминов. Вполне возможно, что такой переводчик еще не родился.

О второй очереди неприятностей многие сразу и не догадываются. Дело в том, что эти пособия пишут не музыканты и преподаватели, а инженеры, программисты и дилеры. Не кажется странным, что учебник по теории музыки написан не Полом Маккартни или Владимиром Спиваковым, а скромным профессиональным педагогом. Я не думаю обижать или обвинять кого-нибудь из авторов. Спрос есть, и писать об этом надо. Но, к сожалению, и логика изложения, и форма, и прочие невинные педагогические приемы во всех материалах отсутствуют.

Рано или поздно об этом догадывается любой читатель. Он прочитывает страницу за страницей один раз, потом второй, третий… И, наконец, приходит к одному из трех выводов.

“Мне никогда этого не одолеть”, — решает он, и это порой справедливо. Сведения не систематизированы, изложены в произвольном порядке, отрывочны, и не все термины объяснены.

“Ну и черт с ним, проживу без этих премудростей”, — может подумать уставший читатель. И здесь я соглашусь — о смертельных исходах от незнания midi что-то пока не слыхать!

А если ему совсем не повезет, он решит, что нечего тратить время и деньги на книги и журналы, благо у всякой программы есть руководство и хэлп. И хотя я знаю книгу об одной популярной музыкальной программе, содержащую по пять-шесть ошибок на страницу в логике, фактах, в английском, а иногда и в русском языке — тут я с ним не соглашусь никогда.

Во-первых, эти руководства и хэлпы создают те же программисты с их “особенным” видением мира. Если бы этих руководств было достаточно, компьютерные отделы книжных магазинов не сияли бы такой глянцевой пестротой.

Во-вторых, ни в одном руководстве я не видел ничего похожего на фразу: “Здесь наша программа должна сделать то-то, но почему-то она этого не делает”. Столько полезного можно найти в журналах, что порой кажется, будто производители заранее договариваются с журналистами о том, какие они наделают “бяки” в программах, а уж писатели на радость читателям будут их на этом ловить.

На основании всего вышесказанного хочу обратиться к любому человеку, будь он музыкант, звукорежиссер, разработчик мультимедийных программ или простой любитель покопаться в музыкальных программах: midi-технология не устарела, не так уж и сложна и не будет тормозом в вашем творчестве — смелее!

В этом материале будут рассмотрены самые первые, и, пожалуй, самые главные темы — назначение midi и типы midi-сообщений.

Назначение midi и подключение midi-устройств


Что такое midi-технология


midi — Musical Instrument Digital Interface — компьютерный протокол (иногда говорят — язык), предназначенный для связи одного музыкального устройства с другим. Оба эти устройства должны обладать любого вида микропроцессором или программой, которые поддерживают midi-протокол.

Рис. 1. Пример использования midi. На синтезаторе вы можете играть ноты, выбирать новый тембр инструмента, менять громкость, но сам он сейчас не звучит. Все перечисленные действия передаются по midi-кабелю (красного цвета) в виде команд на звуковой модуль. Последний выполняет все эти действия (звучат сыгранные ноты, меняется тембр и громкость) и выдает звук через обычные динамики. Красная стрелка показывает направление потока midi-сообщений

Цель midi — управлять работой музыкального устройства не с его панели или клавиатуры, а на расстоянии (по midi-кабелю) — с другого устройства. Для этого второе устройство передает первому последовательность управляющих команд, которые называются midi-сообщениями.

Какая информация передается с помощью midi

Примечание 1. midi-сообщение передает не сам звук (аудиоинформацию) или какие-то его характеристики, а только управляющие команды, которые выполняются устройством-получателем.

Примечание 2. Сам процесс передачи midi-сообщения может осуществляться в реальном времени (во время исполнения или воспроизведения музыки), но может быть и разорванным во времени. В этом случае midi-сообщение записывается в виде файла на дискету или хард-диск компьютера, а потом считывается устройством-получателем.

Какие музыкальные устройства могут получать и принимать информацию по midi

Технология midi с самого начала была предназначена для связи между самыми различными устройствами (синтезаторами, звуковыми модулями, компьютерами, устройствами цифровой обработки звука и многими другими).

midi-разъемы


Таблица 1. Виды midi-разъемов.

midi Outmidi-выход. Через этот разъем устройство посылает midi сообщение на другое устройство
midi Inmidi-вход. Через этот разъем устройство получает midi сообщение от другого устройства
midi ThruСквозной. Через этот разъем посылается точная копия любого midi-сообщения, которое поступило на разъем midi In
В качестве разъема для midi используется стандартный европейский 5-контактный разъем (рис. 2).

Рис. 2. midi-разъем. Контакт 2 — земля, контакты 4 и 5 — сигнальные, контакты 1 и 3 — не используются.

midi-кабель соответственно должен иметь три провода, которые соединяют контакты 1, 4 и 5 на обоих его концах.

Соединение midi-устройств между собой


Рис. 3. По одному IDI-кабелюсинтезатор передает midi-сообщение на звуковой модуль. Затем (но не одновременно) по другому midi-кабелю этот модуль может послать свое midi-сообщение на синтезатор

У любого устройства имеется только один midi-выход. Поэтому, если с него нужно посылать команды на два или несколько других устройств, используется разъем midi Thru. Тогда подключение устройств-приемников происходит последовательно (рис. 4). Но имеются, конечно, и специальные приборы, которые способны разветвлять midi-сообщения. Тогда нет необходимости в последовательном подключении midi-устройств.

Рис. 4. Компьютер посылает midi-сообщения для синтезатора и звукового модуля через свой midi-выход. Они оба поступают на midi-вход синтезатора, оба выходят через его разъем midi Thru. Синтезатор не может добавить никакую свою информацию, поэтому эти midi-сообщения в неизмененном виде поступают на midi-вход звукового модуля. Каждое из устройств-получателей само определяет, какие команды, находящиеся в midi-сообщениях, ему следует выполнять. Кривые линии красного цвета изображают midi-кабели, прямые линии красного цвета — схематический путь midi-информации

Итак, первое — при подключении midi-устройств вы всегда должны учитывать направление передачи информации. Второе — при подключении третьего и следующих midi-устройств вы должны пользоваться разъемом midi Thru. Третье — передаваемая midi-информация аналогична управлению вашим синтезатором с помощью ручек, кнопок или клавиш.

midi-сообщение


Как записывается midi-сообщение

midi-сообщение — это управляющая команда, использующая особый язык (протокол) midi.

midi-сообщение (как и любое компьютерное сообщение) записывается в битах, то есть выглядит как последовательность цифр 1 или 0 — 10011010 00101110… Но так как такая запись выглядит очень громоздкой, то для чтения и редактирования midi-сообщений применяется шестнадцатеричный способ записи иединица измерения — байт.

Записать число
В байтах (в шестнадцатеричном виде)В байтах (в двоичном виде)В байтах (в десятичном виде)
000000 00000
010000 00011
020000 00102
030000 00113
040000 01004
050000 01015
060000 01106
070000 01117
080000 10008
090000 10019
0A0000 101010
0B0000 101111
0C0000 110012
0D0000 110113
0E0000 111014
0F0000 111115
100001 000016
110001 000117
120001 001018
FF1111 1111127
Для того, чтобы быть понятным, midi-сообщение имеет четкую структуру. Эта структура зависит от типа midi-сообщения.

Типы midi-сообщений


Все типы midi-сообщений делятся на две большие группы (рис. 5). Системные midi-сообщения (System message) передают команды, которые воздействуют на общие параметры и режимы работы всех устройств-получателей.

Рис. 5. Разделение всех типов midi-сообщений на две группы

Примером системного сообщения может служить команда “Старт”, которая включает режим воспроизведения у любого секвенсора или магнитофона, находящегося в midi-связке.

Канальные midi-сообщения (Channel message) включают в себя номер midi-канала и передают сообщения на каждый midi-канал индивидуально. Всего для одного (и каждого) устройства midi-технология предусматривает 16 midi-каналов.

midi-каналы

midi-каналы предназначены для того, чтобы один синтезатор или звуковой модуль мог играть несколькими разными тембрами одновременно, причем каждый тембр (инструмент) исполняет свою независимую партию.

Когда одно устройство передает канальные midi-сообщения на другое, внешне это выглядит так, как если бы они были соединены шестнадцатью кабелями (и по каждому следуют указания о том, какие ноты каким тембром играть).

Рис. 6. Разделение midi-сообщений на midi-каналы

На самом деле midi-технология использует один кабель, но в каждое канальное midi-сообщение вписывается номер midi-канала, для которого оно предназначено. Устройство-получатель, пользуясь этим номером, направляет каждое канальное midi-сообщение на свой канал (рис. 6).

Типы сообщений из группы Channel


Рис. 7. midi-сообщения из группы Channel. Все режимные сообщения по типу (а не по функциям, как они разделены на этом рисунке) являются midi-сообщениями типа Control Change, поэтому изображены одним цветом и обведены пунктиром

Голосовые сообщения несут информацию о нотах, тембре и других характеристиках, которые должно учитывать устройство-получатель для конкретного midi-канала.

Режимные сообщения тоже делятся на две группы. Первая группа воздействует на конкретный midi-канал (эти сообщения устанавливают канал в состояние по умолчанию — сбрасывают все ноты, настраивают канал на стандартную высоту звука и пр.).

Сообщения второй режимной группы воздействуют на все midi-устройство в целом, другими словами, устанавливают режим его работы.

midi-сообщения группы System

Но по своему функциональному назначению их делят на три подгруппы (рис. 8). К первой из них (System Real Time) относятся сообщения, связанные с синхронизацией работы двух midi-устройств.

Рис. 8. midi-сообщения из группы System message (подгруппы показаны разным цветом, но по статусу принадлежат к одному типу — Control Change)

Во второй подгруппе (System Common) находятся сообщения, которые одинаково воспринимаются всеми midi-устройствами. Поэтому они и называются “общими”. Эта группа просто собрана из различных midi-сообщений, и между ними нет никакой логической связи.

Сообщения третьей группы (System Exclusive) являются одними из самых важных и самых неформализованных в midi-технологии. Они носят название “эксклюзивные”, потому что содержание данных определяется для каждого midi-устройства своей фирмой-производителем и не может быть распознано устройством другой модели или фирмы. Среди этих сообщений могут быть команды о настройке всего устройства целиком или отдельных его модулей. Другие сообщения управляют процессом передачи данных сэмплов или каких-то специальных файлов (Sample Dump, File Dump).

Структура midi-сообщения

Некоторые midi-сообщения (например, Program Change) не имеют второго байта данных.

Если midi-сообщение является канальным, то его первый байт (кроме статуса) содержит номер midi-канала. Второй и третий байты midi-сообщения называются Байт данных 1 (Data byte 1) и Байт данных 2 (Data byte 2). Байты данных содержат конкретную информацию, которую несет это midi-сообщение. Например, для сообщения “Взять ноту” Байт данных 1 указывает, какую именно ноту, а Байт данных 2 — с какой громкостью.

Рис. 9. Возможные виды midi-сообщений группы Channel message

Сообщения типа System Exclusive могут содержать большое количество байтов данных (рис. 10).

Рис. 10. Возможные виды midi-сообщений типа System message

Как определяется тип midi-сообщения

Итак, midi-информация, которую одно устройство передает другому, может быть в форме какого-либо из этих восьми типов. Некоторые из них понятны без комментариев (нажатие и снятие ноты), другие нуждаются в небольших пояснениях.

Любое midi-устройство не обязано посылать или отрабатывать обязательно все типы сообщений. Каждая фирма-производитель исходит из соображений целесообразности. Из этого следует, что различные midi-устройства, например синтезаторы, в одинаковых условиях могут вести себя по-разному (хотя с этим идет борьба). Самые простые домашние синтезаторы (с уменьшенными клавишами) не воспринимают, например, силу удара по клавише — громкость можно менять только ручкой и для всего инструмента сразу. Это напоминает игру на аккордеоне, только у него громкость зависит от величины разведения мехов.

А на практике?

Знания нужны или потому, что что-то не работает (а может быть оно, кстати, и не должно работать), или для того, чтобы применить их в каком-то творческом процессе. Во втором случае вам придется подробней разобраться в тонкостях midi-технологии, но, конечно, в рамках необходимости. Абсолютно сведущих специалистов, возможно, вообще нет, так как процессом развития этой области занимаются многие фирмы в разных концах земного шара.

Для иллюстрации же первого случая разберем простой пример. Посмотрите еще раз на рис. 1. Вы правильно соединили проверенным midi-кабелем два устройства (то есть midi Out синтезатора с midi In звукового модуля), а звука в колонках нет, хотя демонстрационные пьесы самого модуля играют. И сам по себе синтезатор тоже играет. Налицо факт отсутствия понимания между устройствами.

Все это верно и при подключении синтезатора к компьютеру, только в роли звукового модуля будет выступать установленная на компьютере программа.

И последнее. На стандартном синтезаторе колесико или рычажок слева от клавиатуры посылает midi-сообщения типа Pitch Bend (изменение высоты звука). Колесико или рычажок, называемый Modulation, посылает сообщение Control Change (см. рис. 9, первый байт данных равен единице, что и означает модуляцию, второй байт равен глубине модуляции). Ручка или движок громкости тоже посылает сообщение Control Change (первый байт данных равен семи, что означает громкость, второй байт сообщает о силе громкости).

Кнопки или ручки, меняющие громкость, посылают midi-сообщение типа Program Change (оно имеет только первый байт данных — номер тембра).

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *