![]() | |||
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 сообщения состоят из трех, последовательно передающихся байтов. По мере продвижения вперед, значения этих контроллеров (третий байт) будут увеличиваться. Когда колесо Modulation достигнет крайнего дальнего положения, значение контроллера Modulation станет равным 127. Если мы начнем вращать колесо Modulation обратно, то значения контроллера Modulation станут убывать, и к нашему исходному положению примут значение 0. Каждому конкретному положению колеса Modulation соответствует строго определенное значение контроллера Modulation. Это колесо, собственно как и колесо Pitch Bend, представляет из себя самый настоящий переменный резистор. Обращение к нему происходит не постоянно, а дискретно, с некоторой частотой. Поэтому если мы резко двинем колесом Modulation, то на выходе вследствие этого получим небольшое количество MIDI-сообщений. А если мы будем двигать колесо Modulation медленно, то сообщений, выдаваемых на MIDI-out будет больше, и их значения будут изменяться более плавно. То же самое происходит и с колесом Pitch Bend, с той разницей, что его нормальным положением является центральное промежуточное. Крутанем его до упора вперед - значение контроллера начнет расти и станет равным 127. Крутанем до упора на себя - значение станет уменьшаться и, в конце концов, превратится в 0. Отпустим - колесо Pitch Bend вернется в свое нормальное, среднее положение. При этом значение контроллера станет равным 64.
Только что мы рассмотрели процесс с точки зрения передающего устройства. Давайте посмотрим, что же происходит в синтезаторе, когда эти MIDI-контроллеры попадают на его MIDI-вход. Диапазон изменения значений контроллеров, как сказано выше, всегда лежит в диапазоне 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, задавайте вопросы. Продолжение курса лекций - Урок пятый |