|
Способ представления музыки в MIDI оказался настолько удобным и
популярным, что уже в середине 80-х практически не выпускалось инструментов
без его поддержки, а в новых операционных системах - в том числе
Windows и OS/2 он был реализован в качестве одного из стандартных
элементов ОС. Это очень важно, так как позволяет создавать программы,
работающие только со стандартными системными функциями посылки и
приема сообщений, а преобразование этих функций в команды конкретной
интерфейсной или звуковой карты выполняется драйвером - специальной
программой из комплекта карты. Таким образом, однажды разработанная
программа заведомо будет работать с любой интерфейсной или звуковой
картой и любым внешним инструментом.
Реализация
MIDI в Windows и OS/2 использует понятие порта, эквивалентного разъему
на обычном "железном" инструменте. Все сообщения, направляемые
в порт вывода (MIDI Out), воспринимаются ответственным за него драйвером
и либо пересылаются на реальный интерфейс, оканчивающийся настоящим
разъемом, либо преобразуются в команды для встроенного синтезатора
звуковой карты, либо отрабатываются самим драйвером, который в этом
случае работает как имитатор синтезатора, самостоятельно создавая
цифровой звук одним из методов синтеза и выводя его уже через звуковой
канал обычной звуковой карты или даже на встроенный динамик-пищалку.
Соответственно, все сообщения, приходящие по реальным кабелям на
интерфейсную карту, воспринимаются ее драйвером и направляются в
порт ввода (MIDI In), откуда могут быть считаны любой программой.
Существуют
также драйверы, не связанные с реальным оборудованием, предназначенные
для создания "виртуальных MIDI-кабелей", соединяющих различные
порты прямо внутри системы. В совокупности все это сильно напоминает
сеть - а MIDI-интерфейс, по сути, как раз и позволяет создавать
сети из музыкальных инструментов.
Практически
каждая звуковая карта сейчас содержит хотя бы внешний MIDI-интерфейс,
к которому через специальный адаптер может подключаться любое количество
MIDI-инструментов (в том числе - и другой компьютер с подобным адаптером).
При установке таких карт в системе порождается два MIDI-порта -
Ext In и Ext Out (или с подобными названиями). Если карта допускает
установку дочерней платы-синтезатора, которая, по существу, является
ни чем иным, как звуковым модулем синтезатора "в чистом виде"
- для общения с такой платой обычно используются те же порты (в
основном - только Out, ибо большинство дочерних плат не умеет генерировать
сообщений), и при посылке сообщений в этот порт будут одновременно
звучать как дочерняя плата, так и внешний инструмент. Некоторые
карты имеют раздельные интерфейсы для дочерней карты и внешнего
инструмента - в этом случае MIDI-портов в системе будет больше.
Для
карт со встроенным FM-синтезатором (которых опять же большинство)
в системе появляется его собственный порт - с именем FM Synth, OPL-3
Music Synthesizer, или подобным; для карт с более мощным синтезатором,
которые я называю комбинированными, появляется порт с именем вроде
Wavetable Synth, Advanced Wave Effects и т.п. Сообщения, направляемые
в эти порты, не выходят за пределы компьютера - они сразу же направляются
на встроенные синтезаторы карты.
Благодаря
системе портов в систем несложно создать специальные виртуальные
MIDI-устройства, которые обрабатывают проходящие через них сообщения
- например, разделяют ноты, пришедшие с одной MIDI-клавиатуры, на
две или более областей, направляя каждую область в свой канал порта
вывода, что позволяет играть на одной клавиатуре в две или четыре
руки разными тембрами, или преобразуя каждую ноту в аккорд, добавляя
к ней дополнительные ноты.
Однако
наиболее плодотворное использование MIDI получается не при живой
игре, а путем применения секвенсоров - независимых устройств или
компьютерных программ, способных запоминать все приходящие сообщения
(разумеется, с сохранением их временных положений), а затем многократно
воспроизводить по команде. Такая система подобна механическому пианино,
в котором при игре на клавишах пробиваются отверстия в перфоленте,
а затем по этой же перфоленте пианино может довольно точно "сыграть"
произведение. По сути, секвенсор записывает ни что иное, как партитуру
исполняемого произведения в виде, напоминающем программу для станка
с ЧПУ или компьютера. За исключением того, что каждая нота записывается
парой сообщений - о нажатии и об отпускании клавиши - такая запись
почти не отличается от обычной нотной.
Первые
секвенсоры выпускались в виде самостоятельных устройств, затем их
стали включать в состав инструментов, получая рабочую станцию композитора,
арранжировщика и исполнителя, а сейчас наиболее популярны компьютерные
секвенсоры - например, Cakewalk для IBM PC и Cubase для IBM PC и
Atari. С их помощью можно записать каждую партию на отдельную дорожку,
подправить неточно сыгранные ноты или динамику перемещения рукояток,
выборочно заглушать отдельные дорожки или, наоборот, отдельно слушать
соло каждой дорожки, транспонировать, сдвигать, менять длительность
и динамику как на уровне отдельных нот, так и фраз, партий или всего
произведения целиком. Многооконный интерфейс отображает партитуру
в различных представлениях - как традиционном нотном, так и в виде
списка MIDI-сообщений или схематичном звуковысотном виде. Современные
секвенсоры имеют и ряд возможностей звуковой студии, позволяя записать
на отдельные дорожки цифровой звук - голос певца или игру на акустической
гитаре - с последующим редактированием уже на уровне звуковой волны.
Важно
понимать, что с точки зрения обмена MIDI-сообщениями совершенно
неважна физическая реализация передатчика и приемника - имеет значение
лишь смысл команд и направление передачи сообщений. Под словами
"инструмент" и "синтезатор" могут пониматься
как традиционные инструменты с клавиатурой или тонгенераторы, подключенные
ко внешнему интерфейсу кабелями, так и встроенные синтезаторы звуковых
карт, программные имитаторы или устройства обработки. К тому же
устройство, имеющее способность издавать звук, не всегда будет делать
это при получении сообщений - например, оно может быть настроено
только на их пропускание сквозь себя или запоминание во внутренний
блок памяти.
Еще
нужно подчеркнуть, что по MIDI не передается звук - по нему передаются
только сообщения, при получении которых инструмент может его издавать.
Иначе говоря, соединив инструмент и компьютер MIDI-кабелями, вы
только обеспечиваете "электронный" способ управления им;
звук же по-прежнему снимается со звукового выхода инструмента. Это
говорит еще и о том, что сам характер звука - набор тембров, их
окраска или натуральность, соотношение между голосами - будет в
общем случае индивидуален для каждого инструмента или музыкальной
карты, и если внутри одной серии инструментов еще наблюдается какое-то
однообразие, то между сериями и тем более - инструментами различных
производителей - его почти не бывает. Кроме этого, большинство современных
инструментов и карт позволяет использовать собственные наборы (банки)
тембров, еще больше усугубляющих эти различия.
Ассоциация
производителей MIDI-инструментов (MMA) в какой-то мере попыталась
сгладить эти различия, введя стандарт General MIDI - единый MIDI,
или GM. Инструменты, соответствующие этому стандарту (а ему уже
давно соответствуют все MIDI-инструменты), обязаны иметь качественно
одинаковый набор из 128 мелодических (пианино, арфа, клавесин, органы,
гитары, струнные, духовые, эффекты и т.п.) и 37 ударных (эстрадная
ударная установка, тамбурины, конги, треугольники и т.п.) тембров,
а также реагировать на базовые команды управления звуком (громкость,
панорама, модуляция и т.п.). Однако эта общность соблюдается лишь
в отношении типов тембров, ибо разные инструменты с совершенно одинаковым
звучанием никому не нужны, и основную прелесть популярных моделей
синтезаторов составляет именно их "фирменное" звучание
в сочетании с возможностями обработки звука. Поэтому и исполнять
MIDI-партитуры желательно на тех инструментах или музыкальных картах,
для которых они были написаны, а при исполнении на других - не обижаться
на "неправильное" звучание тех или иных тембров.
Поскольку
GM является предельно простым стандартом, практически каждый новый
инструмент в этом стандарте имел сверх него как дополнительные банки
тембров, так и собственные команды управления синтезом звука. При
этом одинаковые по смыслу команды оказывались по-разному представленными
в разных инструментах, что затрудняло их запоминание и использование.
С целью упорядочения банков инструментов и способов управления синтезом
фирма Roland ввела стандарт General Synth (GS), описывающий конфигурацию
двенадцати дополнительных банков (содержащих в основном вариации
основных тембров и звуковые эффекты вроде взрывов, хохота или шума
дождя), команды управления портаменто (глиссандо), эффектами реверберации,
хора и задержки, резонансным фильтром (эффект типа кваканья) а также
раздельной настройки звучания ударных тембров.
Около
трех лет назад фирмой Yamaha на частичной основе GS был разработан
более широкий стандарт XG (eXtended General - расширенный единый),
включающий 676 мелодических и 11 наборов (kits) ударных тембров,
с чрезвычайно широким набором команд управления как параметрами
самих тембров, так и дополнительной обработкой исполняемой музыки
(эффекты реверберации, хора, задержки, вращающегося источника звука
и другие). Очень важно, что для инструментов стандарта XG декларирована
одинаковость основных характеристик тембров - относительной громкости,
времени нарастания и затухания, спектрального состава, благодаря
чему партитура, созданная на одном XG-синтезаторе, практически идентично
звучит и на других, разве что более старшие модели звучат более
качественно и натурально.
В заключение
нужно сказать, что даже не очень дорогие музыкальные карты и дочерние
платы нередко обладают не меньшим потенциалом, чем "серьезные"
инструменты; основная разница заключается в том, что если хороший
и дорогой инструмент содержит качественные аналоговые цепи, имеет
тщательно подобранные наборы тембров, сопровождается подробной документацией
и т.п., то большинство карт содержит минимальный набор тембров,
цепи среднего качества и достаточно бедную документацию. Дополнительные
тембры, программы и описания нужно либо приобретать отдельно, либо
искать или изготавливать самостоятельно.
Например,
известная группа карт Sound Blaster AWE на самом деле обладает достаточно
мощным синтезатором, звучание которого при грамотном применении
удивляет даже давно знакомых с этими картами (хотя, по правде говоря,
это относится ко всем без исключения музыкальным инструментам).
А вот не так давно появившиеся платы Yamaha XG уступают своим "старшим
братьям" - тонгенераторам MU10, MU50 и MU80 - только в общем
качестве звука и полифонии, а в части управления звуком их возможности
практически идентичны.
© Евгений Музыченко
Новосибирск |
|