ГЛАВА 3
MIDI — это совсем несложно!

- Что такое интерфейс
- Понятие MIDI
- Для чего придумали MIDI
- MIDI-ком нутация устройств
- MIDI-сообщения и MIDI-файлы
- Типы MIDI-сообщений
- MIDI-каналы и многотембровость
- Из чего состоят MIDI-сообщения
- MIDI-секвенции и стандартные MIDI-файлы
- Стандарт General MIDI и его «близнецы»
- Набор инструментов General MIDI (GM)
- Стандарт Roland GS
- Расширенный стандарт XG

Что такое интерфейс

Приступая к описанию MIDI-интерфейса, необходимо сделать маленькое вступление, поясняющее само понятие «интерфейс» (interface). Если вы уже прочитали введение, то помните, что пользовательским интерфейсом называют способ обмена информацией между программой и пользователем. Интерфейсом вообще называют то, что обеспечивает обмен информацией между различными аппаратными или программными средствами. Это может быть и какое-либо физическое устройство, и программный элемент, и целый комплекс, содержащий и то, и другое, причем зачастую не в единственном числе.

Например, обмен данными между компьютером и принтером обычно осуществляется с помощью параллельного интерфейса Centronix, между компьютером и сканером — с помощью интерфейса SCSI, а программные приложения с ОС Windows 98 часто взаимодействуют с помощью программного интерфейса приложений (application program interface — API).

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

Понятие MIDI

Для чего придумали MIDI

Аббревиатура MIDI означает «Musical Instruments Digital Interface», то есть цифровой интерфейс музыкальных инструментов. Иногда в отечественной литературе его называли «ЦИМИ», однако это обозначение как-то не прижилось, и сейчас принято повсеместно употреблять английскую аббревиатуру.

С самого начала следует твердо запомнить, что по MIDI никогда не передается звук. MIDI-информация ничего общего не имеет со звуковыми колебаниями. С помощью MIDI можно передавать только информацию о тех действиях, которые производятся на данном устройстве — нажатие на клавиши, кнопки и т. д. Например, когда мы нажимаем клавишу «до» второй октавы, по MIDI тут же передается сообщение «нажата клавиша до второй октавы», когда нажимаем на педаль — передается сообщение «нажата педаль» и т. д.

Рассмотрим для начала простой пример, на который и ориентировались производители, договариваясь о стандарте MIDI. Представим себе студию с несколькими электронными инструментами. Для того чтобы музыкант мог одновременно управлять ими, раньше ему пришлось бы все время вертеться от одного инструмента к другому, а уж о том, чтобы взять аккорд одновременно на трех из них, и вовсе речи не было. Используя MIDI, он может управлять всеми инструментами с одной клавиатуры, поскольку каждый инструмент способен реагировать на команды с клавиатуры другого инструмента так же, как и на команды со своей собственной. Назначив разным сегментам клавиатуры управление разными устройствами, музыкант сможет одновременно играть на всех имеющихся электронных инструментах. При этом все они, кроме одного, вообще могут не иметь клавиатуры, что позволит сэкономить много места в студии.

Теперь представьте себе устройство, которое запоминает последовательность действий, производимых на электронном музыкальном инструменте при исполнении какой-либо музыкальной пьесы, а также временные промежутки между этими действиями (оно называется секвенсером). Такая информация займет совсем немного памяти. Если же потом воспроизвести эту запись последовательности действий на том же устройстве, мы получим исполнение, идентичное оригинальному. Если в исполнении нас что-либо не устраивает (к примеру, пассаж сыгран неровно), то это легко исправить, чуть изменив значения временных промежутков между действиями, что невозможно в обычной звукозаписи.

Кстати, именно так очень часто применяют MIDI и сегодня. Вообще значение MIDI трудно переоценить. Вот уже более 10 лет этот стандарт активно используется музыкантами, и список музыкальных пьес, созданных с его помощью, занял бы не одну сотню страниц.

MIDI-коммутация устройств

Для того чтобы установить MIDI-коммутацию между музыкальными устройствами, обычно применяют трехжильные кабели с разъемами типа DIN (такими же разъемами пользовались ранее в отечественной аудиотехнике). В MIDI-соеди-нениях используются контакты № 2, 4 и 5 (рис. 3.1). Подойдет, естественно, и «универсальный» пятижильный кабель, так как в нем указанные контакты также задействованы.

Рис 3.1 Стандартный MIDI-разъем и его распайка

В устройствах со стандартным MIDI-интерфейсом имеется три разъема, обозначаемых как MIDI IN, MIDI OUT и MIDI THRU.

Разъем MIDI IN — это входной разъем, через который поступает MIDI-информа-ция с других устройств. MIDI OUT — выходной разъем, через который устройство передает информацию о производимых на нем действиях. И наконец, MIDI THRU — это тоже выходной разъем, через который устройство в неизменном виде пересылает информацию, полученную через MIDI IN.

Поскольку начинающие пользователи часто путают назначение двух выходных разъемов, давайте взглянем на них еще раз. Итак, информация о всех действиях, которые производятся на устройстве (нажатия клавиш и т. п.) всегда выходит только через разъем MIDI OUT и НЕ выходит через разъем MIDI THRU. А информация, полученная по MIDI (через разъем MIDI IN) в неизменном виде отправляется дальше через разъем MIDI THRU, но обычно НЕ выходит через MIDI OUT.

К сожалению, производители звуковых карт для ПК, поддерживая совместимость со стандартом MIDI, тем не менее пренебрегали необходимостью снабжать устройства стандартными разъемами (наверное из-за того, что разъемы DIN слишком велики и зачастую не вмещаются по ширине в соответствующую щель ПК).

Поэтому на звуковых картах обычно весь MIDI-интерфейс выводится на один 15-контактный разъем, объединенный с портом для подключения джойстика (рис. 3.2).

Рис. 3.2. MIDI-разъем звуковой карты

Для соединения такого разъема со стандартными MIDI-устройствами необходим специальный переходной кабель. К некоторым звуковым картам он прилагается, но зачастую производители предлагают приобрести его отдельно. Перед покупкой переходного кабеля обязательно нужно удостовериться, что он будет работать с вашими моделями звуковой карты и устройств, так как многие производители «учитывают индивидуальные особенности» данной звуковой карты, а совместимость с другими картами при этом не гарантируется. Цена же таких кабелей обычно бывает достаточно высока, она может достигать $40 и выше.

Теперь давайте рассмотрим несколько примеров коммутации MIDI-устройств. Сначала самый простой случай — управление с одной MIDI-клавиатуры двумя MIDI-устройствами. В этом случае следует разъем MIDI OUT клавиатуры соединить с разъемом MIDI IN первого устройства, а разъем MIDI THRU первого с разъемом MIDI IN второго устройства (рис. 3.3). Так же следует поступить, если устройство с MIDI-клавиатурой имеет встроенный секвенсер, с которым идет работа.

Рис. 3.3. Управление двумя MIDI-устройствами от одной MIDI-клавиатуры

Теперь представим себе, что секвенсер имеет не клавиатура, а одно из управляемых устройств. В таком случае MIDI OUT клавиатуры надо соединить с MIDI IN устройства с секвенсером, его MIDI THRU (при записи) или MIDI OUT (при воспроизведении) соединить с MIDI IN второго управляемого устройства, а если устройство-клавиатура также используется в качестве звукогенератора, то разъем MIDI THRU второго управляемого устройства следует соединить с MIDI IN клавиатуры (рис. 3.4.).

Рис. 3.4. Управление двумя MIDI-устройствами (в том числе секвенсером) от MIDI-клавиатуры

В случае работы с компьютером, имеющим звуковую карту, но без использования каких-либо внешних звуковых модулей нужно просто присоединить выход (MIDI OUT) MIDI-клавиатуры к разъему MIDI IN звуковой карты (как правило, такое соединение осуществляется с помощью специального переходного кабеля, как говорилось выше). Если же используются несколько внешних модулей, то разъем MIDI OUT компьютера присоединяется к MIDI IN первого из них, а далее соединение идет «по цепочке», причем разъем MIDI THRU каждого из используемых модулей, кроме последнего, соединяется с разъемом MIDI IN следующего (рис. 3.5).

Рис. 3.5. MIDI-коммутация с использованием компьютера

При коммутации устройств с помощью MIDI нужно быть внимательным, чтобы избежать образования так называемой «петли» — закольцовки. Многие знают, что получается при закольцовке аудиосигнала. Поднесите микрофон к колонке, и начнется так называемое самовозбуждение: тишайшие шорохи колонки будут «считаны» микрофоном, поступят обратно на колонки (сложившись с уже имеющимися), эти «удвоенные» шумы через микрофон опять поступят на колонки, и т. д. — вскоре вы услышите долгий и резкий «ушераздирающий» звук на той максимальной громкости, на какую способны ваши колонки.

Примерно по такой же схеме развиваются события и при MIDI-закольцовке. Звука, правда, при этом не возникает, но вся система «виснет», и единственный способ вернуться к нормальной работе в такой ситуации — перезагрузка. Обычно заколь-цовка возникает, когда какое-либо устройство при некоторых условиях начинает «пропускать» сигналы напрямую с MIDI IN на MIDI OUT. Поскольку это не полностью соответствует требованиям стандарта, такие случаи всегда бывают отражены в документации на оборудование (еще раз настоятельно рекомендую прежде, чем приступать к работе с любым электронным устройством, внимательно ознакомиться с документацией к нему, даже если вы на 101% уверены, что разберетесь во всем интуитивно). Обычно возможность пропускания сигнала с MIDI IN на MIDI OUT предусматривается в случае отсутствия у устройства разъема MIDI THRU.

При работе с компьютером с помощью MIDI разъем MIDI THRU также обычно не используется, вместо этого функция MIDI THRU может быть программно назначена (или не назначена) на MIDI OUT.

Вообще говоря, звуковые карты часто имеют несколько параллельных MIDI-выходов, хотя, как правило, только один из них является внешним. Кроме него встречаются MIDI-выходы на встроенный WT-синтезатор/сэмплер, встроенный FM-синтезатор и специальный MIDI-интерфейс, совместимый с Roland MPU-401. Переключение этих выходов обычно осуществляется программно.

MIDI-сообщения и MIDI-файлы

Типы MIDI-сообщений

Итак, по MIDI передается информация о действиях, выполняемых на музыкальном устройстве. Передаваемое по MIDI сообщение об одном таком действии будем называть MIDI-сообщением. Рассмотрим, какие же сообщения могут передаваться по MIDI.

Начнем с самого распространенного типа MIDI-сообщений — нажатия клавиши (Note On или Key On). Это сообщение несет в себе информацию о двух параметрах: номере нажатой клавиши и силе удара по ней.

Здесь необходимо сделать небольшое пояснение. Дело в том, что большинство параметров MIDI могут принимать значения от 0 до 127 (почему так, будет объяснено ниже). Поэтому размер полной MIDI-клавиатуры составляет 128 клавиш, которые пронумерованы в восходящем порядке. Поскольку для музыкантов привычнее оперировать с названиями нот и номерами октав, в MIDI-стандарте описано соответствие между номером клавиши и его «интуитивным» значением. Однако номера октав здесь отличаются от принятых на традиционных акустических инструментах.

Нота, которая на рояле обычно называется «до» первой октавы, то есть расположенная в центре клавиатуры (middle С, центральная «до» ), в MIDI-терми-нологии обычно называется «до» третьей октавы, что соответствует клавише номер 60. Сами октавы нумеруются от минус второй до восьмой. Клавиша номер 0 соответствует «до» минус второй октавы, а клавиша номер 127 — «соль» восьмой октавы. При этом надо помнить, что реальная высота звуков зависит от того, каким образом построен тот «инструмент», которым мы управляем по MIDI, и номер MIDI-октавы — это всего лишь вспомогательное значение. Конечно, далеко не все устройства имеют клавиатуру из 128 клавиш. Как правило, сама клавиатура имеет меньшие физические размеры: от трех- и четырехоктавной (37 и 49 клавиш соответственно) до «полной фортепианной» (88 клавиш); при этом номера клавиш для передаваемых MIDI-сообщений молено настроить с помощью ручек управления или кнопок. Например, в четырехоктавных клавиатурах по умолчанию передаются номера клавиш в диапазоне от 36 до 84 (от «до» первой до «до» пятой октавы), но можно включить режим, при котором диапазон передаваемых номеров будет от 24 до 72 (транспозиция на -1 октаву) или, например, от 0 до 48. Многие клавиатуры имеют также возможность транспозиции на нецелое число октав, например, в нашем случае это может быть диапазон от 34 до 82 (транспозиция на -2 полутона, при этом вы играете как бы в строе «си-бемоль»). Сила удара по клавише измеряется как скорость ее движения вниз при нажатии, поэтому этот параметр принято называть по-английски velocity или velocity on. Он имеет также 128 градаций. Максимальная сила нажатия соответствует значению 127, а минимальная — 1. Значение, равное 0, используется особым образом, об этом будет рассказано чуть ниже.

Только очень качественные MIDI-клавиатуры обеспечивают 128 градаций при измерении velocity on. Многие устройства измеряют этот параметр более грубо, используя, например, 32 или 16 градаций (в последнем случае выходными значениями могут быть 7, 15,23,31,39,47,55,63,71,79,87,95, 103, 111, 119 и 127). Такое измерение приводит к менее точной передаче и записи исполнения, и при выборе MIDI-клавиатуры на это следует обратить особое внимание. Правда, ситуацию усложняет тот факт, что данная особенность устройств далеко не всегда документируется.

Некоторые дешевые MIDI-клавиатуры (обычно встроенные в устаревшие синтезаторы) вообще не измеряют силу нажатия, передавая по MIDI все время одно и то же значение, например 64. Однако в последнее время такие устройства уже не производятся.

Итак, MIDI-сообщение «нажатие клавиши» содержит в себе информацию о номере нажатой клавиши и силе удара по ней (velocity). Теперь рассмотрим другой важный тип MIDI-сообщения — отпускание клавиши (Note Off или Key Off). Важно понимать, что отпускание клавиши — это совершенно самостоятельное MIDI-событие, никак не связанное с нажатием клавиши (кроме как по смыслу). Устройство, получившее по MIDI сообщение о нажатии клавиши, начинает воспроизводить соответствующий звук и «держит» его до тех пор, пока не получит сообщение об отпускании той же самой клавиши. Несмотря на то что во многих MIDI-редакторах для удобства использования введено понятие «длина ноты» (note length), всегда полезно помнить, что на самом деле по MIDI не передается никакая «длина», а есть только «нажатие» и «отпускание» клавиши, звук же мы будем слышать на временном промежутке между ними.

MIDI-сообщение «отпускание клавиши», подобно предыдущему, содержит в себе информацию о номере отпускаемой клавиши и о скорости ее отпускания (velocity off). Если отпускаемая клавиша не совпадает по номеру ни с одной из ранее нажатых, то ничего не происходит, хотя при реальном исполнении на MIDI-клавиатуре такая ситуация возникнуть не может. Скорость отпускания клавиши редко влияет на звучание (это зависит от «инструмента»), однако в некоторых случаях этот параметр может иметь большое значение. Тем не менее многие MIDI-клавиатуры вообще не измеряют скорость отпускания клавиши, передавая по MIDI некоторое стандартное значение этого параметра (обычно 64).

Более того, иногда устройства вообще не передают (или «не понимают» при приеме) MIDI-сообщение «отпускание клавиши». В этом случае вместо него используется сообщение «нажатие клавиши» со скоростью 0 (значение параметра velocity on равно 0). В последнее время для унификации стандарта практически все MIDI-устройства способны воспринимать в качестве команды отпускания клавиши и собственно «отпускание клавиши», и «нажатие клавиши» при velocity=0. Однако в некоторых случаях все же необходимо явным образом установить соответствующий переключатель (обычно в программных настройках устройства).

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

Сообщение «смена программы» (Program Change) определяет, какой «инструмент» будет использоваться для выполнения всех последующих действий. Как уже говорилось, одно устройство может содержать в себе большое число различных «инструментов». Каждому из них присваивается свой номер, который и используется в данном MIDI-сообщении. Сообщение «смена программы» пересылается устройством при переключении «инструмента», однако обычно его выставляют в каком-либо редакторе MIDI-секвенсера.

Соответствие номера «инструмента» реальному тембру зависит от устройства и долгое время не было унифицировано. Однако эту проблему отчасти решило введение стандарта General MIDI (см. раздел «Стандарт General MIDI и его "близнецы"»).

В MIDI-сообщении «смена программы» используются значения номера «инструмента» от 0 до 127. Таким образом, если устройство содержит 128 «инструментов» или менее, мы имеем возможность легко переключать их этим MIDI-сообщением. Но что делать, если устройство содержит более 128 «инструментов»?

Ранее для решения этой проблемы в настройки устройства помещалась специальная MIDI-карта (MIDI map), где задавалось соответствие значения «смены программы» реальному номеру «инструмента» в устройстве. Сама же MIDI-карта могла быть передана в виде исключительного системного MIDI-сообщения (см. ниже в этом же разделе). Такая схема была реализована, например, в знаменитом синтезаторе ProTeus.

В современных устройствах, как правило, используется другая схема. Все имеющиеся «инструменты» объединяют в несколько групп по 128 в каждой. Такие группы называют банками. При этом MIDI-сообщение «смена программы» переключает «инструменты» в текущем банке, а смена банка осуществляется с помощью другого MIDI-сообщения — «выбор банка» (один из видов «смены значения контроллера», см. ниже в этом же разделе). Как будет показано, количество банков, доступных для переключения по MIDI, может достигать 16 384, а максимальное количество «инструментов» оказывается равным 2 097 152. Обычно реальные устройства на сегодняшний день содержат от 1 до 20 банков. MIDI-сообщение «смена значения контроллера» (Control Change) является очень важным для контроля за исполнением. С его помощью можно контролировать различные параметры исполнения — громкость, выразительность, вибрато, пространственную локализацию и пр. Реализована эта возможность следующим образом. В данном MIDI-сообщении содержатся два параметра. Первый, Controller Number, так называемый номер контроллера, указывает, какой параметр исполнения мы . изменяем, а второй, Controller Value, значение контроллера, указывает, каким образом этот параметр изменяется. Например, чтобы установить максимальную громкость, нужно установить номер контроллера 7 (что означает абсолютную громкость), а значение — 127.

Номера контроллеров возможны также в диапазоне от 0 до 127. Вообще говоря, соответствие номера контроллера реальному параметру исполнения может определяться в каждом конкретном устройстве немного по-разному. Имеется, однако, стандартный набор контроллеров, которые обычно совпадают по номеру во всех современных MIDI-устройствах. Но прежде чем перейти к рассмотрению стандартного назначения контроллеров, необходимо понять некоторые общие положения.

Контроллеры с номерами от 0 до 31 являются так называемыми основными контроллерами, значения которых могут изменяться в диапазоне от 0 до 127. Однако в некоторых случаях необходимо осуществить более тонкую их настройку. Для этого предусмотрены контроллеры с номерами от 32 до 63, значения которых являются младшими байтами (LSB) контроллеров № 0-31. Таким образом, если необходимо тонко настроить значение контроллера с некоторым номером X, нужно использовать его значение в комбинации со значением контроллера номер Х+32. При этом количество возможных градаций возрастает до 16 384. Каким образом это происходит, показано на схеме (рис. 3.6). Такая настройка возможна только для контроллеров с номерами от 0 до 31 и используется крайне редко (кроме контроллера № 0, см. далее).

Рис. 3.6. Схема преобразования значений двух контроллеров в одно число

Контроллеры с номерами от 64 до 79 являются переключателями, то есть могут принимать только два значения — 0 и 127. Исключения составляют некоторые «нестандартные» контроллеры. Следующие сорок контроллеров (№ 80-119) снова способны принимать любые значения в диапазоне 0-127, а последние десять (№ 120-127) имеют служебное назначение и будут рассмотрены отдельно.

Теперь перейдем к практическому назначению контроллеров. Контроллер № О имеет назначение «выбор банка> (Bank Select). Как уже говорилось выше, банки объединяют в себе по 128 «инструментов», каждый из которых может быть выбран впоследствии с помощью «смены программы» (Program Change). Для выбора текущего банка и применяется контроллер № 0, причем всегда в комбинации с контроллером № 32. Значения этих двух контроллеров вместе составляют номер банка, причем значение контроллера № 0 определяет его старшие разряды. Например, если контроллер № 0 имеет значение 0, а № 32 — 4, то выбирается банк № 4. Если же значение контроллера № 0 равно 1, а № 32 — 0, то будет выбран банк с номером 128. В общем случае при значении 0-го контроллера, равном А, и значении 32-го, равном В, номер банка будет равен 128А+В.

Контроллер № 1 называется «вибрато» (Vibrato) или иногда «модуляция» (Modulation или Modulation Wheel). В стандартных «инструментах» с его помощью контролируется глубина вибрато (хотя иногда бывает, что вместо глубины этот контроллер изменяет скорость вибрато или вообще какой-нибудь другой параметр).

При значении этого контроллера, равном 0, вибрато отсутствует, а при значении 127 достигает максимальной глубины. Плавно изменяя значение данного контроллера (особенно в сочетании с контроллером № 7), можно добиться большой выразительности исполнения. При «живом исполнении» значения этого контроллера изменяются специальным «колесом модуляции», обычно расположенным слева от клавиатуры (не путайте его с «колесом высоты» — pitch bender, о котором речь пойдет ниже). Кроме того, на многих MIDI-клавиатурах имеется один или несколько ползунковых регуляторов, которые можно использовать для изменения значения любого MIDI-контроллера.

Контроллер № 2 — это «контроллер дыхания», Breath Control. При исполнении его значения обычно регулируются с помощью специального «MIDI-мундштука», сила дуновения в который соответствует более высокому значению контроллера. Влияет он обычно на «яркость» звука, иногда в сочетании с громкостью. Употребляется не очень часто.

Контроллер № 4 — ножной контроллер, Foot Control. Его значения регулируются специальной педалью, причем в различных устройствах действия контроллера варьируются.

Контроллер № 5 — время скольжения, Portamento Time. Значение его определяет время, за которое высота звука достигает высоты, определенной нажатой клавишей при включенном режиме скольжения (Portamento). Подробнее об этом — в описании контроллера № 65.

Контроллер № 6 — ввод данных, Data Entry. Применяется он в случае необходимости ввода каких-либо дополнительных данных, например, в некоторых устройствах определяет режим эффект-процессора.

Контроллер № 7 — абсолютная громкость, Main Volume. Это наиболее употребительный контроллер, определяющий уровень громкости. Важно не путать его действие с действием параметра velocity (сила удара по клавише) из MIDI-сообще-ния «нажатие клавиши». Velocity обычно определяет сразу много параметров — громкость, время атаки, яркость и пр., а контроллер № 7 — только громкость, причем он позволяет изменять ее в любое время после нажатия на клавиши. Например, если необходимо, чтобы звук постепенно нарастал «из ниоткуда», достаточно перед нажатием клавиши сделать значение контроллера № 7 равным 0, а после нажатия постепенно изменять его значение, увеличивая на единицу каждые несколько десятков миллисекунд. Максимальная громкость звучания достигается при значении 127, а при нулевом значении этого контроллера звук отсутствует вообще.

Контроллер № 10 — пространственная локализация, Pan. Этот контроллер перемещает звук по стереобазе (влево — вправо). Центральное положение звука соответствует значению 64, положение слева — значению 0, а положение справа — значению 127. Контроллер может принимать любое из промежуточных значений. Обычно контроллер действует на все уже звучащие и последующие звуки, однако в некоторых более старых моделях устройств пространственное расположение звука устанавливается до нажатия на клавишу и уже не может быть изменено в процессе звучания. Правда, это тоже открывает некоторые интересные возможности.

Контроллер № 11 — выразительность исполнения, Expression. В хорошо сделанных «инструментах» он затрагивает много звуковых параметров сразу, однако в более простых моделях зачастую дублирует контроллер громкости.

Контроллер № 64 — демпферная педаль, Sustain Pedal. Это переключатель, действующий аналогично правой педали фортепиано (будучи включенным, он задерживает отпускание всех нажатых клавиш вплоть до своего отключения). Как правило, управляется контроллер педалью, так что с его помощью можно передавать по MIDI обычную фортепианную педализацию.

Контроллер № 65 — включение режима скольжения (Portamento Switch). Если этот режим включен, то при нажатии клавиши звук начинает звучать на высоте, заданной предыдущей нажатой клавишей, и затем скользит (глиссандирует), постепенно достигая высоты, определяемой нажатой в данный момент клавишей. Например, если мы нажмем клавишу «ре» третьей октавы, затем включим режим скольжения и нажмем клавишу «фа» третьей октавы, то в момент ее нажатия услышим снова «ре», от которого начнется глиссандо вверх до звука «фа». Скорость этого глиссандо определяется контроллером № 5 (Portamento Time). Если же необходимо, чтобы начальная высота звука (перед скольжением) отличалась от высоты предыдущей ноты, нужно ее определить отдельно с помощью специального контроллера № 84 (Portamento Control).

Контроллер № 66 — задерживающая педаль, Sostenuto Pedal. Действие этого контроллера очень похоже на действие демпферной педали (№ 64), но при его включении задерживается отпускание только тех клавиш, которые уже были нажаты в момент включения, а все последующие не Задерживаются. Другими словами, этот контроллер действует аналогично средней педали рояля.

Контроллер № 67 — смягчающая педаль, Soft Pedal. Действует переключатель аналогично фортепианной левой педали. В разных моделях устройств это может быть реализовано по-разному, например простым снижением громкости или же комбинацией из снижения громкости, «срезания» верхних частот спектра и уменьшения действия эффект-процессора.

Контроллер № 70 не имеет стандартного значения, однако в «инструментах», допускающих переключение так называемых патчей (различных сочетаний-слоев инструмента) обычно для этого и применяется. Количество его возможных значений варьируется в зависимости от числа возможных патчей. Например, в сэмпле-рах Ensoniq, где каждый «инструмент» может содержать до четырех патчей, 70-й контроллер может принимать 4 значения.

Контроллер № 84 — контроллер глиссандо, Portamento control. Его назначение уже описывалось выше.

Контроллеры № 91-95 регулируют глубину эффектов встроенного эффект-процессора. Пользоваться этими контроллерами имеет смысл, если эффект-процессор звуковой карты или внешнего модуля имеет возможность раздельного назначения эффектов на каждый MIDI-канал. В противном случае в звуковых модулях вместо этих контроллеров задействуются какие-либо нестандартные сочетания MIDI-сообщений.

Контроллер № 120 — отключить звук (All Sound Off). Он эквивалентен передаче по всем MIDI-каналам набора MIDI-событий, обеспечивающих мгновенное прекращение звучания. Однако «мгновенность» здесь довольно условная, так как для передачи/обработки такого количества информации любому устройству потребуется некоторое время. Поэтому, как правило, вместо него используется контроллер «отпускание всех клавиш» (см. далее).

Контроллер № 123 — отпускание всех клавиш (All Notes Off). Он используется при возникновении различных ошибок, приводящих к непрекращающемуся «гудению» отдельных звуков. При этом эмулируется отпускание всех клавиш на всех MIDI-каналах. Обычно применение данного контроллера приводит к решению проблемы, «лишние» звуки исчезают.

Наконец, четыре последних контроллера переключают различные режимы MIDI-устройств. Большинство этих устройств могут работать как в режиме «multi» (раздельная обработка сообщений для различных MIDI-каналов, о MIDI-каналах см. раздел «MIDI-каналы и многотембровость»), так и в режиме «omni», когда информация о MIDI-каналах игнорируется. Контроллер № 124 включает режим «multi», а № 125 — «omni». Кроме того, иногда устройство допускает переход в режим одноголосия (mono mode). Этот режим включается контроллером № 126, а контроллер № 127 возвращает устройство в обычный режим (многоголосие, poly mode).

Несмотря на то что все перечисленные контроллеры имеют стандартные назначения, нужно иметь в виду, что конкретное воздействие их на звучание определяется настройками звучащего «инструмента». Следовательно, в отдельных случаях возможны некоторые несовпадения со стандартным назначением. Более того, вы найдете очень небольшое количество устройств, поддерживающих все перечисленные выше контроллеры (это относится и к MIDI-событиям вообще). Поэтому, прежде чем использовать тот или иной контроллер, полезно заглянуть в документацию устройств. Обычно в конце описания любого MIDI-устройства приводится сводная таблица поддерживаемых MIDI-сообщений (MIDI implementation chart).

MIDI-сообщение «изменение высоты» (Pitch Bend) регулируется так называемым «колесом высоты», обычно находящимся слева от клавиатуры. Это колесо изменяет высоту воспроизводимого звука, увеличивая или уменьшая скорость его проигрывания. Максимальное отклонение от основной высоты определяется в настройках «инструмента» и может составлять от 1 до 12 полутонов. По MIDI передаются сообщения обо всех промежуточных положениях этого колеса, которые измеряются довольно точно (для него определены 16 384 градации). Однако большое количество устройств (особенно старых и недорогих) неспособно передавать движения колеса с такой точностью. Например, в синтезаторе Yamaha SHS-10 колесо высоты имеет всего 24 градации. Предпочтительнее пользоваться устройствами, позволяющими более точно позиционировать колесо высоты, так как они дают возможность очень плавного и гибкого ее изменения.

Нормальным положением колеса высоты считается среднее, соответствующее MIDI-значению 8192. Положение, соответствующее максимальному понижению звука, передается по MIDI значением 0, а максимально «высокое» положение — значением 16 383. Иногда в MIDI-редакторах среднее положение обозначают как О, нижнее как -8192 и верхнее как 8191.

MIDI-сообщение «изменение давления» (Aftertouch) передает по MIDI любое изменение давления на клавишу после ее нажатия. На самом деле оно существует «в двух экземплярах». Строго говоря, это два разных типа MIDI-сообщений, однако одновременно может поддерживаться только один из них.

Первый тип называется Polyphonic Aftertouch. MIDI-сообщение этого типа несет в себе информацию о номере клавиши, на которую изменилось давление, и об уровне давления. MIDI-сообщения другого типа (Channel Aftertouch) содержат информацию только об уровне давления. Другими словами, если вы, к примеру, взяли трехзвучный аккорд, а затем изменяете давление только на одну из нажатых клавиш, то во втором случае звуковые изменения затронут весь аккорд. Сегодня большинство производимых устройств поддерживает Polyphonic Aftertouch.

Конкретное влияние изменения давления на звучание определяется в настройках «инструмента». Обычно это бывает уменьшение/увеличение либо громкости, либо глубины или скорости вибрато, либо яркости звука.

Исключительные системные MIDI-сообщения (System Exclusive Messages), как можно догадаться из названия, носят «исключительный» характер. В отличие от всех остальных MIDI-сообщений они всегда предназначены для какого-либо конкретного устройства. С помощью исключительных системных MIDI-сообщений можно изменить параметры и настройки, недоступные с помощью «обычных» MIDI-средств (например, даже целиком передать волновую форму сэмпла).

Поскольку эти сообщения, предназначенные для одного устройства, не могут быть применены к остальным, в начале таких сообщений обязательно указывают идентификационные коды производителя и модели устройства. Если они не совпадают с имеющимися в устройстве, то вся остальная часть сообщения будет проигнорирована. Сами же исключительные системные сообщения иногда могут быть довольно длинными (помню случай, когда одно такое сообщение, содержащее волновые формы сэмплов и параметры их воспроизведения, передавалось почти 40 минут!).

Есть и еще некоторые типы MIDI-сообщений. Например, сообщение «пуск» (Start) начинает воспроизведение MIDI-секвенции (секвенцией называют последовательность MIDI-событий и временных промежутков между ними) сначала. Сообщение «стоп» (Stop) останавливает воспроизведение. Сообщение «продолжить» (Continue) начинает воспроизведение секвенции с места его остановки. Сообщение «выбор пьесы» (Song Select) позволяет переключиться с одного загруженного в секвенсер произведения на другое. Сообщение «установка курсора» (Song Position) меняет положение текущей позиции в секвенции.

MIDI-каналы и многотембровость

Представьте себе MIDI-клавиатуру (или MIDI-секвенсер), управляющую несколькими устройствами. Как вы уже знаете, в этом случае управляемые устройства подключаются цепочкой через соединение MIDI THRU — MIDI IN. Поскольку на выход MIDI THRU передается вся информация, пришедшая на MIDI IN, легко заметить, что все подключенные устройства получают одну и ту же MIDI-информацию. Однако, как правило, управление несколькими устройствами (или несколькими «инструментами» на одном устройстве) имеет смысл в том случае, если каждое из них будет исполнять свою партию. Таким образом, существует необходимость как-то разделить поток MIDI-сообщений, чтобы каждое устройство (или «инструмент») могло принимать только «свои» сообщения.

Эта проблема в MIDI-стандарте решена с помощью организации так называемых каналов. Предполагается, что существует некоторое количество (а именно 16) MIDI-каналов, и каждое сообщение может идти только по одному из них. При этом каждое устройство «настраивается на прием» сообщений, приходящих только по одному из них.

Если управляющее устройство посылает MIDI-информацию, предназначенную для воспроизведения тремя различными тембрами, то она может быть передана по трем различным каналам (например, по первому, второму и третьему). При этом одно из устройств будет реагировать только на сообщения, пришедшие по первому каналу, а другие игнорировать, другое устройство будет принимать сообщения по второму каналу и т. д. В результате один MIDI-источник сможет управлять исполнением многотембровой фактуры.

Конечно, необходимо помнить, что никаких физических каналов не существует, а весь поток MIDI-информации передается последовательно по одному и тому же кабелю. Каналы существуют лишь «виртуально»: в каждом MIDI-сообщении (точнее, в большинстве из них) помимо ранее рассмотренных параметров обязательно содержится также информация о номере MIDI-канала, по которому данное сообщение передается. Это предусмотрено в формате MIDI-сообщений, о чем будет рассказано в разделе «Из чего состоят MIDI-сообщения». Всего существует 16 MIDI-каналов, и между ними нет никаких различий. Они служат исключительно для разделения MIDI-потока при необходимости управлять многотембровой фактурой.

Из чего состоят MIDI-сообщения

Теперь немного подробнее рассмотрим, в каком виде MIDI-сообщения передаются и принимаются устройствами.

Поток MIDI-информации передается побайтно. Для контроля за состоянием линии (чтобы устройства «знали», что сигнал не потерялся) в начале каждого байта передается стартовый бит (1), а в конце — столовый (0). Каждый байт, как ему и положено, состоит из 8 значащих битов.

Любой байт, передаваемый по MIDI, является байтом либо статуса, либо значения. Статусный байт всегда первый в MIDI-сообщении, он определяет его тип и номер MIDI-канала. В каждом MIDI-сообщении содержится только один статусный байт. Байты значения содержат параметры, необходимые для данного типа MIDI-сообщения.

MIDI-сообщения, в зависимости от типа, могут иметь различную длину, то есть. состоять из одного, двух, трех и более байтов.

Статусный байт легко отличить от байта значения по состоянию старшего бита: в первом старший бит всегда установлен (1), а во втором — сброшен (0). Поскольку байт значения используется для передачи числовых параметров, а старший бит в нем всегда 0, для самих чисел остается только семь свободных битов. Этим и объясняется тот факт, что большинство MIDI-параметров могут изменяться только в пределах от 0 до 127 (2 в степени 7 минус 1, поскольку отсчет идет от нуля).

В некоторых случаях для выражения MIDI-параметров используется два байта. Поскольку в каждом из них доступно только по 7 битов, вместе они составляют 14-разрядное двоичное число, максимальное значение которого равно 16 383. Двухбайтовые параметры используются в MIDI-сообщении «изменение высоты», а также в комбинированных значениях MIDI-контроллеров (например, контроллеры О и 32, см. раздел «Типы MIDI-сообщений»).

Вообще говоря, все MIDI-сообщения делятся на «общие» и «канальные». Общие сообщения принимаются всеми устройствами независимо от настройки на определенный номер канала. Они не несут с себе информации о MIDI-канале. А в статусном байте канальных сообщений четыре младших бита зарезервированы для указания номера канала. Поскольку с помощью четырех битов можно представить только 16 различных значений, MIDI-каналов тоже может быть не больше 16. Для удобства их принято нумеровать не от 0 до 15, а от 1 до 16, то есть для получения номера MIDI-канала значение младших четырех битов статусного байта нужно увеличить на единицу.

Четыре старших бита в статусном байте определяют собственно тип MIDI-собы-тия. Типы кодируются следующим образом: 1001 — нажатие клавиши, 1000 — отпускание клавиши, 1010 — изменение давления (channel aftertouch), 1011 — смена значения контроллера, 1100 — смена программы, 1101 — изменение давления (polyphonic aftertouch), 1110 — изменение высоты (числа двоичные). Байты значения располагаются сразу вслед за статусным байтом. Несколько примеров приведено в таблице.

Двоичная последовательность | Значение

100100010011110001000000

100000110111111101111111

11000000 00000000

101110100000011101111111

10110000 01000000 01111111

10111111 00000000 00000000

10111111 00100000 00000010

11100111 01000000 00000000

Нажатие клавиши «до» третьей октавы на втором канале, со средней velocity (64)

Отпускание клавиши «соль» восьмой октавы на четвертом канале с максимальной скоростью

Включение на первом канале программы № 0 (обычно — фортепиано)

Установка максимальной громкости на 11 канале

Нажатие демпферной педали на 1 канале

Включение банка № 2 на 16 канале (два MIDI-события, следующие одно за другим)

Установка колеса высоты в среднее положение на 8 канале

Остальные MIDI-сообщения являются общими и не содержат в себе информацию о MIDI-канале. В частности, исключительное системное сообщение начинается со статусного байта 11110000. Это единственное MIDI-сообщение, байты значения которого могут содержать 1 в старшем бите. Кроме того, здесь количество этих байтов значения может достигать от нескольких десятков до нескольких миллионов. Поскольку на исключительное системное сообщение «реагирует» только одно конкретное устройство, для которого оно предназначено, а все другие его игнорируют, в стандарте MIDI определен специальный байт ЕОХ (End Of Exclusive). Его значение— 11110111. Приняв этот байт, другие устройства «понимают», что исключительное сообщение кончилось, и начинают «слушать» дальше.

Конечно, в большинстве случаев при работе с MIDI музыкант не думает о всех этих двоичных последовательностях. Однако в процессе реальной работы с MIDI-секвенсером иногда бывает удобно повозиться с некоторыми «глубинными» настройками (см. главу 7), для которых необходимо ввести последовательности в двоичном коде. Кроме того, понимание происходящего помогает быстро и легко разрешить нестандартные проблемы, которые возникают не так уж редко.

MIDI-секвенции и стандартные MIDI-файлы

Как уже говорилось в разделе «Типы MIDI-сообщений», MIDI-секвенцией называют записанную последовательность MIDI-сообщений и временных промежутков между ними. Такая последовательность при воспроизведении с помощью тех же устройств, на которых она записывалась, повторяет оригинал так же, как обычная аудиозапись. Однако, работая с MIDI-секвенцией, мы имеем то преимущество, что можем как угодно исправить недостатки исполнения, добавить к нему необходимую динамику, артикуляцию, агогику и, спокойно отредактировав все исполнительские параметры, зафиксировать полученный результат. Кроме того, MIDI-секвенция, записанная в файл, занимает очень немного места по сравнению с аудиозаписью.

Для работы с MIDI-секвенциями сегодня существуют специальные программы-секвенсеры (см. в главе 7), благодаря которым редактирование стало исключительно удобным и приятным занятием. Теперь рассмотрим, каким образом MIDI-сообщения записываются в секвенцию.

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

В различных аппаратных, да и некоторых программных секвенсерах реализованы разные способы записи временных промежутков. Один из них — запись в стандартные MIDI-файлы.

Стандартные MIDI-файлы являются неким универсальным форматом записи MIDI-секвенций. Несмотря на то что любой программный (и тем более аппаратный) секвенсер имеет собственный формат записи MIDI-данных, возможность чтения и записи стандартных MIDI-файлов предусмотрена в подавляющем большинстве из них. Имена стандартных MIDI-файлов обычно имеют расширения .mid или .midi. Возможность работы со стандартными MIDI-файлами предусмотрена в некоторых системах многоканального сведения аудио, а программы для работы с нотной графикой обычно позволяют импортировать MIDI-файлы с последующим преобразованием данных.

Стандартные MIDI-файлы могут быть трех различных типов, которые называют тип О, тип 1 и тип 2. В файлах типа 0 весь поток MIDI-информации записывается последовательно. В файлах типа 1 (наиболее распространенных сегодня) MIDI-сообще-ния, передаваемые по разным MIDI-каналам, записываются в отдельные «дорожки» (tracks). Это намного облегчает восприятие музыкальной структуры (например, при загрузке в программу-секвенсер) и редактирование. В MIDI-файлах типа 2 предусмотрена возможность установки отдельных структурных параметров для каждой дорожки. Это очень интересная возможность, однако практически она никогда не используется. Да и сами файлы типа 2 встречаются довольно редко.

Стандарт General MIDI и его «близнецы»

Набор инструментов General MIDI (GM)

Одним из основных недостатков хранения музыкальной информации в виде MIDI-секвенций традиционно считалась необходимость привязки к конкретному устройству. Действительно, поскольку «инструменты» в MIDI-секвенции выбираются с помощью сообщения «смена программы», имеющего числовой параметр, при замене музыкального модуля изменяются и тембры звучащих «инструментов». Предположим, например, что секвенция была сделана с использованием синтезаторов серии Yamaha PSS, а музыка начиналась тембром «Cosmic» (характерный «синтезаторный» FM-тембр). «Инструмент», играющий этим тембром, имеет в данном устройстве номер 1, значит в начале MIDI-секвенции есть МГО1;сооб-щение «смена программы» с параметром 1. Теперь представим себе, что вместо Yamah'n PSS вы хотите использовать ProTeus 1. Если проиграть эту секвенцию на нем, то вместо синтезаторного тембра мы услышим фортепианный (он имеет номер 1 в наборе Proteus'a). Другие тембры также изменятся, и в результате вам придется снова редактировать секвенцию, чтобы ее звучание стало похоже на то, что было задумано.

Поэтому производители решили договориться о некотором стандартном наборе «инструментов», номера которых в наборе совпадали бы. Иными словами, при замене MIDI-устройства секвенция в этом случае будет звучать приблизительно так же, ибо номера MIDI-программ в этих устройствах соответствуют приблизительно одинаковым тембрам. Этот стандартный набор состоит из 128 инструментов и называется General MIDI (GM).

Например, вы работали с MIDI-секвенцией, используя встроенный синтезатор звуковой карты Creative Sound Blaster AWE 64, и использовали тембры фортепиано (№. 1), флейты (№ 74) и кларнета (№ 72). Допустим, вы теперь решили заменить звуковую карту на Turtle Beach Tropez Plus. Поскольку оба эти устройства поддерживают стандарт General MIDI, вы можете быть уверены, что номера в сообщениях «смена программы» вашей секвенции менять не придется — № 1 все равно будет обозначено фортепиано, № 74 — флейта, а № 72 — кларнет. Конечно, тонкости звучания и внутренние параметры исполнения у этих «инструментов» могут отличаться от оригинала, но главное то, что номера тембров остаются неизменными.

Для облегчения ориентации в номерах тембров General MIDI все они разделены на группы по 8 штук. Вначале (№ 1-8) расположены клавишно-ударные инструменты. За ними (№ 9-16) следуют ударные с определенной высотой звука. № 17-24 используются для клавишно-духовых, № 25-32 для гитар, № 33-40 для различных басов. Далее следуют симфонические тембры: № 41-48 использованы для струнных (правда, № 48 почему-то занимают литавры), на № 49-56 располагаются ансамблевые тембры, затем № 57-64 занимают медные духовые, № 65-72 — язычковые деревянные духовые и № 73-80 — «флейтоподобные» духовые. Потом следуют «электронные» тембры: электрогитары (№ 81-88), «синтезаторные» тембры (№ 89-96) и электронные эффекты (№ 97-104). На № 105-112 расположены тембры этнических инструментов, а на № 113-120 — латинские и «нестандартные» ударные. Последняя восьмерка содержит акустические звуковые эффекты (№ 121-128). Стандартные значения тембров General MIDI приведены в таблице.

№ | Стандартное английское обозначение | Значение

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

Acoustic Piano

Bright Piano

Electric Grand Piano

Honky Tonk Piano

Electric Piano I

Electric Piano II

Harpsichord

Clavinet

Celesta

Glockenspiel

Music Box

Vibraphone

Marimba

Xylophone

Tubular Bells

Dulcimer

Drawbar Organ

Percussive Organ

Rock Organ

Church Organ

Reed Organ

Accordion

Harmonica

Tango Accordion

Nylon Guitar

Steel String

Jazz Guitar

Clean Guitar

Muted Guitar

Overdriven Guitar

Distortion Guitar

Guitar Harmonics

Acoustic Bass

Fingered Bass (Electric Bass)

Picked Bass

Fretless Bass

Slap Bass I

Slap Bass II

Synth Bass I

Synth Bass II

Violin

Viola

Cello

Contrabass

Tremolo Strings

Pizzicato Strings

Harp

Timpani

String Ensemble I

String Ensemble II

Synth Strings I

Synth Strings II

Choir Aahs

Voice Oohs

Synth Voice

Orchestra Hit

Trumpet

Trombone

Tuba

Muted Trumpet

French Horn

Brass Section

Synth Brass I

Synth Brass II

Soprano Saxophone

Alto Saxophone

Tenor Saxophone

Baritone Saxophone

Oboe

English Horn

Bassoon

Clarinet

Piccolo

Flute

Recorder

Pan Flute

Blown Bottle

Shakuhachi

Whistle

Ocarina

Square Lead

Sawtooth Lead

Calliope Lead

Chiff Lead

Charang Lead

Voice Lead

Fifth Lead

Bass&Lead

New Age Pad

Warm Pad

Polysynth Pad

Choir Pad

Bowed Pad

Metallic Pad

Halo Pad

Sweep Pad

Rain

Soundtrack

Crystal

Atmosphere

Brightness

Goblins

Echo Sweep

Sci Fi

Sitar

Banjo

Shamisen

Koto

Kalimba

Bagpipe

Fiddle

Shanai

Tinkle Bell

Agogo

Steel Drums

Woodblock

Taiko Drum

Melodic Tom

Synth Drum

Reverse Cymbal

Guitar Fret Noise

Breath Noise

Seashore

Bird Tweet

Telephone Ring

Helicopter

Applause

Gunshot

Фортепиано

Концертный рояль

Электрический рояль

Расстроенное фортепиано

Электропиано 1

Электропиано 2

Клавесин

Клавинет

Челеста

Колокольчики

Музыкальная шкатулка

Вибрафон

Маримба

Ксилофон

Колокола (трубчатые)

Цимбалы

Орган

Орган с ударной атакой

Рок-орган

Церковный орган

Язычковый орган

Аккордеон

Губная гармошка

Танго-аккордеон

Гитара (нейлоновые струны)

Гитара (стальные струны)

Джазовая гитара

Акустическая соло-гитара

Приглушенная гитара

Гитара с перемодуляцией

Гитара с искажениями (эффект дисторшн») Гитарные гармоник

Бас-гитара

Бас-гитара (пальцевым щипком)

Бас-гитара (медиатором)

Безладовая бас-гитара

Слэп 1

Слэп 2

Синтезаторный бас 1

Синтезаторный бас 2

Скрипка

Альт

Виолончель

Контрабас

Тремолирующие струнные

Струнные пиццикато

Арфа

Литавры

Струнные 1

Струнные 2

Синтезированные струнные 1

Синтезированные струнные 2

Хоровое «а»

Голосовое «о»

Синтезированный голос

Оркестровый акцент

Труба

Тромбон

Туба

Засурдиненная труба

Валторна

Медная духовая группа

Синтезированные медные 1

Синтезированные медные 2

Сопрановый саксофон

Альтовый саксофон

Теноровый саксофон

Баритоновый саксофон

Гобой

Английский рожок

Фагот

Кларнет

Флейта пикколо

Флейта

Блокфлейта

Флейта Пана

Дуновение в бутылку

Шакухачи

Свист

Окарина

Соло-гитара (прямоугольнаяволна)

Соло-гитара (пилообразная волна)

Calliope-гитара

Chiff-гитара

Charang-гитара

Соло-гитара (голосовой тембр)

Соло-гитара (с квинтовым обертоном) Бас и соло-гитара

Синтезаторный звук «нью-эйдж»

Теплый синтезаторный звук

Полисинтезатор

Хоровой синтезаторный звук

Смычковый синтезаторный звук

Металлический синтезаторный звук «Ореол»

Качающийся звук

Дождь

Звуковая дорожка

Хрусталь

Атмосфера

Яркость

Гоблины

Качающееся эхо

SciFi

Ситар

Банджо

Шамисен

Кото

Калимба

Волынка

Уличная скрипка

Санаи

Звенящий колокольчик

Агого

Стальные барабаны

Коробочка (гольцтон)

Таико

Мелодический томтом

Синтезированный барабан

Реверсивная тарелка (запись в обратную сторону) Шум гитарных ладов

Дыхание

Морской берег

Чириканье

Телефонный звонок

Вертолет

Аплодисменты

Выстрел

При этом нужно помнить, что реальные числовые значения, которые пересылаются в MIDI-сообщениях «смена программы», находятся в диапазоне от 0 до 127, а не от 1 до 128. Так что, если вы будете редактировать MIDI-поток непосредственно, номер GM-тембра будет на единицу меньше указанного в таблице.

Как вы, вероятно, уже заметили, среди «инструментов» General MIDI не нашлось места такому уже ставшему традиционным «инструменту», как набор ударных (в котором каждой клавише соответствует свой тембр — малый барабан, хай-хэт, удар по ободу и т. п.). Поэтому в GM-устройствах для набора ударных выделяется 10-й MIDI-канал. Передаваемые по 10 каналу MIDI-сообщения всегда воспроизводятся набором ударных.

Для наборов ударных в стандарте General MIDI определено значение каждой клавиши. Используются клавиши от «ре-диез» нулевой октавы (номер 28) до «ре-диез» пятой октавы (номер 87). В следующей таблице приведены стандартные для General MIDI значения клавиш в наборе ударных.

№ | Высота | Стандартное обозначение | Значение

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

D#0

ЕО

FO

F#0

GO

G#0

АО

А#0

ВО

С1

С#1

Dl

D#l

El

Fl

F#l

Gl

G#l

Al

A#l

Bl

C2

C#2

D2

D#2

E2

F2

F#2

G2

G#2

A2

A#2

B2

C3

C#3

D3

D#3

E3

F3

F#3

G3

G#3

A3

A#3

B3

C4

C#4

D4

D#4

E4

F4

F#4

G4

G#4

A4

А#4

В4

С5

С#5

D5

D#5

HighQ

Slap

Scratch Push

Scratch Pull

Sticks

Square Click

Metronome Click

Metronome bell

Acoustic Bass Drum

Bass Drum 1

Side Stick

Acoustic Snare

Hand Clap

Electric Snare

Low Floor Tom

Closed High Hat

High Floor Tom

Pedal High Hat

Low Tom

Open High Hat

Low-Mid Tom

High-Mid Tom

Crash Cymbal 1

High Tom

Ride Cymbal 1

Chinese Cymbal

Ride Cymbal Bell

Tambourine

Splash Cymbal

Cowbell

Crash Cymbal 2

Vibraslap

Ride Cymbal 2

High Bongo

Low Bongo

Mute High Bongo

Open High Bongo

Low Conga

High Timbale

Low Timbale

High Agogo

Low Agogo

Cabasa

Maracas

Short Whistle

Long Whistle

Short Guiro

Long Guiro

Claves

High Woodblock

Low Woodblock

Mute Cuica

Open Cuica

Mute Triangle

Open Triangle

Shaker

Jingle Bells

Belltree

Castanets

Mute Surdo

Open Surdo

Высокое Q

Слэп

Царапанье (от себя)

Царапанье (к себе)

Барабанные палочки

Электронный метроном

Метроном

Звенящий метроном

Акустический большой барабан

Большой барабан

Удар по ободу

Акустический малый барабан

Хлопок в ладоши

Электрический малый барабан

Низкий напольный томтом

Закрытый хэт

Высокий напольный томтом

Хэт (педалью)

Низкий томтом

Открытый хэт

Низкий средний томтом

Высокий средний томтом

Крэш-тарелка

Высокий томтом

Райд-тарелка

Китайская тарелка

Райд-тарелка (по центральной части)

Бубен

Сплэш-тарелка

Коровий (альпийский) колокольчик

Крэш-тарелка 2

Вибрирующий слэп

Райд-тарелка 2

Высокий бонго

Низкий бонго

Закрытый высокий бонго

Открытый высокий бонго

Низкая конга

Высокий тимбал

Низкий тимбал

Высокий агого

Низкий агого

Кабаса

Маракас

Короткий свисток

Длинный свисток

Короткое гуиро

Длинное гуиро

Клавес

Высокая коробочка

Низкая коробочка

Закрытая куика

Открытая куика

Закрытый треугольник

Открытый треугольник

Шейкер

Бубенцы

Бунчук

Кастаньеты

Закрытый сурдо

Открытый сурдо

В последнее время среди музыкантов стало «модным» подвергать стандарт GM довольно сильной критике. При этом обычно называют два его основных недостатка. Во-первых, несмотря на идентичность (или схожесть) названий «инструментов», в различных звуковых модулях они построены по-разному, что может дезориентировать музыканта, считающего свою MIDI-композицию «универсальной»; а для того, чтобы она действительно являлась таковой, ему необходимо отказаться от использования большинства исполнительских штрихов. Во-вторых, ограниченный набор из 128 инструментов не дает музыкантам «развернуться».

Все это отчасти верно. Однако GM позволяет пусть и не идеально, но все же унифицировать MIDI-секвенции. Нельзя не согласиться, что впервые воспроизводя незнакомую секвенцию, лучше сразу услышать ее тембровое решение, чем гадать, какие же все-таки тембры имелись в виду (а «угадать» зачастую бывает просто невозможно). Что же касается ограниченного количества «инструментов», уместно вспомнить, сколько инструментов с учетом различных приемов игры предоставляет традиционный симфонический оркестр — в зависимости от способа подсчета получается обычно цифра от 40 до 90, что явно меньше, чем 128. Любое устройство, соответствующее спецификации General MIDI, помимо перечисленного набора из 128 «инструментов» и 61-звучного набора ударных на 10 MIDI-канале, должно отвечать следующим требованиям:

- многотембровость с одновременным использованием 16 MIDI-каналов;

- 24-голосная полифония;

- возможность использования velocity, колеса высоты, а также 7 основных контроллеров (громкость, выразительность, пространственная локализация, демпферная педаль, вибрато и др).

Стандарт Roland GS

В связи с некоторой «ограниченностью» набора из 128 тембров некоторыми фирмами-производителями музыкального оборудования неоднократно предпринимались попытки расширения стандарта General MIDI. Так появились еще два достаточно распространенных стандарта (хотя и гораздо менее, чем GM). Один из них, разработанный компанией Roland, носит имя General Sound (GS).

Этот стандарт имеет «обратную совместимость» с General MIDI, то есть предполагается, что любая MIDI-секвенция, созданная для GM-устройств, может быть успешно воспроизведена и на GS-устройствах. Все GS-устройства должны соответствовать перечисленным выше требованиям к GM-устройствам. Кроме того, для них предусмотрены некоторые дополнительные требования:

- минимальный набор из 226 «инструментов», причем для выбора «инструментов», не входящих в базовый набор, используется переключение банков с помощью контроллера № 0;
- несколько (до 128) различных 61-звучных наборов ударных;
- поддержка как минимум 20 контроллеров;
- возможность динамической редакции по MIDI восьми звуковых параметров (время атаки и затухания, частота среза фильтра, скорость вибрато и пр.);
- возможность динамической редакции по MIDI пяти параметров для ударных тембров (высота, пространственная локализация, а также уровень громкости, реверберации и хоруса);
- широкие возможности редактирования звучания с помощью исключительных системных MIDI-сообщений.

Стандарт GS не получил столь широкого распространения, как General MIDI, однако многие музыканты все же отдают ему предпочтение. Более того, с GS-стан-дартом обычно считаются производители музыкальных программ и MIDI-редак-торов. Например, в программе Cubase (см. главу 7) существует специальный редактор для GS-устройств.

Расширенный стандарт XG

Другим распространенным расширением General MIDI является разработанная компанией Yamaha спецификация XG (Extended General MIDI). Она была впервые описана в 1994 году. Стандарт XG, как и GS, обладает «обратной совместимостью» с General MIDI. Любая GM-секвенция может быть воспроизведена йа XG-устройстве, но не наоборот.

Прежде всего, спецификация XG поддерживает гораздо большее количество «инструментов», чем GM и GS. Устройства, соответствующие этой спецификации, должны обеспечивать переключение банков с помощью контроллеров № 0 и № 32, как было описано выше (всего поддерживается, таким образом, 2 097 152 различных «инструмента»). Минимальный набор, определенный в спецификации, должен содержать 480 инструментов.

Кроме того, контроллер № 0 определяет еще и тип выбираемого «инструмента». Если значение этого контроллера равно 0, то выбирается «мелодический» голос, а при значении, равном 64, выбирается «эффект». Если нулевой контроллер имеет значение 126, это означает выбор «набора эффектов», в котором каждой клавише соответствует свой звук. И наконец, значение 127 включает какой-либо набор ударных. Кстати, это позволяет использовать любой из 16 MIDI-каналов для партии набора ударных (а не только 10-й, как в GM). И наоборот, 10-й канал может быть использован для любого типа «инструмента». Если же выбранный «инструмент» отсутствует на данном XG-устройстве, то вместо него включается соответствующий GM-тембр.

Спецификация XG предусматривает и большие возможности редакции исполнительских параметров по MIDI. Это могут быть такие параметры, как время атаки и затухания, частота и крутизна среза фильтра и пр.

Предусмотрены также три группы эффектов — реверберация, хорус и вариативные эффекты. Минимальное количество типов реверберации и хоруса — 8, а вариа-тивных эффектов — 35. Вариативные эффекты включают в себя как различные варианты и комбинации реверберации и хоруса, так и дополнительные эффекты — вращение, тремоло, амплитудное вибрато, вау-вау, искажение и т. п. Любой эффект может быть использован как на отдельном MIDI-канале, так и на общем выходе.

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

Кроме того, в XG-устройствах можно применять эффекты к внешнему звуковому каналу. Практически это означает, что пользователь имеет возможность подключить к устройству микрофон или, к примеру, электрогитару и применять к входящему звуковому сигналу все те же самые эффекты, которые доступны на MIDI-дорож-ках. Сами эффекты при этом контролируются по MIDI обычным образом.

Спецификация XG применяется в основном в звуковых модулях производства Yamaha (например, в последнее время стала очень популярной дочерняя звуковая карта Yamaha DB50XG). Однако в звуковых модулях других фирм также часто можно встретить полную или частичную поддержку XG. А отдельные элементы спецификации XG уже настолько прочно вошли в нашу жизнь, что воспринимаются большинством пользователей как неотъемлемая часть стандарта MIDI. Многие программы MIDI-редакции (например, Cubase от компании Steinberg или Cakewalk от Twelvetone Systems) имеют удобные средства для управления XG-устройствами.