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


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

   Далеко не все параметры MIDI-инструмента мы можем изменить при помощи MIDI-контроллеров. Для кардинального и глубокого изменения установок и режимов работы синтезаторов служит группа MIDI-сообщений, стоящая несколько особняком от остальных. Это MIDI System Exclusive которые при правильном использовании могут сильно облегчить и ускорить работу, а при неправильном - прибавить головной боли. Сегодня мы поговорим об этих сообщениях подробнее.



   Хочу поблагодарить читателей, чьи вопросы пришли после выхода предыдущего номера журнала "Шоу-Мастер", на которые я тогда не смог ответить, но отвечу сейчас.

   Читатель Андрей Владимирович Тяботин из города Нефтекамск, являясь пользователем компьютера IBM PC 486 DX4-100, в качестве тон-генератора использует карту Gravis Ultrasound Max. "При работе в MIDI-секвенсерах под WIN`95 (Cakewalk 3.0), - пишет Андрей Владимирович, - у меня "съедаются" ноты, в основном перкуссия. Предполагаю, что недостаточно оперативной памяти (8 мБ) или перегружена MIDI-система. Так ли это?" Попробуем разобраться, что же здесь происходит. Нехватка оперативной памяти компьютера вряд ли может вызвать такие проблемы. Если бы памяти не хватало, то секвенсерная программа просто бы не запустилась или вывалилась с сообщением об ошибке. Объемы MIDI-информации относительно малы. Если бы у нашего читателя в программу была загружена непрерывная MIDI-симфония длиной часа полтора, то при возможной нехватке памяти программа могла бы отказаться записывать новые партии, но играла в любом случае корректно. Такое частенько бывало при работе на Atari с одним мегабайтом памяти.

   Моделируем ситуацию дальше. "Съедание" нот происходит, как правило, из-за нехватки голосов полифонии инструмента. Очень часто, нажатием одной клавиши мы активируем не один, а два или даже больше голосов. Например если мы играем на звуках класса "PianoString", то нажав одну ноту, на выходе мы слышим сразу два тембра: фортепиано и скрипичную группу. Взяв на этом сложном составном тембре аккорд из трех нот, мы "отъедаем" соответственно сразу шесть голосов полифонии. Многие подобные звуки состоят из трех, четырех и больше одновременно звучащих голосов. Выглядит на слух все это, естественно и бесподобно, но при этом число свободных голосов полифонии тает как снег на ладони. Представим, что у нашего синтезатора полифония составляет 32 голоса. Это значит, что мы не можем заставить его проигрывать больше 32 голосов одновременно. Секвенсер запущен, играет наша "затыкающаяся" композиция. На MIDI-вход инструмента (пусть даже виртуальный - посредством внутренних драйверов) диким количеством валятся MIDI-сообщения. В творческом порыве, записав таким образом десяток каналов, мы не замечаем как превышаем максимальное число одновременно звучащих голосов. И вот у нас начались "затыкания". Чаще всего затыкаются ноты с достаточно большой длительностью: скрипки, фортепианные тембры, подклады, из ударных чаще всего тарелки. "Затыкание" нот с небольшим временем звучания заметно на слух гораздо меньше. Теперь разберемся, как собственно происходит это "затыкание". Синтезатор или наша звуковая карта просто обязаны проигрывать все ноты по мере их поступления. Самым естественным, и поэтому основным алгоритмом прекращения звучания нот при поступлении на вход инструмента их большого количества является метод Last Note Priority - приоритет последней взятой ноты. То есть в нашем случае при 32-голосной полифонии тридцать третья нажатая нота автоматически вызовет прекращение звучания первой нажатой ноты (естественно, в случае игры простым тембром, когда нажатие одной клавиши активирует только один голос). Чтобы решить проблему, надо внимательно просмотреть, сколько нот играют у нас в аранжировке в каждом секвенсерном канале в том месте, где происходит "затык". Наиболее простой способ следующий. Оставьте включенным "затыкающийся" канал, остальные отключите. Если есть "затыкания", то это означает, что вы уже одной партией перекрыли всю доступную полифонию. Но будьте внимательны - полифония на этом канале может быть принудительно ограничена! Во многих инструментах есть возможность специально устанавливать минимальное и максимальное количество звучащих нот для каждого конкретного MIDI-канала. Например, ведущая роль в нашей композиции принадлежит барабанам, можно легко подсчитать, сколько нам необходимо для этой партии голосов. И зарезервировав в синтезаторе для этого канала необходимое нам число голосов, мы наверняка предотвратим какое бы то не было пропадание звука. Но если мы возьмем на одну ноту больше, то даже при имеющимся запасе полифонии на всем инструменте у нас начнутся проблемы. Если все нормально, идем дальше. По очереди включайте оставшиеся каналы. Когда при включении очередного канала начнутся пропадания, то вполне возможно, что этот-то канал и вызывает "затыкания". Для очистки совести попробуйте включать оставшиеся каналы в другой последовательности и внимательно смотрите, что будет происходить. Из опыта студийной работы я знаю, что при появлении симптомов перенасыщения полифонии, выйти из создавшейся ситуации можно только перекидыванием каких-либо каналов на другие инструменты. Если позволяет оборудование, можно скинуть часть партий на многоканальный магнитофон, разумеется при наличии свободных каналов. А лучше всего аккуратнее относиться к аранжировке и внимательнее подбирать звуки. Потому, что как философская категория, полифония, то есть многоголосие, сильно развращает. Если вам не хватает средств музыкальной выразительности, не следует их искать в увеличении количества партий инструментов и голосов. Ищите более выразительные мелодии и побочные партии, более подходящие звуки, разумное ритмическое заполнение. Но все таки столкнувшись с этой проблемой, не отчаивайтесь, дело поправимо.

   Читатель Валерий Коробков из Минска спрашивает, какой IBM-совместимый компьютер лучше всего приобрести для работы с MIDI секвенсером.

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

   А теперь давайте вернемся к теме нашего сегодняшнего урока - MIDI System Exclusive сообщениям.

   На все MIDI-сообщения наложены жесткие ограничения протокола передачи MIDI-информации. Именно поэтому мы спокойно пользуемся всеми возможностями этого интерфейса. Но с System Exclusive все по другому. "Эксклюзивными" эти MIDI-сообщения называются потому, что стандарта на них не существует, стандартизирован только формат их передачи - собственно начало и конец блока System Exclusive. Каждая фирма-производитель музыкальных MIDI-инструментов придумывает свои System Exclusive команды, как ей удобнее или как удобнее программистам этой фирмы. Например, правильно подключив MIDI-клавиатуру одной модели к какому-либо тон-генератору другой модели и нажимая на клавиши, можно не беспокоиться о том, что у нас что-то не зазвучит. Не беспокоимся мы потому, что нажимая на клавиши, мы используем стандартные MIDI-сообщения: Note On и Note Off. А System Exclusive сообщения от одной модели синтезатора никогда не подойдут к другой. Понятно почему - у разных синтезаторов разная внутренняя архитектура, разное количество параметров и диапазон их изменения. Следовательно, управляем мы каждым синтезатором строго по-своему - эксклюзивно.

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

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

   MIDI System Exclusive последовательность представляет из себя цепочку импульсов, следующих один за другим с широко известной читателям MIDI-школы частотой - 31125 Гц. Объемы передаваемых таким методом данных могут быть как небольшими, так и достаточно внушительными. Следовательно, время передачи System Exclusive сообщений может быть совершенно разным: от нескольких секунд, до десятка минут; последнее случается, например, в случае перекачки сэмплов по MIDI.

   Первый байт последовательности System Exclusive называется стартовым и знаменует собой начало процесса. Он же переводит синтезатор или другое MIDI-устройство в режим приема System Exclusive. Второй, четвертый и пятый байты служат для идентификации фирмы-производителя и модели устройства - гарантия того, что вы не натворите чудес при попытке загрузить System Exclusive от одной марки синтезатора в другую - чужие System Exclusive будут синтезаторами игнорироваться. Третий байт выполняет очень нужную функцию. Представьте себе, что вы работаете с двумя одинаковыми тон-генераторами одновременно, это случается довольно часто. Вам необходимо скидывать в компьютер разную System Exclusive информацию с каждого синтезатора в отдельности и сохранять ее, скажем, в виде MIDI файла. Оба синтезатора подключены в единую MIDI цепочку. Следовательно, когда вы начнете загружать ранее сохраненные System Exclusive последовательности, оба синтезатора будут одинаково реагировать на каждую из них. Разработчики MIDI предусмотрели решение этой проблемы при помощи вот этого, третьего байта, который называется "идентификатор устройства". То есть теперь мы выставляем на наших одинаковых синтезаторах разные идентификаторы, и System Exclusive от одного не вызовет никаких возмущений в другом. Просто красота!

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

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

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

   Приведу пример. Когда около пяти лет назад московская студия "Лига" находилась в кинотеатре "Тбилиси", среди многочисленных синтезаторов, находящихся там, был и "мозг" Oberheim Matrix-1000. Мультитембральности как таковой у этого инструмента не было. На нем можно было выставить только MIDI-канал и взять только один тембр из тысячи доступных, но зато какой! При работе над одной аранжировкой, звук нужной фактуры с этого синтезатора был найден мною быстро, но для конкретного использования он подходил не совсем. По своему спектру этот тембр прекрасно вписывался в аранжировку, но недостатком была его "мягкая" атака. Если бы этот звук брался, скажем с клавиатурного варианта этого синтезатора, то сбросить параметр "Attack" в генераторе огибающей на ноль, повернув соответствующую ручку, было бы делом нескольких секунд. Здесь все обстояло гораздо сложнее. На лицевой панели синтезатора Oberheim Matrix-1000 нет никаких управляющих ручек или кнопок, служащих для редакции - изменения параметров звука. В моем распоряжении также не было ни программы Unisyn, ни других существующих программаторов. Оставалось надеяться на возможности MIDI-интерфейса. Пришлось открыть описание этого инструмента и углубиться в чтение раздела System Exclusive. Предположения мои оправдались: в Matrix-1000 существовала возможность "рулежки" звука при помощи System Exclusive. Далее все выглядело не так уж сложно - в описании к Matrix-1000, как и в описании ко многим синтезаторам, было полно примеров по составлению небольших цепочек System Exclusive. Найдя параметр Attack и записав необходимые соответствующие параметры - значения байтов фирмы-производителя, код команды, адрес и другое я активировал в Cubase MIDI Manager. Для тех, кто не работал с Cubase, MIDI Manager - это редактор, в котором мы можем создавать объекты, выглядящие на экране компьютера как кнопки, ручки переменных резисторов , фейдеры и т.д. и присвоить этим объектам функции выдачи на MIDI-выход практически любых MIDI-сообщений - изменение значений контроллеров, ProgramChange и в том числе System Exclusive. Задача передо мной стояла достаточно простая - послать на MIDI-вход Oberheim Matrix-1000 цепочку System Exclusive, которая установила бы атаку в генераторе огибающей на ноль. В Cubase MIDI Manager, мною был создан объект "кнопка". В открывшемся окошке для создания нового объекта, типом его я указал, естественно System Exclusive. Сразу же на 14" мониторе Atari появились соответствующие формату System Exclusive поля для ввода значений. Начальный и конечный байты System Exclusive, так как они стандартные, появились автоматически. Под пустыми полями для ввода значений байтов фирмы-производителя, кода команды, адреса и идентификатора устройства стояли соответствующие комментарии, поэтому забыть указать что-либо было достаточно сложно. Под предпоследним и последним полями - контрольной суммой и байтом конца System Exclusive последовательности также были подсказки. От меня требовалось только правильно и в нужные места ввести выписанные из инструкции данные и установить там же нужный MIDI-канал и MIDI-порт. Самой сложной операцией оказался подсчет контрольной суммы - надо же обязательно подсчитать сумму всех байтов и записать получившееся значение в соответствующее поле. Под рукой не было калькулятора, считающего шестнадцатеричные числа. Поэтому пришлось переводить все числа из шестнадцатеричной системы счисления в десятичную по табличке из описания к Oberheim Matrix-1000, считать их сумму, и полученное число опять переводить в шестнадцатеричную систему счисления. Приходилось максимально концентрировать внимание - ошибка могла привести к нулевому результату. В дальнейшем, разработчики учли то, что людям приходится вести трудоемкие подсчеты, которые за них с успехом мог бы выполнить компьютер. И в следующей версии Cubase - 3.01 реализовали это - перед заключительным байтом последовательности System Exclusive автоматически появлялось поле с уже посчитанной контрольной суммой. Это преимущество очевидно - хорошо, что мне было необходимо послать на Оberheim Matrix-1000 только одну System Exclusive команду. Представляете, если бы было необходимо сделать не "кнопку" с фиксированным значением, а "переменный резистор" - ведь с каждым его перемещением, изменялся бы соответствующий параметр System Exclusive и каждый раз требовалось бы заново пересчитывать контрольную сумму! В общем все, к счастью заработало сразу. Звук на Oberheim Matrix-1000 из плавно стартующего стал резко стартующим, принеся тем самым в аранжировку неповторимый колорит.

   Теперь, уважаемые читатели, вы знаете, как составлять последовательности System Exclusive. В принципе, многие примеры этого содержатся в описаниях к синтезаторам, поэтому для успешного результата, надо всего лишь подробнее их проанализировать и адаптировать для вашего конкретного случая.

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

   С помощью System Exclusive очень удобно сохранять параметры и установки синтезатора в мультирежиме. Вообще, все эти установки можно запоминать во внутреннюю память инструмента, но иногда по ряду причин это делать не очень хочется. Например, если вы взяли в аренду какой-либо синтезатор, то было бы достаточно нетактично записывать во внутренние ячейки памяти этого синтезатора свои установки. Конечно, вы потом можете вернуть все это в первоначальное состояние, но есть вероятность что-нибудь забыть, и тогда в лучшем случае, вас будут поминать недобрым словом хозяева инструмента. А если вдруг эти хозяева не очень хорошо разбираются в устройстве своего синтезатора, то поменяв и не вернув в исходное положение какой-нибудь важный системный параметр, вы рискуете больше никогда не получить этот инструмент даже во временное пользование на короткий срок. Очень удобно использовать в этом случае функцию сброса всей памяти синтезатора в компьютер, секвенсер или MIDI data filer посредством System Exclusive. Процесс перекачки данных будет занимать в этом случае несколько минут, но это даст вам возможность делать с инструментом все, что угодно. Ведь после окончания работы, вы сможете загрузить в память синтезатора сохраненную ранее System Exclusive информацию и не беспокоится, что вы что-то не вернули в первоначальное состояние. Именно так поступали мы с Андреем Литягиным при работе над ремиксами песен группы "Мираж".

   MIDI System Exclusive можно использовать еще и следующим образом. Недавно из Intenet с сервера фирмы Roland я скачал большое количество звуков для своего Roland JV-1080 в формате Raw System Exclusive. Файлы имели расширение *.syx. Для загрузки этих файлов в синтезатор мною был использован SysEx редактор из подгружаемых модулей Cubase Audio 3.0 XT. Я импортировал *.syx файл прямо в редактор (есть такая возможность), и прямо оттуда же посылал его в JV-1080. Результаты оказались хорошими - в моем распоряжении появилось некоторое количество неплохих авторских звуков, немного разнообразившее существующую библиотеку.

   Еще мне хочется рассказать вам, дорогие друзья об одном случае использования System Exclusive. На заре музыкальной деятельности в ансамбле мотологической музыки "Тайм-Аут", у меня некоторое время не было собственного инструмента - на каждый концерт приходилось выпрашивать синтезаторы у коллег клавишников. В этом были, естественно свои минусы. Приходилось нарезать на такси по всей Москве, для того чтобы забрать, а потом отдать инструмент. Вот именно с той поры основным критерием, по которому я оцениваю, годен ли тот или иной инструмент для концертной работы, стал его вес. Сейчас на концертах я в основном использую Korg X5D. У этого синтезатора непревзойденное пока сочетание цены, веса и качества звучания. Но огромным плюсом в то время было то, что мне пришлось таким образом переиграть почти на всех существующих в то время синтезаторах. И вот, наконец у меня подвернулась возможность приобрести профессиональный синтезатор за небольшую цену. Это был концертный инструмент Kawai K1, принадлежавший группе "Мираж". Небольшая цена его была следствием одного происшествия. Как-то раз, во время одного из выступлений группы "Мираж" в далеком городе N прямо во время концерта вырубилось напряжение, и в зале воцарилась темнота, нарушаемая только свистом толпы и тихим прямым звуком барабанов. Синтезатор Kawai K1 не выдержал подобного стресса и сбросил всю свою память. После того, как дали свет, на синтезаторе Kawai K1 не осталось ни одного тембра - при их переключении на экране высвечивались только порядковые номера. Продолжать игру на нем было невозможно. И тут надо отдать должное тогдашнему клавишнику группы "Мираж". Схватив свободный микрофон, он стремительно бросился к стоявшему сбоку на сцене роялю, и засунул его под крышку. Таким образом, выступление продолжилось, а все клавишные партии исполнялись на живом рояльном тембре. Но синтезатор Kawai K1 можно было починить. Нужно было только закинуть в него по MIDI звуки с другого такого же синтезатора. Другой такой же синтезатор Kawai K1 был вскоре найден. Подключив MIDI-выход синтезатора со звуками к MIDI-входу уже тогда своего синтезатора, при помощи System Exclusive за несколько секунд, мой синтезатор был наполнен чарующими тембрами. Долгое время эти звуки синтезатора Kawai K1 радовали приходящих на концерты зрителей. Этот синтезатор, кстати изображен на фотографии на первом CD ансамбля "Тайм-Аут".

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

   Напоминаю: пишите, звоните в редакцию "Шоу-Мастера". На любой вопрос есть ответ.

С эксклюзивным приветом,
Роман Мухачев

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

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