Что такое MIDI-события и зачем они нужны

Все, что вы хотели знать о MIDI-событиях, но боялись спросить: виды событий, что такое Note Velocity, как и какая информация передается при игре.

MIDI-события

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

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

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

Что такое MIDI-события?

Структурная схема MIDI-событий.

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

MIDI-события делятся на два вида:

Каждое MIDI-событие состоит из трех байт информации. Первый байт (Status Byte) содержит специальный идентификатор события, передающий основные данные о воспроизведении звука. Второй байт (Data Byte 1) сообщает информацию о воспроизводимой ноте, ее высоте и положении в октаве. Третий байт (Data Byte 2) передает параметр Note Velocity — силу извлечения звука.

Что такое Note Velocity и зачем это нужно?

Note Velocity — аналог атаки при игре на реальном инструменте, то есть информация о том, с какой силой или скоростью извлекается звук при работе с MIDI-инструментами.Чем сильнее нажатие на клавишу MIDI-клавиатуры или удар по электронному пэду барабанов, тем выше параметр Note Velocity.

Параметр принимает значения от 0 до 127, где 0 — извлечения ноты не было, а 127 — звук извлечен с максимальной силой. Представление этой информации виртуальным инструментом или синтезатором зависит только от задумок разработчиков. Тем не менее, в 99% случаев виртуальный инструмент реагирует на параметр Note Velocity так же, как и реальный инструмент. Благодаря этому, MIDI может передавать особенности игры и звукоизвлечения.

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

MIDI-события System Common

Общие системные MIDI-события активно применяются в синтезаторах для передачи общей информации о воспроизводимых MIDI-файлах.

Среди информации, передаваемой общими системными событиями, выделяют:

MIDI-события System Real-Time

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

MIDI-события System Exclusive

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

MIDI-события Channel Mode

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

MIDI-события Channel Voice

Большая часть информации, генерируемой музыкантом при игре, относятся к канальным голосовым событиям (Channel Voice). События Channel Voice делятся на два типа: связанные со звуками и непрерывные. Группа Channel Voice состоит из 7 подсобытий:

  1. Note On — активация ноты, начало звука;
  2. Note Off — деактивация ноты, окончание звука;
  3. Monophonic (Channel) Pressure/Aftertouch — параметры силы нажатия клавиши или силы извлечения монофонического звука (эффект послекасания);
  4. Polyphonic (Key) Pressure/Aftertouch — параметры силы извлечения полифонического звука (эффект послекасания);
  5. Pitch Bend — изменение высоты звука;
  6. Program Change — изменение программы;
  7. Control Change/Continuous Controller — события потокового управления (127 штук), участвующие в управлении извлеченным звуком и обозначаемые при помощи сокращения CC.

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

Состав передаваемой на MIDI-устройство информации на примере канальных голосовых событий

MIDI-событиеПервый байт (Status Byte)Второй байт (Data Byte 1)Третий байт (Data Byte 2)
Note OnНачало воспроизведения нотыКакая нота будет извлеченаСила нажатия
Note OffОкончание воспроизведения нотыКакая нота будет извлеченаСила нажатия
Monophonic (Channel) PressureАктивация функции послекасанияСила давления на клавишу-
Polyphonic (Key) PressureАктивация функции послекасанияКакая нота будет извлеченаСила давления на клавишу
Pitch BendАктивация функции изменения высоты звукаЗначение, на которое повышается или понижается звукИсходное значение звука
Program ChangeАктивация изменения программыНомер программы-
Control ChangeАктивация потокового управленияВызов подсобытия CCЗначение CC#

MIDI-события, связанные с нотами и звуками

С точки зрения MIDI, любая нота имеет начальную и конечную позицию, в рамках которой воспроизводится звук. Когда на приемник MIDI-информации поступает событие Note On, устройство или редактор воспроизводит звук. Чтобы воспроизведение ноты прекратилось, на приемник поступает событие Note Off — сами по себе MIDI-устройства не знают, как долго должен издаваться звук.

Обычно событие Note On привязано к зажатию клавиши MIDI-клавиатуры, а Note Off — к отпусканию клавиши. Тем не менее, иногда для большей правдоподобности звучания инструментов разработчики сдвигают событие Note Off, чтобы оно появлялось через некоторое время после отпускания клавиши.

Первое описание стандарта MIDI (скан документа).

Непрерывные MIDI-события

К непрерывным относятся подсобытия Pitch Bend, Control Change и два вида Aftertouch. Непрерывные сообщения объединяют информацию о том, как было сгенерировано MIDI-событие.

Эта информация поступает на MIDI-приемник постоянно, а значения параметров Pitch Bend, Control Change и Aftertouch изменяются постепенно во время генерации звука. В потоке информации непрерывных событий передаются сведения о громкости, высоте, тембре, резкости, ясности и других особенностях извлеченного звука.

Имитация эффекта вибрато на гитаре, звучание звука с определенным количеством сустейна, нарастание громкости звука и другие подобные сложные эффекты создаются при помощи Pitch Bend, Control Change и Aftertouch.

Aftertouch или эффект послекасания

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

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

Если Aftertouch-событие относится к типу Channel (Monophonic) Aftertouch, то на всю клавиатуру приходится один датчик давления, а параметры послекасания применяются сразу ко всем нотам. События Channel (Polyphonic) Aftertouch применяются к каждой клавише по отдельности.

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

Pitch Bend

Генерацию сведений об изменении высоты звука выполняют специальные колеса модуляции и питча. Это событие полностью игнорирует длительность звука, а влияние параметра Pitch Bend на высоту звука зависит только от разработчиков софта или настроек, заданных музыкантом. Самым распространенным вариантом изменения является повышение или понижение звука на целый тон, хотя никто не запрещает запрограммировать изменение на октаву или две.

У параметров Pitch Bend отсутствует нулевое значение: 0 не заглушает звук, а указывает на отсутствие изменения его высоты.

MIDI-события изменения программы

События Program Change отвечают за смену наборов инструментов, звуков и патчей. Несмотря на то, что подобные события официально не признаны устаревшими, разработчики используют их очень редко.

MIDI-события в окне Piano Roll в Logic Pro X.

MIDI-события потокового управления

Сообщения потокового управления (CC) — обширная категория из 127 разных типов событий. Все CC-события непрерывны и постепенно изменяют собственные значения для управления динамикой извлеченного звука.

Несмотря на большое количество CC-событий, активно используются далеко не все. Одни подсобытия заранее определяются разработчиками, другие доступны пользователям для свободного использования, третьи — не используются никогда. Среди самых популярных обычно выделяют пять подсобытий — CC#1, CC#7, CC#10, CC#11 и CC#64 (см. полный список событий потокового управления на сайте midi.org).

СС#1 привязано к колесу модуляции, хотя в теории привязать к нему можно любую функцию изменения звука. Чаще всего на это подсобытие назначают добавление автоматического эффекта вибрато. В более редких случаях за ним закрепляют функции управления тембром инструмента.

CC#7 и CC#10 отвечают за параметры громкости и панорамы. MIDI-устройства с поворотными регуляторами могут изменять громкость и значение панорамы в окне DAW через эти события. Во всех остальных случаях CC#7 и CC#10 не нужны.

Подсобытие CC#11 обозначается «Expression» и контролирует громкость исполнения. Самыми распространенными устройствами, поддерживающими это подсобытие, являются педали экспрессии (громкости) синтезаторов, MIDI-контроллеров, электропианино и электроорганов.

MIDI-событие CC#64 отведено под педаль демпинга MIDI-клавиатуры или синтезатора. Подсобытие реагирует на положение педали, присваивая ноте значение в пределах 0-63, если педаль поднята, и 64-127, если педаль опущена (зажата). Некоторые продвинутые MIDI-контроллеры, педали и виртуальные инструменты расширяют возможности подсобытия CC#64, позволяя применять техники игры с полуоткрытой педалью.

Exit mobile version