Мастер-класс


MIDI-технология. Урок четвертый.
Роман Мухачев, экс-клавишник групп "Мираж", "Лицей", "Тайм-аут", ныне - клавишник группы "Треф".

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



   Мое почтение вам, уважаемые пользователи MIDI-аппаратуры. Для начала хочу сказать большое спасибо всем тем, кто позвонил или написал.

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

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

   В общем случае MIDI ControlChange сообщения (контроллеры) служат для изменения параметров звука (тембра) в реальном времени, т.е. в данном случае не требуется прекращать игру или останавливать секвенсор. Самые широко известные и часто используемые контроллеры - это Pitch Bend и Modulation. Это те самые два "колеса", расположенные, для удобства игры, с левой стороны на большинстве синтезаторов. Вторым по частоте использования контроллером является Damper Pad, или педаль сустейна (правая педаль фортепиано). Мы так к ним привыкли, что используем их, можно сказать, почти бессознательно.

   К примеру, мы выставили на нашем синтезаторе какой-либо "синтезаторный" (в смысле - звук аналогового инструмента) тембр, "зажали" ноту на клавиатуре и ну крутить оба колеса (или специальный джойстик, как например в инструментах фирмы Roland). И вот - о, чудо! - полились из контрольных мониторов ангельские звуки - последствия работы фильтров реального времени и фазово-частотных модуляторов. А в MIDI-интерфейсе, в этот момент, происходит следующее. Нажимая на клавишу, мы даем команду MIDI-интерфейсу подать на MIDI-out сообщение Note On. Самое же интересное начинается тогда, когда мы прикасаемся к Pitch-бендеру или к колесу модуляции. По MIDI-кабелю устремляется настоящий шквал MIDI-контроллеров. Рассмотрим, из чего же на самом деле состоит этот шквал.

   MIDI ControlChange сообщения состоят из трех, последовательно передающихся байтов.
Старшие четыре бита первого байта, как и везде, определяют тип MIDI-сообщения. Для контроллера это, в основном шестнадцатеричное число B. Младшие четыре бита первого байта служат для обозначения MIDI-канала, по которому будет передаваться это сообщение.
Вообще, корректней будет сказать, что младшие четыре бита первого байта служат для обозначения MIDI-канала, по которому приемное устройство - синтезатор, тон-генератор, секвенсор - будут воспринимать эту MIDI-команду, ведь передаем-то мы по MIDI всю информацию последовательно.
Весь следующий, второй байт, определяет тип MIDI-контроллера. Диапазон значений 0 - 127, то есть всего в природе существует 128 различных MIDI-контроллеров. Часть значений стандартизирована, а некоторым контроллерам не присвоили никаких стандартных функций.
И заключительный, третий байт является, по сути, собственно значением MIDI-контроллера. Диапазон значений его также лежит в пределах 0 - 127. Например, нормальным положением колеса Modulation считается положение до упора повернутым "на себя". В этом случае значением контроллера является 0. Соответственно, так как колесо Pitch Bend постоянно подпружинено в среднем положении, его нормальным значением считается 64. Если мы начнем двигать колесо Modulation из нормального положения в крайнее дальнее, мы тем самым инициируем процесс выдачи некоторого количества MIDI-сообщений - контроллеров на MIDI-out. Приблизительно с каждым миллиметром прокручивания колеса Modulation, на MIDI-out нашей клавиатуры будет выдаваться 2 - 3 MIDI-контроллера.

   По мере продвижения вперед, значения этих контроллеров (третий байт) будут увеличиваться. Когда колесо Modulation достигнет крайнего дальнего положения, значение контроллера Modulation станет равным 127. Если мы начнем вращать колесо Modulation обратно, то значения контроллера Modulation станут убывать, и к нашему исходному положению примут значение 0. Каждому конкретному положению колеса Modulation соответствует строго определенное значение контроллера Modulation. Это колесо, собственно как и колесо Pitch Bend, представляет из себя самый настоящий переменный резистор.

   Обращение к нему происходит не постоянно, а дискретно, с некоторой частотой. Поэтому если мы резко двинем колесом Modulation, то на выходе вследствие этого получим небольшое количество MIDI-сообщений. А если мы будем двигать колесо Modulation медленно, то сообщений, выдаваемых на MIDI-out будет больше, и их значения будут изменяться более плавно. То же самое происходит и с колесом Pitch Bend, с той разницей, что его нормальным положением является центральное промежуточное. Крутанем его до упора вперед - значение контроллера начнет расти и станет равным 127. Крутанем до упора на себя - значение станет уменьшаться и, в конце концов, превратится в 0. Отпустим - колесо Pitch Bend вернется в свое нормальное, среднее положение. При этом значение контроллера станет равным 64.

   Только что мы рассмотрели процесс с точки зрения передающего устройства. Давайте посмотрим, что же происходит в синтезаторе, когда эти MIDI-контроллеры попадают на его MIDI-вход.
Чем хороши контроллеры - так это тем, что их использование не прерывает проигрывание нот.
Каждому стандартному MIDI-контроллеру соответствует какой-либо процесс изменения звука. Существуют, например, контроллеры громкости (MainVolume, N007), панорамы (Pan, N10), контроллер-команда выключения сразу всех звучащих нот (AllNoteOff, N123), уже известные вам Modulation и Pitch Bend, и многие другие.

   Диапазон изменения значений контроллеров, как сказано выше, всегда лежит в диапазоне 0 - 127. Почему же, спросите вы, на одном тембре движение колеса Pitch Bend до упора вызывает изменение высоты звука, скажем, на тон, а на другом тембре, то же самое перемещение колеса Pitch Bend вызывает изменение высоты звука аж на целых две октавы? Все дело в том, что синтезатор, в зависимости от выбранного звука и от некоторых других факторов, по разному реагирует на поступление одного и того же контроллера на MIDI-вход. Практически во всех профессиональных синтезаторах есть возможность менять по своему усмотрению параметр Pitch Bend Range. Это и есть то самое количество полутонов, на которое будет транспонироваться взятая нами нота при повороте колеса Pitch Bend в одно из крайних положений.

   Вообще, при работе с MIDI-контроллерами, в расчет принимаются две составляющие: сам контроллер, и соответствующий ему параметр синтезатора. Этот параметр и будет меняться при поступлении на MIDI-вход синтезатора соответствующего ему MIDI-контроллера.Часто, в последнее время, проектировщики новых синтезаторов переключают контроллер Modulation на управление различными фильтрами. Так и мы: записали дорожку в секвенсоре нотами одной и той же длительности, крутим колесо Modulation и получаем модные резонансные "квакающие" звуки. То же самое, например, получается если управление этим фильтром переключить на Velocity (скорость нажатия нот). Нажимаем тихонько - слышим тихий, "закрытый", глухой звук. Нажали сильнее - фильтр "открылся", звук стал громче и ярче.

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

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

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

   Как правило, использовать контроллеры случалось крайне редко. Но если без них обойтись не удавалось, приходилось тратить на это время, и результат всегда оправдывал ожидания. Чаще всего приходилось "затыкать" контроллером громкости какой-нибудь долго тянущийся звук. Приведу пример из жизни. На днях я делал аранжировку-ремикс для нового альбома Натальи Ветлицкой. В процессе работы, Наташа предложила сыграть во вступлении несколько нот на мощном, низком, переливающемся звуке. Мы нашли нужный звук, вычислили партию и записали ее. Получилось очень неплохо. Но одно хотелось доработать: "хвост" у этого звука был настолько длинным, что залезал на следующие такты и мешал дальнейшему развитию. Вот тут-то и пришлось вспомнить программирование. Работаю я, в основном, на Cubase. Проблема решилась достаточно быстро: в этой дорожке, где был наш звук, с использованием редактора "List" (^G)? перед первой нотой был вставлен контроллер MainVolume со значением максимальной громкости - 127. А в том месте, где надо было "обрезать хвост", был записан контроллер MainVolume со значением 0, т.е. звук в этот момент выключался. Нужный результат был достигнут - "хвост" больше не мешал, и Наташу и меня это устраивало. Я подчеркиваю, единственным корректным вариантом было окружить ноты, которые должны прозвучать, контроллерами с обеих сторон. Этот способ позволял использовать этот звук в дальнейшем, и - очень важно - мы могли не беспокоится о том, что он в какой-нибудь момент не прозвучит. Таким образом, мы и время сэкономили, и лишней головной боли избежали.

СУЩЕСТВУЮЩИЕ MIDI-КОНТРОЛЛЕРЫ
Номер
контроллера
Функция контроллера
0 Bank Select MSB Выбор банка (MSB)
1 Modulation Модуляция
2 Breath Controller Контроллер "Дуновения"
3 Undefined Не определен
4 Foot Controller "Ножной" Контроллер
5 Portamento Time Время эффекта "Портаменто"
6 Data Entry (Used with RPN/NRPN) Ввод данных (исп. в комплекте RPN/NRPN)
7 Main Volume Громкость
8 Balance Баланс
9 Undefined Не определен
10 Panpot Панорама
11 Expression Pedal "Экспрессия" ("Яркость" звука)
12 Effect Control 1 Контроллер эффекта I
13 Effect Control 2 Контроллер эффекта 2
14-15 Undefined Не определен
16 General Purpose Controller 1 Контроллер специального назначения I
17 General Purpose Controller 2 Контроллер специального назначения 2
18 General Purpose Controller 3 Контроллер специального назначения 3
19 General Purpose Controller 4 Контроллер специального назначения 4
20-31 Undefined Не определен
32 Bank Select LSB Выбор Банка LSB
33-63 LSB for controllers 1-31 LSB для контроллеров 1-31
64 Hold I (Damper) Педаль сустейна (Дампер)
65 Portamento Портаменто
66 Sostenuto Состенуто
67 Soft Pedal Педаль "Смягчения" звука
68 Undefined Не определен
69 Hold 2 (Damper 2) Контроллер Дампер 2
70-79 Undefined Не определен
80 General Purpose Controller 5 Контроллер специального назначения 5
81 General Purpose Controller 6 Контроллер специального назначения 6
82 General Purpose Controller 7 Контроллер специального назначения 7
83 General Purpose Controller 8 Контроллер специального назначения 8
84-90 Undefined Не определен
91 Effect I (External Effect)
Depth (Reverb Send Level)
Глубина эффекта 1(Ревер)
92 Effect 2 (Tremolo) Depth Глубина эффекта 2 (Тремоло)
93 Effect 3 (Chorus)Depth
(Chorus Send Level)
Глубина эффекта З(Хор)
94 Effect 4 (Celeste) Depth Глубина эффекта 4 (Тремоло Челесты)
95 Effect 5(Phaser) Depth Глубина эффекта 5 (Фэйзер)
96 Data Increment Увеличение переменной
97 Data Decrement Уменьшение переменной
98 Non-Registered Parameter
Number LSB
Незарегистрированный номер параметра LSB
99 Non-Registered Parameter
Number MSB
Незарегистрированный номер параметра MSB
100 Registered Parameter Number LSB Зарегистрированный номер параметра LSB
101 Registered Parameter Number MSB Зарегистрированный номер параметра MSB
102-120 Undefined Не определен
121-127 Reserved for Channel Mode Messages Зарезервирован для сообщений канального режима

В заключение, напоминаю, что самое главное - это спокойствие.
Пишите, звоните, шлите E-mail, задавайте вопросы.

Продолжение курса лекций - Урок пятый

    Copyright © ООО "Шоу-Мастер"
    Webdesign © Сергей Горбунов