Продолжаем знакомиться с формами представления музыки в компьютерных программах. В предыдущем выпуске журнала мы рассмотрели нотатор, отпечатки клавиш, виртуальный гитарный гриф и отпечатки пальцев. И это были еще цветочки. А сегодня наступило время ягодок. Речь пойдет о списке сообщений, привилегированных системных сообщениях, треках и клипах.
Список сообщений
Если ноты - язык общения музыкантов, то список сообщений - это привычная среда работы программистов.
Каждое сообщение (Event) занимает в списке одну строчку и, по существу, представляет собой указание, которое должен выполнить музыкальный компьютер в определенный момент времени.
Для MIDI-редактора сообщения - это наиболее естественная форма представления музыкальной информации. Более того, MIDI-система способна принимать и выполнять только те сигналы, которые являются MIDI-сообщениями. Вы записываете ноты, наносите отпечатки клавиш и пальцев, а компьютер, в конечном счете, все равно преобразует их в сообщения.
Что ж это за такой страшный зверь - сообщение? На самом деле MIDI-сообщения - это всего лишь закодированные числами команды органам управления синтезатором - контроллерам. Наиболее часто встречаются команды Note On (включить звучание определенной ноты в такой-то момент времени с такой-то громкостью) и Note Off (выключить звучание ноты в такой-то момент времени). Вы помните, что все MIDI-ноты пронумерованы от 0 до 127.
Кроме этих команд MIDI-сообщения могут содержать указания о смене инструмента, перестройке частотного фильтра, нажатии педали, виде и глубине эффекта, а также многое другое. Соответствие чисел командам стандартизировано. Правда, одновременно имеют хождение целых три стандарта: GM, GS и XG . Смысл основных команд в них, к счастью, совпадает.
Стандарты стандартами, но они не должны сдерживать прогресс. Продвинутые фирмы-изготовители стремятся предоставлять пользователю все новые и новые возможности управления синтезом. Для расширения функций синтезатора в MIDI предусмотрено несколько путей. Один из них -сообщения типа NRPN (нерегистрируемые параметры). Если разработчик придумывает что-нибудь эдакое, что не предусмотрено стандартом, то управление этим "чем-нибудь" можно осуществлять посредством NRPN.
В документации на звуковые карты сведения об NRPN приводятся в виде таблиц, в которых в шестнадцатеричной системе счисления содержатся значения младшего (LSB) и старшего (MSB) байтов номеров NRPN. А редакторы MIDI-сообщений, в частности, Event List программы Cakewalk Pro Audio требуют вводить номер NRPN в виде одного десятичного числа. Мне доподлинно известно, что многие музыканты отказываются от попыток использования расширенных возможностей синтеза из-за неспособности преодолеть это несоответствие. Вычисляют десятичное значение необходимого NRPN, с помощью окна Event List посылают это сообщение, и… никакой реакции со стороны синтезатора. Дело вовсе не в том, что некоторые "лирики" не в ладах с "физикой" и не знают, как перевести число из одной системы счисления в другую. Эта проблема решается элементарно, например, с помощью стандартного калькулятора MS Windows. Все сложнее и, в то же время, проще. Суть состоит в том, что посылают они сообщения буквально "на деревню дедушке", промахиваясь мимо требуемого адреса, как минимум, на 256 "домов".
"Магия ПК" - это интересно, а вот магия стереотипов - страшное дело. Все привыкли думать, что байт - это 8 бит. Однако в байте MIDI-сообщения один бит не является значащим, это бит статусный, говорящий о том, какая информация передается - MIDI-команда или MIDI-данные. По этой причине вес младшего бита старшего байта (MSB) составляет не 256, а 128. Вот и весь секрет, о котором и вы теперь будете знать. Правда, это только один из сотен секретов успешной работы над музыкой с помощью компьютера. Еще парочку тайн я выдам сегодня, а о других - в следующих выпусках журнала.
Редактор MIDI-сообщений есть в музыкальной программе каждой уважающей себя фирмы. Разработчики же программы Cakewalk Pro Audio пошли еще дальше. В окне Event List, можно редактировать не только MIDI-сообщения, но и сообщения еще нескольких типов. Среди них: тексты песен, обозначения аккордов, параметры действия символов крещендо и диминуэндо, команды воспроизведения звуковых файлов, команды управления любым мультимедийным оборудованием компьютера, привилегированные системные сообщения, позволяющие добраться до самых дальних закоулков синтезатора.
Рис. 1. Окно Event List - список сообщений
Список сообщений - это таблица. В ячейках таблицы содержится время выполнения сообщения, его тип и параметры. Редактирование содержания таблицы производится мышью с помощью меню и полей ввода.
С помощью окна Event Manger вы можете избирательно выводить на экран сообщения любых необходимых типов (рисунок дает наглядное представление о типах сообщений, поддерживаемых программой Cakewalk Pro Audio).
Рис. 2. Окно Event Manger
А если, скажем, вы захотите поместить над нотным станом символы табулатур (сообщения типа Chord), то достаточно вызвать окно редактора аккордов, а уж в нем найдется любое разрешенное теорией гармонии звукосочетание, представленное в графическом виде.
Рис. 3. Редактор аккордов
В ряду типов MIDI-сообщений особый статус принадлежит привилегированным системным сообщениям (Sysx). Посредством них осуществляется управление большинством неочевидных ресурсов любого синтезатора. Доступ к нестандартным контроллерам управления параметрами синтеза, регистрам синтезатора, эффект-процессору, загрузка в память синтезатора установок патчей и даже целых сэмплов - основой всего этого являются привилегированные системные сообщения.
Можно сказать, что все прочие MIDI-сообщения обеспечивают соответствие звуковой карты или синтезатора минимальным требованиям, а NRPN и особенно Sysx наращивают ваши возможности управления звуком сверх предусмотренных стандартом.
О том, какие системные сообщения "понимает" ваш синтезатор, можно узнать, прочитав его техническое описание. Для их редактирования пересылки и приема в Cakewalk Pro Audio предназначено специальное окно Sysx, представленное на рисунке.
Рис. 4. Работа с банками системных сообщений
Пользуясь этим окном, вы можете либо манипулировать банками системных сообщений, либо редактировать содержание отдельного системного сообщения. Во втором случае вам опять придется иметь дело с последовательностью шестнадцатеричных чисел.
Рис. 5. Редактирование содержания системного сообщения
А вот и еще один из обещанных секретов. Системное сообщение обязательно должно начинаться с шестнадцатеричного числа F0 и заканчиваться числом F7. Это границы системного сообщения. А его "начинка" определяется типом синтезатора и смыслом передаваемой информации. Например, сообщение F0 43 10 4C 02 01 00 13 00 F7 правильно поймет только синтезатор звуковой карты стандарта XG (принадлежность синтезатора к детищам славной фирмы Yamaha закодирована числами 43 10 4C). И означает оно, что для эффект-процессора выбран вариант реверберации, имитирующий акустическую обстановку мрачного подземелья.
А теперь раскрою третий даже не секрет, а небольшой такой секретик. Системные сообщения часто хранятся в MIDI-файлах и загружаются вместе с ними. Почти наверняка в начале каждого файла, "скачанного" из INTERNET, хранится сообщение о системном сбросе. Так вот, подобные сообщения для звуковых карт, соответствующих стандартам GM, GS и XG, различны. И если вдруг при воспроизведении очередная отлично знакомая вам MIDI-композиция звучит не похоже на саму себя, очень может быть, что в предыдущей композиции содержалось сообщение о сбросе для другого стандарта, а не того, что поддерживается вашей звуковой картой. Как с этим бороться? Либо записывайте в начало всех ваших композиций одно из системных сообщений GMSYSTEM.SYX, GS-RESET.SYX, XG-RESET.SYX (то, которому соответствует ваша звуковая карта), либо посылайте его в реальном времени перед воспроизведением очередной композиции с помощью окна Sysx.
Техника работы со списком сообщений и редактором системных сообщений не сложна. Главное заключается в другом: нужно знать, какое именно сообщение и с какими параметрами уместно в том или ином случае. В краткой статье об этом рассказать невозможно. Необходимо, как минимум, несколько десятков страниц. Могу посоветовать обратиться к нашей книге "Cakewalk Pro Audio 9. Секреты мастерства", в ней вы:
* Найдете материал о сообщениях, которыми можно изменить диапазон колеса перестройки тона, переключить тип реверберации и хоруса в MIDI-устройствах фирм Roland и Yamaha, в звуковых картах SB Live! и Turtle Beach Tropez Plus
* Узнаете, что такое регистрируемые и нерегистрируемые параметры, и как с их помощью управлять контроллерами, в явном виде недоступными
* Познакомитесь с методикой безошибочного вычисления номера контроллера по его младшему и старшему значащим байтам с использованием калькулятора MS Windows для перевода чисел из шестнадцатеричной в десятичную систему счисления и обратно
Конечно, можно и не пытаться освоить редактирование сообщений, а работать только с нотами и отпечатками клавиш. Но, во-первых, без редактирования сообщений вам не удастся точно установить значения многих параметров синтеза звука, значит, и в музыке ваш замысел до конца не будет воплощен. А во-вторых, процентов, этак, 90 возможностей звуковой карты вам будут просто недоступны. За что, спрашивается тогда, столько "у.е." платили?
Треки и клипы
У каждой из рассмотренных форм компьютерного представления музыки есть свои достоинства. Все вместе они позволяют эффективно решить любую проблему понотного редактирования. Но в любом музыкальном редакторе профессионального уровня музыкальная информация может быть представлена не только отдельными нотами или сообщениями, но и в виде блоков сообщений. Такими блоками могут считаться треки и клипы.
Трек - это группа сообщений, направляемая в определенный канал и порт вывода - MIDI или аудио. А клип - это группа сообщений, с которой можно производить операции редактирования, как с единым целым.
На рисунке вы видите окно Track программы Cakewak Pro Audio. Его левая часть - это секция треков. Для каждого их них нужно задать несколько атрибутов: номер и имя трека; его состояние (заглушен или звучит, солирует, подготовлен к записи); порты ввода и вывода; закрепленные MIDI-инструмент и MIDI-канал; громкость; панораму, интервал транспонирования, смещение событий относительно тактовой сетки.
Рис. 6. Окно Track программы Cakewak Pro Audio
Прямоугольники (вообще-то цветные) в правой части окна - клипы.
В одном предельном случае клип - это одно сообщение, в другом - вся композиция или как мы говорим, весь сонг. Но практическое применение находят только клипы, объединяющие в себе часть композиции. Примеры клипов:
* Один или несколько тактов нескольких треков
* Один трек
* Несколько треков
* Логически завершенный фрагмент композиции, скажем, куплет или припев
Технология клипов в сотни раз ускоряет работу компьютерного музыканта. В каких ситуациях? Например, записали вы 4 такта барабанной партии, выдели их в отдельный клип и путем копирования размножили клип так, что образовалась партия, насчитывающая десятки, а то и сотни тактов.
Или: записали один куплет и один припев песни, выделили это в клип и размножили в необходимом количестве экземпляров.
Еще один пример. Записали солирующую партию в исполнении фортепиано. Захотелось найти какой-то оригинальный тембр. Вот он - синтезированный звук плачущей флейты! Но у этого звука большое время атаки, он медленно нарастает. Создается впечатление запаздывания. Хорошо бы сделать так, чтобы ноты этой партии брались с небольшим опережением. Если вы не работаете с клипами, то станете передвигать каждую ноту, на что уйдет уйма времени. Да еще придется делать это не один раз. А вот после объединения партии в клип, все ноты вы сможете переместить одним легким движением руки с мышью.
И MIDI-, и аудиотреки в окне Track можно разбить на клипы. Клип можно скопировать, вырезать, мышью перенести в любое место партитуры. Можно применить к выделенному клипу любую обработку, MIDI или аудиоэффекты (о них я обязательно расскажу в будущем). Несколько клипов можно объединить в один.
Особенно интересна технология связанного копирования клипов, когда любое изменение в одном из связанных клипов автоматически распространяется на все остальные. Очень это удобно при редактировании однотипных фрагментов, скажем, куплетов.
Мы с вами, уважаемый читатель, хоть и компьютерные, но все же музыканты. Образные выражения в нашем общении допустимы. Поэтому скажу, что клипы и треки - это средство обзора композиции в целом, с высоты птичьего полета. Это не только наглядное графическое отображение структуры партитуры, но и возможность быстрого и легкого переноса партий и их фрагментов во времени и пространстве музыкального произведения.
Клипы и треки - это, по сути дела, инструменты дирижера. Причем, виртуальные оркестранты этому дирижеру подчиняются безоговорочно, замысел его понимают абсолютно и воплощают в музыке идеально.