Вместо вступления
Я давно увлекаюсь MIDI-технологией. Первое мое знакомство с электронной
музыкой состоялось более 10 лет назад. Причем оно сразу было компьютерным.
MIDI-инструмента (клавиатуры) тогда у меня не было, а был простой Commodore 64.
С тех пор через слоты моего PC прошло немало звуковых карт. С появлением Windows
все опыты с трекерами были забыты. Теперь же, как мне показалось из прочитанных
мною статей, ситуация изменилась, и появились очень неплохие трекерные
программы. Хочу сказать сразу, что никакого энтузиазма эти сообщения у меня не
вызвали. Однако любопытство все-таки возобладало, и я скачал несколько программ.
Собственно после их изучения я и подвигся на написание данной статьи.
Итак, начнем сначала
Ничего, кроме записи и воспроизведения событий, для музыки не придумано. И
вряд ли будет придумано, поскольку музыка представляет непрерывный ряд событий.
Для реального композитора и музыканта-исполнителя — это ноты. Для виртуального
(компьютерного) музыканта — это события, записанные в специальных программах —
секвенсорах, трекерах или других. MIDI-секвенсоры используют так называемые
списки событий (event lists), а трекеры — шаговую сетку. Самой минимальной
информативностью, как это ни парадоксально звучит, обладают ноты со своею сеткой
— нотным станом, тактами и долями. И только искусство исполнителя дает этим
безжизненным точкам и палочкам ту силу, которую мы называем «живой звук». Все
остальное, то есть то, что не сыграно живым человеком, — это не «живое»
исполнение, а лишь его имитация. Однако вопрос, насколько эта имитация близка к
живому звуку, является не единственным, а иногда даже и не основным. С одной
стороны, имитировать живой звук все-таки достаточно сложно, а порой и просто
невозможно. С другой стороны, современные направления музыкальных форм и стилей
настолько далеки от живого звука, что просто таких задач перед сторонниками этих
направлений уже и не стоит. Именно поэтому мне сначала показалось, что дискуссия
между трекерщиками и «мидийцами» сводилась именно к обсуждению наибольшей
пригодности их технологий к тому или иному музыкальному стилю. Но к сожалению,
не все так просто. Несмотря на то, что в настоящее время существуют три
спецификации MIDI, их «чистое» использование встречается все реже. С появлением
звуковых карт, процессоров и секвенсоров, способных обслуживать многочисленные
аудиопотоки, родился симбиоз MIDI-аудио, а затем стали обходиться вообще без
MIDI. Сами события MIDI, как правило, не привязаны к конкретному устройству,
поэтому совершенно не важно, на чем они будут воспроизводиться, однако чем
лучшего качества вы используете синтезатор, тем лучшее качество вы получите на
выходе. Одно из ограничений, которое имеет любой синтезатор — это полифония. Но
синтезаторов может использоваться несколько. Это, естественно, дороже, но тут уж
ничего не поделать. (Я использую здесь слово синтезатор в широком смысле, а не
только как звуковую карту или внешнее устройство.) Любой инструмент в любом
банке должен быть заранее настроен и сбалансирован в своем диапазоне звучания.
Это первое необходимое условие для работы с MIDI. Теперь посмотрим, что собой
представляет трекер. (Я умышленно не называю ни конкретных аппаратных устройств,
ни программ, потому что данная статья — это попытка рассмотреть проблему в
целом.) Основная задача аппаратной части трекера — это обслуживание
аудиопотоков. С появлением относительно дешевых звуковых карт, выполняющих эти
функции, расширились возможности MIDI-секвенсоров, а трекеры стали более
совершенными. Формат модуля (звукового файла, содержащего события и сэмплы)
трекера также не привязан к конкретному устройству. Особых различий в
использовании инструментов между MIDI-синтезаторами и трекерами также нет.
Доступными регулировками (громкость, панорамирование, фильтры, кривая огибающей,
изменение параметров петли, транспонирование и другими) можно при желании
достигнуть более или менее приемлемых результатов, но результат всей этой работы
останется только на вашей совести. Регулировками в трекере можно добиться и
мультисэмплинга, и многослойности. Разница состоит лишь в том, что в трекерах на
первое место встает вопрос, где достать хороший исходный звуковой файл, как
создать хороший инструмент и как заставить все это прилично работать в системе.
Однако при работе с трекерами такой проблемы, как полифония в MIDI, пока не
возникает.
События
Сначала маленькое замечание. Когда я писал о том, что события MIDI не
привязаны к конкретному устройству, это была одновременно и правда, и ложь.
Каждое устройство MIDI должно соответствовать одной из спецификаций MIDI, а
события в списке событий очень часто имеют отношение к этим стандартам. Поэтому
при использовании устройств, не соответствующих значениям событий, мы не сможем
получить полное соответствие. Строго говоря (если мы не сводим MIDI-файл к
прослушиванию в виде файла звукового формата) MIDI-файл должен проигрываться на
том же устройстве, на котором он первоначально был написан, с использованием тех
же инструментов. То же самое замечание можно отнести и к файлам трекеров, но с
небольшой оговоркой. Если основных стандарта MIDI всего три, то форматов
трекерных модулей можно насчитать десятка полтора. Причем если формат MIDI-файла
(mid, wrk, kar и др.) в целом не зависит от используемого стандарта, а основным
является формат mid, то формат трекерного модуля представляет собой тот или иной
стандарт. Сами звуковые файлы входят в модуль трекерного файла, а от формата
зависит, какими именно событиями (эффектами) вы сможете оперировать в процессе
создания композиции. Именно поэтому на любой звуковой карте любой трекерный файл
должен звучать одинаково (другое дело — с помощью какой программы его
проигрывать). Таким образом, очень грубо можно представить, что формат (модуль)
является аналогом спецификаций MIDI, а события, описываемые в шаговой сетке —
это аналоги событий в списке событий MIDI-секвенсора.
Можно ли сравнить по количеству и качеству описываемых событий файл MIDI и
трекер? Я бы затруднился ответить на этот вопрос. И вот почему. Например, в
эффектах модулей IT описывается 26 событий. Если это количество сравнить с
количеством сообщений Control Change, то в спецификациях GM их 7, GS — минимум
17, XG — 29. Казалось бы, можно сказать, что трекер выше GM и GS, но хуже XG. Но
такое сравнение очень примитивно. И не только потому, что для трекеров
неприемлемы, например, понятия системных сообщений. (Какое их количество в GS и
XG, я просто ответить не смогу — не считал и не знаю.) Сами эти события являются
просто несравнимыми ни в количественном, ни в качественном отношении с эффектами
модулей. Кроме того, для реальных устройств MIDI минимальные требования
стандарта очень часто перекрываются в полтора-два раза. Ну и в конце концов,
наверное, дело не в количестве ручек, контроллеров и SysEx, а в том, как они
используются.
Запись событий
Это один из самых сложных и ответственных моментов создания композиций. Для
этого применяется или запись в реальном времени, или используются готовые
шаблоны. Здесь и автоаранжировщики с множеством стилей, и драм-машинки, и многое
другое. Процесс в целом одинаков и для «мидийцев», и для трекерщиков, и все
зависит исключительно от сообразительности и мастерства. Здесь бы я только
отметил вот что. Трекерщик привязан к сэмплам и паттернам и пишет в один канал
по одной ноте (хотя сэмпл или инструмент может представлять собой и готовый
аккорд). Мидийщик же думает готовыми инструментами и квадратами (законченными
мелодическими фразами) и пишет в канал готовую партию. Паттерн — это жесткая
сетка, состоящая из 64 строк. Какой длительности соответствует один шаг сетки,
мне, к сожалению, выяснить так и не удалось. По всей видимости, он соответствует
1/16. При этом никаких более мелких дискретов (или сдвигов) внутри сетки не
допускается. На одном канале в трекере одновременно может звучать только один
звук сэмпла (инструмента). Для того, чтобы в трекере зазвучал септаккорд,
необходимо использовать 4 канала, или на одном канале использовать сэмпл
септаккорда. И то и другое — вещь немного непривычная для мидийца. Если
рассмотреть возможности пресловутого Cakewalk, то его сетка равна 384 (так
называемый тик) на одной четверти. Теперь понятно, откуда эта механистичность и
«бесчеловечность» трекерных произведений. А что касается каналов трекеров, то
это нечто среднее между каналом MIDI-системы и треком секвенсора. Прямых
аналогий здесь нет. Почему? Когда несколько треков находятся в одном MIDI
канале, то управление все равно будет канальным, а не трековым. Однако я не
думаю, что данное преимущество трекера является неоспоримым. Мне просто трудно
представить себе, зачем, например, панорамировать и нагружать разными эффектами
каждую ноту септаккорда, взятого на одном инструменте, если септаккорд разбит на
4 канала. Использование таких возможностей трекера может еще более отдалить
композицию от реализма. Но это мое субъективное мнение. Ведь задумки композитора
могут быть самыми разными. И лучше о них не спорить, а послушать результат.
Воспроизведение
Известно, что качество воспроизведения трекерной композиции в значительной
мере определяется программой, с помощью которой это производится. Для
MIDI-файлов такой проблемы не существует. Синтезатор MIDI (не виртуальный)
реагирует на передаваемые ему события из читаемого файла и обрабатывает их на
своем аппаратном уровне. Здесь главным является то, чтобы файл был правильно
составлен и прочитан. Именно поэтому возникают проблемы воспроизведения
некоторых псевдо-XG- и GS-файлов на правильных секвенсорах и проигрывателях, с
одной стороны, и правильных XG- и GS- файлов на «кривых» проигрывателях, с
другой. А теперь представьте себе (реально это сделать невозможно) WaveLab,
которому надо воспроизвести одновременно 5 звуковых файлов, причем на каждый
должно быть наложено не менее пяти различных эффектов в реальном времени. С
такой нагрузкой (выполнение расчетов по алгоритмам Steinberg) не справится ни
один процессор. Мне пришлось прослушать исполнение модулей несколькими
программами, включая и специальные проигрыватели. Больше всего (мое субъективное
мнение) мне пришелся по душе ModPlugTracker. А вот совершенно отвратительное
впечатление произвел MadTracker. Почему такое происходит? Ведь хваленые Live и
Aureal обеспечивают… (не хочется повторять все характеристики карт). Проблема
здесь не в количестве аудиопотоков, которые способна принять и обработать
звуковая карта, а в том, что ни один трекерный стандарт не реализован аппаратно.
И никакие DS3D, EAX и A3D к этому отношения не имеют. Или пока не имеют.
Многообразие используемых модулей лишь усугубляет положение. Именно поэтому
проигрывание модулей на «универсальных» проигрывателях типа WinAmp могут
вызывать большие нарекания. Мне хотелось здесь написать про использование 8- и
16-разрядных сэмплов, шумах квантования, динамическом диапазоне, нормализации,
дизеринге и прочих вещах. Но поскольку все это имеет отношение и к трекерам, и
табличным синтезаторам, я решил эту тему в данной статье вообще не развивать.
Слишком уж она большая. Да и те модули, которые мне удалось обнаружить для
прослушивания (все имели 8-разрядные сэмплы), скорее всего, не являются самыми
лучшими среди трекерных композиций. Все эти композиции были составлены только из
сэмплов, без использования сложных инструментов. Так что я полагаю, что мне
просто не повезло. А жаль.
Работа с внешними устройствами
Внешними устройствами могут выступать MIDI-клавиатуры, тон-генераторы,
компьютеры, аналоговые источники и др. Что касается устройств, имеющих интерфейс
MIDI, то здесь обычно никаких проблем не возникает. А вот синхронизация MIDI и
аналоговых систем до сих пор остается задачей не разрешенной. К сожалению,
никакие способы синхронизации до конца решить эту проблему не могут. Мне,
конечно, могут возразить и привести примеры хорошего подбора программ, на
которых эта задача решена. Я не стану говорить ни да, ни нет. Все это частные
случаи. Общая же задача синхронизации будет решена только в том случае, когда
будет создана операционная система, которая будет стабильно работать в реальном
времени. Или когда будет создана система с таким быстродействием, где никакие
прерывания (аппаратные и программные) не смогут нарушить синхронизацию. Или
когда будет обеспечена приоритетная обработка нужных звуковой плате прерываний,
что достигается изменением почти всех кодов существующей операционной системы...
Если говорить о трекерах, то для них (насколько мне известно) не ставилась даже
задача синхронной записи и воспроизведения аудиодорожек. Но ведь и для
MIDI-секвенсоров эта задача была решена (если ее можно считать решенной до
конца) относительно недавно.
Выводы
Во-первых, споры по поводу, что лучше и что хуже (MIDI или трекеры),
совершенно беспредметны. В каждой технологии есть свои преимущества и свои
недостатки. У какой технологии недостатков или преимуществ больше — это скорее
вопрос привычки и вкуса.
Во-вторых, если для кого-нибудь на первое место выходит реалистичность
звучания, то для любой технологии получить действительно реальный звук очень
сложно. Однако использование готовых инструментов в системе MIDI мне кажется
более удобным. Трекерщики, конечно, могут со мной не согласиться. Но мне самому
приходилось неоднократно создавать в специальных редакторах инструменты для
синтезаторов. Могу сказать, что это занятие весьма трудоемкое и кропотливое.
Поэтому если кто-нибудь мне скажет, что этот процесс осуществляется быстро,
удобно, наглядно и доставляет удовольствие, то позвольте не поверить. Хорошее,
сбалансированное звучание инструмента получить за несколько минут невозможно.
Видимо, именно поэтому трекерщики (уж извините) привыкли заимствовать друг у
друга хорошие сэмплы и готовые инструменты. И хорошо, если данный инструмент
сделан действительно специалистом. Для MIDI-синтезаторов, наоборот, практически
все банки и инструменты подготовлены специалистами. И поэтому хороший синтезатор
стоит дорого. Если же реалистичность звучания у вас не на первом месте, и вы не
собираетесь ее добиваться, тогда вам тем более все равно, на чем писать ваше
произведение. Используя MIDI вы точно так же можете испортить его, как и,
используя трекер, выполнить все безукоризненно.
В-третьих, работа с трекером в целом мало чем отличается от работы с
секвенсором MIDI. Единственная разница — степень разрешения, то есть та сетка
событий, с которой работают данные программы и точность, с которой
воспроизводятся сэмплы (инструменты) и эффекты. Ну, да это дело наживное.
Возможно, в скором времени мы увидим трекер, который будет лишен всех отмеченных
недостатков. Но тогда чем он будет отличаться от секвенсора? А разве у
секвенсоров нет своих недостатков?
И еще одно маленькое наблюдение, напоследок. В некоторых трекерных программах
имеется функция экспорта и импорта MIDI-файлов. Разработчики же MIDI-секвенсоров
относятся к чужим форматам более сдержанно. К чему бы это?
Статью можно обсудить в форуме.