WT-СИНТЕЗАТОР В ДОМАШНЕЙ ЗВУКОВОЙ СТУДИИ
Если вы по-настоящему увлеклись компьютерной музыкой, то рано или поздно стандартный набор инструментов музыкального синтезатора звуковой карты начнет сковывать ваши творческие порывы. Как создавать свои собственные наборы инструментов? Как загружать наборы инструментов в звуковую карту? Информация, содержащаяся в данной главе, может быть полезна не только начинающим, но и опытным компьютерным музыкантам. Вы познакомитесь с некоторыми возможностями звуковой карты, которые не лежат на поверхности, о которых скромно молчит руководство пользователя. Например, если вы увлекаетесь современной техномузыкой, то может возникнуть вопрос: «Есть манипуляторы, управляющие громкостью, панорамой, реверберацией, хорусом... А как же, например, управлять параметрами резонансного фильтра в процессе воспроизведения MIDI-файла ? » Ведь без подобных эффектов («квакушек») просто нечего и думать о создании своего собственного полноценного rave-произведения. Ответы на этот и многие другие вопросы вы найдете в данной главе. Речь пойдет о создании наборов инструментов для WT-синтезаторов звуковых карт, а именно для синтезаторов на базе микросхемы EMU8000. Почему именно EMU8000? Ведь существуют звуковые карты с синтезаторами ICS WaveFront. А как же знаменитый Gravis Ultrasound?
На заре эпохи средств мультимедиа для IBM-совместимых компьютеров существовало много созданных различными фирмами звуковых карт, которые были абсолютно несовместимы друг с другом. Эти карты использовали не только разные наборы микросхем синтезаторов, но иногда и различные методы синтеза. Тембр синтезируемого звука зачастую напоминал звук громкоговорителя, установленного в корпусе PC, и тогда это было совсем не так уж и плохо. Но истинными победителями в конкурентной борьбе за стандарт
стали наборы микросхем OPL-2, а затем и OPL-3. Именно эти FM-синтезато-ры использовались в звуковых картах фирмы Creative Labs. Кстати, до сих пор в современных звуковых картах семейства Sound Blaster используются синтезаторы OPL-3, хотя это, скорее всего, обусловлено стремлением поддерживать совместимость со старым программным обеспечением.
Возможно, через какое-то время EMU8000 станет таким же стандартом, каким является OPL-3. И для этого есть все основания. Причина успеха OPL-3 — оптимальное (для своего времени) отношение цена/возможности. На момент написания книги наиболее доступными по цене и в то же время обладающими широкими возможностями являются звуковые карты, в которых применяется EMU8000. С ценой все понятно. А вышеупомянутые «широкие возможности» WT-синтезатора определяются не нашими субъективными оценками типа: «Этот синтезатор нравится нам потому, что он хороший», — а бесстрастными цифрами технических характеристик: числом голосов, частотой дискретизации выходного ЦАП WT-синтезатора, разрядностью сэмп-лов, объемом адресуемой памяти и т. д.
Если рассмотреть эти характеристики в комплексе и учесть стоимость, то титулом «лучший выбор» следует наградить именно EMU8000. Мы перечислили сейчас только музыкальные возможности звуковых карт. Если рассматривать такие характеристики как, например, разрядность ЦАП/АЦП звуковой карты, максимальная частота дискретизации, отношение сигнал/шум, то карты семейства AWE, в которых используется только что расхваленный нами чип EMU8000, выглядят довольно бледно на ярком фоне своих конкурентов. Но как ни странно, некоторые из этих конкурентов еще только собираются оснащать свои новейшие модели звуковых карт синтезатором на базе EMU8000.
Слово «SoundPont», с которым вы познакомитесь в этой главе, является обязательным атрибутом не только звуковых карт семейства Sound Blaster (SB AWE32, SB 32, SBAWE64, SB AWE64 GOLD), но и многих других устройств, отмеченных логотипом, который показан на рис. 3.1.
В разд. 3.2. мы подробно расскажем о SoundFont. Эти сведения могут пригодиться и в будущем, а может быть уже и в настоящем. Информация, содержащаяся в следующих разделах, несомненно расширит ваш кругозор.
Даже если вы не собираетесь в ближайшее время работать со звуковыми картами семейства AWE, следующие разделы могут принести пользу «для обще-
го развития». Вы узнаете не только о потенциальных аппаратных возможностях синтезаторов на базе EMU8000, но и о хорошо развитой программной поддержке.
3.1. EMU8000
Какая же связь может существовать между MIDI-инструментом и WAVE-файлом? В WT-синтезаторах связь между ними самая непосредственная! BeAbWAVE-файл— это ни что иное, каксэмпл, aWT-синтезатор — это тот же сэмплер.
Основой «голоса» EMU8000 (как и любого другого WT-синтезатора) является цифровой звук. В этом и заключается самое главное отличие WT- от FM-синтезаторов, у которых «голосовыми связками» являются генераторы аналоговых колебаний строго определенной формы. В принципе, используя FM-синтез, можно получить очень большое количество тембров. Однако, как вы узнаете из этой главы, на основе одной и той же волновой формы при использовании WT-синтезатора можно получить еще большее количество тембров (а ведь количество сэмплов ограничивается только объемом памяти звуковой карты). Все дело в том, что WT-синтезатор — это не просто «маленький цифровой магнитофончик», который может в цикле и с разной скоростью (а значит и в различной тональности) воспроизводить свою фонограмму — сэмпл. На самом деле он может выполнять гораздо более сложные операции над генерируемым звуком: пропускать его через резонансный фильтр, модулировать как по амплитуде, так и по частоте, накладывать различные эффекты и т.п.
Для того чтобы более осмысленно работать с редактором инструментов, вам придется познакомиться с архитектурой звукового элемента микросхемы EMU8000. Здесь, наверное, потребуется дать определение словосочетанию «звуковой элемент». Это функционально законченный аппаратно реализованный элементарный блок полифонического синтезатора, который воспроизводит звучание только одного голоса. Слово «полифонический» означает, что у синтезатора таких блоков много, и каждый из них в определенный момент времени генерирует только один звук. Когда вы берете аккорд на MIDI-клавиатуре, не подозревая того, включаете в работу столько звуковых элементов, сколько нот в аккорде, а в некоторых случаях и больше.
Структурная схема звукового элемента EMU8000 показана на рис. 3.2.
Мы не случайно использовали английские названия функциональных блоков на этой схеме. Дело в том, что при работе с редактором Vienna SoundFont Studio 2.1 вам придется столкнуться именно с «англоязычными» настройками звукового элемента EMU8000.
Рис. 3.2. Структурная схема звукового элемента EMD8000
Вернемся к схеме. Какие же преобразования претерпевает сэмпл, прежде чем попасть на выход EMU8000? Сразу отметим, что все преобразования над сэм-плом происходят в цифровом виде.
Итак, знакомьтесь: сердце звукового элемента—осциллятор (oscillator) —тот самый воображаемый цифровой магнитофончик, о котором мы говорили ранее. Это устройство воспроизводит сэмпл с заданной скоростью. Скорость воспроизведения зависит от номера нажатой MIDI-клавиши. Кроме того, этот «магнитофончик» может воспроизводить звук в цикле: «докрутил» звук до отметки конца цикла и быстро перескочил к метке начала цикла (и так — по кругу). Можно сделать и так, чтобы при отпускании MIDI-клавиши, «магнитофончик» выходилиз цикла и начинал воспроизводить все оставшиеся фазы сэмпла подряд, пока сэмпл не закончится.
Любой музыкальный инструмент требует настройки, и цифровое устройство в этом смысле не является исключением: звучание сэмпла может не соответствовать той ноте, с которой этот сэмпл связан логически. В дальнейшем вы узнаете, как можно точно настроить цифровой музыкальный инструмент.
С выхода осциллятора цифровая информация о звуке попадает на резонансный НЧ-фильтр (Resonant Low Pass Filter), с помощью которого можно изменять спектр сэмпла, получая при этом очень интересные эффекты, например, эффект, называемый «Wah-wah» («Вау-вау»). Частотная характеристика фильтра определяется двумя параметрами: частотой среза (Filter Cutoff) и коэффициентом усиления фильтра на частоте среза (Resonance). Последний из параметров часто обозначается как Filter Q.
После фильтрации звуковые данные попадают на усилитель [Amplifier), где им придается заданная в пространстве «громкость-время» форма — огибающая амплитуды.
Остается пропустить его некоторую часть звукового сигнала через эффект-процессор (Effects Engine) для реализации эффектов реверберации и хоруса (Reverb, Chorus). Наверное, требуется пояснить, что значит «некоторая часть звукового сигнала». В звуковом элементе сигнал следует двумя путями: первый ведет непосредственно на выход эффект-процессора, а второй — через эффект-процессор. На первом пути звук не претерпевает никаких изменений. Проходя же по второму пути, он может, например, полностью превратиться в эхо. Затем эти пути вновь сходятся: исходный звук смешивается со своим эхом. Очевидно, регулировать глубину эффектов можно, изменяя уровень сигнала, следующего вторым путем.
Теперь звуковые данные полностью готовы к преобразованию и поступают на ЦАП синтезатора EMU8000, а затем или на микшер звуковой карты, или непосредственно на ее цифровой выход в стандарте S/PDIF.
Кроме рассмотренных четырех блоков, в которых происходит генерация и преобразование звукового сигнала, существуют еще два вспомогательных генератора, формирующие низкочастотные колебания: LF01 и LF02 (Low-Frequency Oscillator). Низкочастотные колебания требуются для реализации эффектов частотной (вибрато) и амплитудной (тремоло) модуляции, а также тембрового вибрато (эффекта «Вау-вау»). У каждого из генераторов имеется два регулируемых параметра: Delay — задержка начала низкочастотной генерации от момента начала звучания сэмпла, Freq — частота колебаний.
Два генератора огибающей Pitch/Filter и Volume Envelope Modulation предназначены для управления высотой тона (Pitch), параметрами фильтра (Filter) и громкостью (Volume) непосредственно в процессе воспроизведения сэмпла.
В отличие от традиционного четырехфазного представления звука ADSR (аббревиатура от Attack, Decay, Sustain, Release) в EMU8000 звук состоит из шести фаз (DAHDSR): Delay (задержка), Attack (атака), Hold (удержание), Decay (спад), Sustain (поддержка) и Release (освобождение). Именно по этой причине на блоке Envelope Parameters (параметры огибающей) изображено шесть регуляторов, каждый из которых символизирует возможность управления определенной фазой звука. Фазы звука показаны на рис. 3.3.
Мы перечислили только основные блоки звукового элемента EMU8000 (см. рис. 3.2). Кроме основных блоков, на ней символически показаны регуляторы, при помощи которых можно изменять тот или иной параметр звукового элемента. Конечно же, никаких регуляторов физически не существует, все настройки — это числа, которые хранятся в памяти драйвера, обслуживающего EMU8000. Треугольниками обозначены модуляторы. Для того чтобы вы лучше поняли их назначение, приведем пример из нашей повседневной жизни. Все пользуются водопроводным краном. Напор воды характеризуется
Рис. 3.3. фазы звука EMU8000
положением ручки крана. Теперь проведем аналогию между водопроводным краном и модулятором в схеме EMU8000: кран — модулятор, вода — исходный сигнал (например, низкочастотные колебания от LF01), ручка — модулирующий сигнал (например, LF01 to Pitch), положение ручки — параметр регулировки, т. е. число, характеризующее глубину модуляции (в нашем примере речь идет о частотной модуляции — частотном вибрато).
Теперь вы уже, наверное, представляете основу технологии создания собственных инструментов: для создания нового инструмента (или даже целого оркестра) потребуется один или несколько сэмплов. А как их записать и обработать, известно из гл. 2. Однако сэмпла еще недостаточно для создания нового инструмента. Только после настройки из обычного WAVE-файла получится полноценный MIDI-инструмент.
Ниже рассмотрим некоторые технологические аспекты создания и хранения информации об инструментах.
3.2. Что такое SoundFont?
Для компактного хранения сэмплов и настроек музыкального синтезатора был придуман специальный формат данных, о котором сейчас пойдет речь.
Существует несколько взглядов на то, что принято называть термином SoundFont. Естественно, каждый из них имеет право на существование:
> SoundFont — формат данных, в котором хранится информация, необходимая компьютеру для генерации музыкальных звуков или эффектов с помощью WT-синтезатора, SoundFont содержит в себе сэмплы и инструкции для аппаратного обеспечения (WT-синтезатора), которые определяют способы манипуляции сэмплами (или положение виртуальных регуляторов, о которых мы говорили в предыдущем разделе).
> SoundFont — шрифт. Да, не удивляйтесь, SoundFont — это шрифт, только звуковой. Ведь Sound — звук, a Font — шрифт. Во всяком случае, SoundFont подобен символьным шрифтам в текстовых процессорах. Например, можно провести такую аналогию: сэмпл пианино — это буква «а» в звуковом шрифте. Различные варианты звучания этого инструмента, определяемые настройками WT-синтезатора — это различные стили начертания символа «а». Набор таких звуковых символов составляет своеобразный алфавит, в который вы можете добавлять свои собственные «буквы», расширяя тем самым возможности музыкального синтезатора.
/> Наиболее часто используемое определение: SoundFont — это банк инструментов, который хранится на диске в виде специальных файлов и может загружаться в память синтезатора для последующего использования при воспроизведении MIDI-информации.
На момент написания книги существовали две основные версии «звукового шрифта» : SoundFont 1.0 (или просто SoundFont) и SoundFont 2.0. В будущем вы можете столкнуться с модификациями последней версии, которые можно было бы обозначить как SoundFont 2.x. Ведь рано или поздно появится более совершенная аппаратура с более широкими возможностями, следовательно, будет разработана и ее программная поддержка.
Мы не станем рассматривать работу с SoundFont 1.0, т. к. этот формат морально устарел. Но если у вас уже имеется коллекция звуковых банков в формате 1.0 (файлы с расширением SBK), то без особого труда можно произвести их конвертацию в формат SF 2.0 (файлы с расширением SF2). Это можно сделать, например, при помощи специальной утилиты SF1T02.EXE или при помощи редактора банков Vienna SoundFont Studio 2.1, о котором речь пойдет ниже, и без которого просто не обойтись при создании собственных инструментов.
Вы можете столкнуться с проблемой: программное обеспечение, которое должно работать с банками '.SF2, может отказаться выполнять свои обязанности. Причина — устаревшие системные драйверы звуковой карты. Решение простое: достаточно установить более новые драйверы. Драйверы являются свободно распространяемым программным обеспечением. Успех производителей оборудования массового потребления основан на отсутствии проблем с его программной поддержкой. Первый путь решения проблемы — скопировать драйверы в фирме, продавшей вам звуковую карту. Вряд ли вам
откажут в помощи, а если откажут, то это будет выглядеть, по меньшей мере, странно. Вас могут отослать к Internet. Но ведь покупая звуковую карту, вы не обязаны покупать к ней Internet. Второй вариант: все-таки воспользоваться Internet —панацеей от любых устаревших драйверов для любого оборудования. На сайте www.creaf.com вы за несколько минут найдете и скопируете самые свежие драйверы для любой из звуковых карт семейства AWE.
После установки драйверов все должно работать «как надо». Если нет, попробуйте загрузить хотя бы старый банк ('.sbk), но обязательно тот, который использует ОЗУ вашей звуковой карты, а не те сэмплы, что прошиты в ПЗУ, О том, как загружать банки в память звуковой карты, вы узнаете из разд. 3.4, посвященного работе с AWE Control Panel. Если старый банк загружается нормально, проверьте правильность установки драйверов. Если не загружается даже старый банк, то, вероятно, появились проблемы с памятью на звуковой карте. Возможно, плохо установлены модули SIMM. Однажды у нас была такая ситуация. Мы просто вынули модули и опять установили их на место, но на этот раз аккуратно.
Для диагностики звуковой карты семейства Sound Blaster AWE существует специальная утилита Diagnostic Utility for 16-bit Audio Card версии не позже 3.03 или просто DIAGNOSE.EXEv.3.03. С ее помощью вы можете протестировать звуковую память (audio DRAM). Эту и многие другие утилиты (например, SF1T02.EXE, о которой мы уже говорили) можно найти на уже упомянутом сайте www.creaf.com.
Вернемся к рассмотрению организации SoundFont. Звуковой банк делится на три уровня:
^ самый нижний с логической точки зрения уровень — уровень сэмплов;
?• средний — уровень инструментов;
> высший — уровень пресетов.
Логическая структура SoundFont показана на рис. 3.4.
Как видно из схемы, в звуковом банке может содержаться один или несколько пресетов, в каждом пресете — один или несколько инструментов, в каждом инструменте — один или несколько сэмплов.
Каждый из объектов этой структуры имеет свое имя и содержит свою специфическую информацию.
Сэмплы могут включать в себя не только оцифрованный звук, но и некоторые дополнительные параметры, например, начало и конец петли.
Объект «инструменты» может оперировать несколькими сэмплами. Инструменты содержат такую информацию, как, например, настройки синтезатора при воспроизведении сэмпла или зона действия сэмплов на MIDI-клавиатуре. В каждой зоне, заданной пользователем, может звучать определенный сэмпл.
В предельном случае, для каждой клавиши MIDI-клавиатуры может быть задан свой сэмпл. Разные инструменты могут использовать одни и те же сэмплы.
Пресеты — это те самые инструменты (не путайте с понятием «инструменты» в SoundFont), которые вы выбираете в музыкальных редакторах при создании своей музыки. Для выбора пресета при воспроизведении MIDI-файла музыкальными редакторами используется команда Program Change (или Patch Change), параметрами которой является номер банка и номер инструмента (пресета) в банке. Каждый пресет может содержать один или несколько инструментов. Разные пресеты могут использовать одни и те же инструменты.
При такой организации звукового банка нажатием клавиши на MIDI-клавиа-туре вы можете заставить звучать одновременно множество сэмплов. Это значит, что общий тембр пресета может быть очень богатым. Или, например, в одной части клавиатуры у вас будет звучать пианино, а в другой — трио, состоящее из скрипки, электрогитары и вашего собственного (предварительно оцифрованного) голоса. Комбинации могут быть совершенно фантастическими. Единственное ограничение — это ограниченная полифония звуковой карты. EMU8000 может одновременно формировать 32 голоса.
Итак, если вы попытаетесь задействовать сразу более 32 голосов (а значит и звуковых элементов), то у вас ничего не получится: EMU8000 в состоянии воспроизвести только 32 голоса.
Из предыдущего раздела вы знаете, что для создания нового тембра, кроме загрузки сэмпла в память звуковой карты, потребуется отрегулировать некоторые параметры воспроизведения этого сэмпла. Такими параметрами, например, могут быть: Chorus (хорус), Coarse Типе (подстройка) и Filter (фильтр). Их обычно называют генераторами. Сам процесс настройки параметров называется редактированием. SoundFont 2.0 можно редактировать на двух логических уровнях — на уровне инструментов и пресетов.
При редактировании на уровне инструментов вы можете оперировать абсолютными значениями настраиваемых характеристик для каждого сзмпла,
входящего в текущий инструмент. Настройки генераторов на уровне пресе-тов привязаны к установленным значениям настроек, произведенных на уровне инструментов. Иными словами, если инструмент состоит из нескольких уже настроенных сэмплов, но вы хотите придать ему новое звучание (перестроить параметры какого-либо генератэра), то не обязательно перестраивать каждый из сэмплов по отдельности. На уровне пресетов вы сможете перестроить звучание всего инструмента (а значит и всех сэмплов, входящих в этот инструмент).
Существует целый ряд иностранных терминов — названий определенных технологий, которые неразлучно связаны словом SoundFont. Одно из них, с которым вам предстоит иметь дело — мультисэмплинг.
3.2.1. Мультисэмплинг
Мультисэмплинг (Multi-Sampling) — это технология, которая позволяет «привязать» сэмплы к отдельным клавишам или к группам клавиш MIDI-клавиату-ры, как показано на рис. 3.5. Как вы увидите в дальнейшем, именно такая форма графического представления областей действия сэмплов используется в Vienna SoundFont Studio 2.1, впрочем, как и во многих других редакторах инструментов.
Рис. 3.5. Мультисэмплинг. Пример размещения зон действия сэмплов
Что же скрывается за сухим определением мультисэмплинга? Ни много ни мало, а возможность сэмплера звучать не хуже любого «живого» инструмента. В принципе, для создания инструмента можно обойтись всего одним-двумя сэмплами. Но при этом звучание инструмента будет далеко не идеальным. У реальных инструментов тембр зависит от высоты звука. Выражаясь научно, спектральная характеристика звука будет изменять свою форму в зависимости от частоты. Например, у фортепиано тембр звука каждой из клавиш хоть немного, но все-таки отличается даже от своих ближайших клавиш-соседей, не говоря уже о клавишах, расположенных предельно далеко друг от
друга — в начале и в конце клавиатуры. В принципе, можно записать звучание музыкального инструмента для каждой ноты, а полученные сэмплы привязать к каждой из клавиш MIDI-клавиатуры. Но в этом случае для размещения звукового банка потребуется несколько мегабайт памяти, которой всегда не хватает.
Существует компромиссный вариант: записать сэмплы для групп клавиш, выбранных так, чтобы в пределах каждой из них вариации тембра звучания реального инструмента были бы не заметны на слух. Это позволило бы существенно снизить затраты памяти и в то же время получить вполне качественный, близкий к живому звук. Так обычно и поступают.
Применение данной технологии позволяет свести на нет одну не очень очевидную, но существенную проблему: для получения разных нот сэмплы воспроизводятся с разной скоростью, при этом изменяется их длина (время звучания сэмпла или период его циклического воспроизведения). В некоторых очень сложных и дорогих синтезаторах для устранения последствий этого эффекта используются не менее сложные алгоритмы синтеза. Звук представляется в виде маленьких гранул, т. е. сэмпл разбивается на некоторое количество фрагментов, каждый из которых воспроизводится со скоростью, соответствующей заданной ноте. При этом возникают дополнительные издержки:
необходимо очень точно соединить отдельные гранулы так, чтобы в местах соединений были не слышны щелчки. Для этого используются специальные алгоритмы интерполяции. Кроме того, при воспроизведении сэмпла со скоростью, существенно ниже той, на которой он был записан, из него пропадают высокочастотные составляющие, присутствующие в любом тембре (даже в басовых инструментах).
Приведем простой пример. Пусть изначально сэмпл был записан для ноты «до» пятой MIDI-октавы (при нумерации октав, начиная с нулевой) с частотой дискретизации 44,1 кГц. Это значит, что для этой ноты спектр звука потенциально может простираться до 44,1/2=22,05 кГц (по теореме Котельникова). Для того чтобы получить ноту «до» четвертой октавы, синтезатор должен воспроизводить этот сэмпл со скоростью в два раза ниже той, на которой он был записан, т, е. с частотой дискретизации 22,05 кГц. По теореме Котельникова:
22,05/2 = 11,025 кГц — максимальная частота звукового сигнала. Это значит, что в спектре сигнала область частотного диапазона размером 11,025 кГц будет отсутствовать, т. е. спектр звука будет ограничен в области высоких частот значением 11,025 кГц.
Для решения задачи генерации высококачественного звука фирма E-mu Systems, Inc. пошла другим (более простым) путем — сэмплы не разбиваются на гранулы, а хранятся целиком. Благодаря технологии мультисэмплинга, проблема изменения длины сэмпла с высотой тона решается «в лоб», хотя это не очень удобно и требует большого объема памяти звуковой карты. Так как же сделать длину сэмплов фиксированной? Еще не догадались? Очень просто! Каждой клавише — по собственному сэмплу! И нажимайте себе на любые
клавиши, длительность сэмплов при этом будет оставаться фиксированной. А если вы не можете позволить себе такой роскоши как, например, 16 мБайт специальной аудиопамяти для SB AWE64 ? Или может быть на вашей звуковой карте SB 32 стоит всего два 30 pin SIMM no 1 Мбайт? Ничего страшного. Этих двух мегабайт вполне хватит для того, чтобы преодолеть трудности с изменением длительности звучания сэмплов. Вот две очень простые рекомендации:
> Совсем не обязательно присваивать всем 128 клавишам MIDI-клавиа-туры по сэмплу. Вряд ли вам понадобится весь этот огромный диапазон. Можно обойтись всего несколькими октавами.
> Совсем не обязательно присваивать каждой отдельной клавише по сэмплу. Здесь нет никакого противоречия со сказанным выше. Можно «растянуть» каждый сэмпл на несколько клавиш. Но это надо проделать так, чтобы изменения длительности звуковых фрагментов не были заметны на слух. Не забывайте: чем меньше клавиш в этой группе, тем лучше.
При разработке собственных звуковых банков с использованием этих рекомендаций для создания электронных аналогов акустических инструментов вы можете столкнуться с проблемами. В домашних условиях попытка создать свой собственный качественный инструмент, например, записать звучание акустической гитары, вряд ли увенчается успехом. Для таких целей нужны лаборатории, оснащенные специальным оборудованием. Поэтому в качестве «стандартных» инструментов все-таки лучше использовать звуковые банки, созданные специалистами фирмы E-mu Systems, Inc. И если есть такая возможность, постарайтесь установить на звуковую карту побольше памяти: чем ее больше, тем естественнее будут звучать голоса инструментов (при условии использования фирменных банков, рассчитанных на тот объем памяти, который установлен на вашей звуковой карте). А место для ваших собственных инструментов еще найдется. Например, если на звуковой карте установлено 8 Мбайт памяти, то при загрузке GM-банка фирмы E-mu объемом 8 Мбайт у вас еще останется около 1 Мбайт свободной звуковой памяти.
Существует еще одна важная особенность мультисэмплинга. Связав сэмплы различных инструментов (при этом можно использовать не только свои собственные сэмплы, но и фирменные) с различными группами клавиш, можно получить одновременно несколько инструментов на одной MIDI-клавиатуре, например, для левой руки — контрабас, для правой — флейту. Это значит, что вы можете управлять по одному MIDI-каналу несколькими инструментами одновременно. Правда при этом сузятся диапазоны звучания этих инструментов, ведь MIDI-клавиш всего 128. Но, как вы уже знаете из приведенной выше рекомендации, этого должно хватить. Тем более что для управления компьютерными аналогами «живых» инструментов, такими как, например, фортепиано, используется далеко не все 128 MIDI-клавиш. Может и не придется ограничивать диапазон звучания инструмента.
Музыкальные инструменты (условные контрабас и флейту) можно заменить на спецэффекты, например на различные фразы, произнесенные человеком, звуки различных природных и технических объектов. Именно так и поступил автор некогда очень популярной композиции «Даду-даду».
3.2.2. Многослойность
Многослойность (Multi-Layering) —технология, позволяющая воспроизводить одновременно несколько сэмплов для озвучивания одного инструмента. Как видно из рис. 3.6, «слои» в данном случае — это сэмплы, которые расположены как бы друг над другом.
Поговорим о том, как можно использовать данную технологию. Первое, что приходит в голову — это возможность создания сложных, изменяющихся во времени тембров. В качестве примера можно привести пресет 101 «Goblin» из набора General MIDI, который состоит из нескольких относительно простых сэмплов, но в совокупности они дают фантастическое звучание, присущее звуковому сопровождению фильмов ужасов.
Многослойность можно применять для создания стереофонических пресе-тов. «А разве на выходе EMU8000 не стереозвук?» — возможно, спросите вы. Действительно, стерео, здесь нет никакого подвоха. Но любой сэмпл— это WAVE-файл формата 16 бит/моно. Если для построения инструмента использовать всего один сэмпл, то полученный звук будет, в некотором смысле, стереофоническим: можно изменять его положение в пространстве, добавлять по желанию реверберацию и хорус (эхо от этого инструмента тоже будет стереофоническим). Но сам инструмент на звуковой панораме будет представлять собой точку, т. е. ощущение протяженности источника звука в пространстве будет полностью отсутствовать. Обойти это ограничение просто. Если у вас имеется WAVE-файл в формате 16 бит/стерео, то достаточно разделить файл на два сэмпла, каждый по 16 бит/моно и задействовать эти сэмплы в одном инструменте. Теперь остается только развести сэмплы в разные стороны панорамы: сэмпл, который раньше соответствовал левому каналу стереофонического WAVE-файла — в предельно левое положение, а сэмпл, соответствующий правому каналу — в предельно правое.
В действительности дела обстоят даже проще, чем вам могло показаться. При импортировании WAVE-файлов редактор Vienna SoundFont Studio 2.1 выполнит автоматическое разделение стереофонических файлов на два сэмпла с пометками «(L)» и «(R)», что означает «левый» и «правый» соответственно.
Дайте волю своей фантазии, возможно, вам удастся найти новые применения технологии многослойности.
В заключение остается добавить, что технологии мультисэмплинга и многослойности можно использовать одновременно, получая при этом любую необходимую конфигурацию зон действий сэмплов. Пример одновременного использования двух технологий приведен на рис. 3.7.
Рис. 3.7. Пример одновременного использования технологий мультисэмплинга и многослойности
Теперь, после того как мы сообщили вам общие сведения, можно переходить к практической работе с редактором звуковых банков Vienna SoundFont Studio ?.. I.
3.3. Vienna SoundFont Studio 2.1 из программного обеспечения звуковых карт семейства AWE
Версия редактора, имеющегося в вашем распоряжении, может немного отличаться от рассматриваемого в данной книге. В этом нет ничего удивительного, отличия могут быть столь незначительны, что вы их даже не заметите (мы имеем в виду Vienna SoundFont Studio 2.0). Владельцы этой программы, обладающие возможностью выхода в Internet, могут без труда, прямо сейчас провести ее усовершенствование до версии 2.1. Соответствующий файл вы сможете найти во время виртуальной прогулки по серверу фирмы Creative Labs (www.creaf.corn}. Может оказаться и так, что вместе с остальным про-
граммным обеспечением звуковой карты вам достался редактор Vienna SoundFont Studio 1.0. В этом случае мы рекомендовали бы все-таки поискать версию программы, работающей с SoundFont 2.x. Найти ее будет несложно.
Итак, приступим к работе с Vienna SoundFont. Studio 2.1. Вид главного окна редактора показан на рис. 3.8.
Рис. 3.8. Главное окно программы Vienna SoundFont Studio 2.1.
Прежде чем начать изучение возможностей программы, ее необходимо подготовить к работе. Удобнее всего прослушивать (и прощупывать в прямом смысле этого слова) результаты своей работы при помощи MIDI-клавиатуры, которая обычно подключается через MIDI-интерфейс звуковой карты. Если у вас нет лишней пары сотен условных единиц, то можно воспользоваться устройством ввода, реализованным программным способом, — виртуальной MIDI-клавиатурой. Для того чтобы указать программе источник входной MIDI-ин-формации, выберите команду Select MIDI In Devices главного меню MIDI Keyboard. При этом появится окно диалога, которое изображено на рис. 3.9.
В нашем примере выбран MIDI-интерфейс SB AWE32, к которому подключена MIDI-клавиатура. Пусть вас не смущает запись SB 16. Все современные карты семейства AWE — по сути дела некоторый гибрид Sound Blaster 16 и синтезатора на основе EMU8000. Если об использовании этого чипа речь не идет, то программное обеспечение воспринимает карту именно в качестве SB 16.
Возможно, после вызова окна диалога Select MIDI In вы увидите список устройств, несколько отличный от того, который показан на рис. 3.9. Спокойно разберитесь в том, какие же устройства лучше всего использовать для ввода MIDI-информации.
После того как вы выберите устройство ввода и нажмете кнопку ОК, вернемся к главному окну программы.
3.3.1. Главное окно программы
Кроме уже упомянутого главного меню (обязательного атрибута большинства приложений MS Windows), в главном окне программы расположено довольно большое количество элементов интерфейса. Рассмотрим каждый из них.
При изучении программы для наглядности лучше всего загрузить какой-нибудь готовый SoundFont. Для этого воспользуйтесь командой главного меню File > Open.
Панель инструментов (рис. 3.10) состоит из следующих кнопок:
^" New — очистить память для создания нового звукового банка;
> Open — загрузить уже существующий звуковой банк;
> Save — сохранить звуковой банк на диске;
> Bank Manager — вызвать менеджер банков;
^ Cut — вырезать объект и поместить его в буфер обмена;
> Copy — копировать объект в буфер обмена;
> Paste — вставить объект из буфера обмена;
> Loop Points — управление зацикливанием сэмплов;
> Rearrange — оптимально расположить поля главного окна;
> Bank Statistics — статистические сведения о редактируемом банке;
> Key Range — отображать в правой верхней части окна MIDI-клавиату-ру с диапазонами действия сэмплов, инструментов или пресетов;
> MIDI In Devices — вызывает окно Select MIDI In;
> Help — контекстная подсказка;
Рис. 3.10. Панель инструментов
> Print — печать настроек редактируемого звукового банка;
> Toggle Full Screen — развернуть программу на полный экран (заголовок окна и главное меню будут недоступны);
> Toggle Full Tree — развернуть дерево звукового банка;
> Velocity Range — отображать в правой верхней части окна специальное поле для управления распределением сэмплов, инструментов или пресетов по скоростям нажатия клавиш,
Некоторые из кнопок являются недоступными до тех пор, пока не появится практическая возможность их использования при работе с конкретными объектами звукового банка.
Ниже при изучении меню программы мы еще рассмотрим все эти команды более подробно, ведь все кнопки, расположенные в панели инструментов, дублируют некоторые из команд меню.
На рис. 3.8 видно, что под панелью инструментов расположено поле для управления MIDI-манипуляторами (MIDI Controller Bar). Вполне возможно, что на экране вашего монитора этот и еще некоторые элементы интерфейса расположены в других частях главного окна. Ничего необычного в этом нет, в Vienna SoundFont Studio 2.1, как и во многих других современных программах, интерфейс является гибким: пользователь при помощи мыши может переместить органы управления в любое удобное для него место. Кроме того, программа может самостоятельно оптимально располагать элементы интерфейса, учитывая при этом установленное разрешение.
Вернемся к панели MIDI-манипуляторов. Если вы захотите послушать звучание редактируемого пресета с тем или иным эффектом, при помощи ниспадающего списка, расположенного в левой части панели, выберите интересующий вас манипулятор и задайте его положение цифрой от 0 до 127 (в поле MIDI controller value) или при помощи движка (MIDI controller value slider).
На рис. 3.8 ниже панели MIDI-манипуляторов расположено дерево звукового банка SoundFont Tree view, которое служит для отображения и редактирования его структуры. Вы можете импортировать или экспортировать сэмплы из банка, создавать инструменты на базе сэмплов и пресеты на базе инструментов.
Дерево состоит из трех основных ветвей (секций): сэмплов (Sample Section), инструментов (Instrument Pool) и пресетов (Preset Section).
Такой элемент управления не является чем-то необычным. Дерево — это стандартный элемент MS Windows, который, как правило, служит для перемещения по файловой структуре. Поэтому «лазанье» по дереву звукового банка не
должно вызывать у вас никаких трудностей. При перемещении по дереву звукового банка на некоторых уровнях иерархии нажатием правой кнопки мыши можно вызвать всплывающее меню, содержащее команды для работы с объектами банка. Содержание меню будет различным для разных секций и уровней иерархии. Все его пункты дублируют одноименные команды главного меню (Options), которым посвящен отдельный раздел. Находясь в секции сэм-плов или инструментов, можно добраться до самого низкого уровня иерархии — сэмплов. Щелчок по значку, символизирующему сэмпл, эквивалентен команде Options > Sample > Loop.
Состав всех остальных органов управления главного окна зависит от уровня вашего положения на дереве SoundFont. Они предназначены только для одной цели — доступ к настройкам текущего объекта звукового банка.
Справа от дерева банка расположено окно Key/Velocity Range View, предназначенное для отображения зон действия сэмплов, инструментов или пре-сетов. Переключение между режимами отображения Key Range View и Velocity Range View осуществляется нажатием соответствующих кнопок панели инструментов (Key Range, Velocity Range) или при помощи пунктов меню View > Key Range и View > Velocity Range.
Окно Key Range View содержит изображение MIDI-клавиатуры и позволяет осуществлять привязывание объектов SoundFont 2.0 (под объектами мы понимаем сэмплы, инструменты или пресеты) к определенным группам клавиш в соответствии с принципами мультисэмплинга и многослойное™. Как вы уже знаете, эти технологии разработаны в основном для того, чтобы приблизить качество звучания сэмплера к звучанию реальных инструментов.
Кроме того, что тембр звучания реальных инструментов зависит от высоты звука, существует одна тонкость: тембр зависит также и от уровня громкости, который, в свою очередь, зависит от скорости нажатия клавиши (Velocity) MIDI-клавиатуры. При разработке формата SoundFont 2.0 был учтен и этот момент. Существует возможность привязки объектов к диапазонам скоростей нажатия клавиши. При этом принципы мультисэмплинга и многослойно-сти остаются в силе. Поле Velocity Range View вместо изображения MIDI-клавиатуры содержит шкалу громкости, представляющую собой полоску, цвет которой плавно переходит от голубого в темно-синий. Максимальная скорость нажатия клавиши (а значит и максимальная громкость) соответствует темно-синему (правому) концу полоски, тишина — голубому.
Окна Key/Velocity Range View служат не только для отображения и редактирования диапазонов действия объектов SoundFont 2.0, но и для звукоизвле-чения, путем щелчка мышью по MIDI-клавишам или по шкале громкостей.
Диапазоны распределения объектов SoundFont по MIDI-клавишам или громкости легко изменить при помощи мыши. Ухватитесь за прямоугольничек, символизирующий начало или конец диапазона, и перетащите его на новое место.
Все поля, расположение ниже окон SoundFont Tree и Key/Velocity Range View, являются частью одного окна Generator View (отображение настроек генератора — тех самых воображаемых регуляторов, о которых мы говорили при анализе структуры EMU8000). С помощью опций именно этого окна вы будете настраивать звучание инструментов'И пресетов. Подробно об этом нам еще предстоит поговорить, ведь окно Generator View является основой программы.
При помощи мыши вы можете легко изменить размеры полей окна Generator View по своему усмотрению.
Есть еще один элемент главного окна — строка статуса (Status Bar), которая служит для отображения текущего состояния программы.
На этом наше первое знакомство с главным окном программы заканчивается. Перейдем к подробному описанию работы с Vienna SoundFont Studio 2.1 и начнем с главного меню программы, которое состоит из семи пунктов:
> File — операции с файлами;
)•" Edit — редактирование;
> View — отображение;
> Options — опции;
> MIDI Keyboard — команды и настройки MIDI-интерфейса;
^ Tools — вспомогательные инструменты;
)•* Help — помощь.
3.3.2. Меню File — работа с файлами
Средства меню, позволяющие проводить операции с файлами, внешне напоминают аналогичные средства других программ. Специфика состоит в достигаемых с их помощью результатах.
Команда Open — загрузить с диска уже существующий банк (рис. 3.11).
По умолчанию доступны файлы SoundFont 2.0 ('.SF2)r но можно открывать и файлы формата SoundFont 1.0 (выберите этот формат из списка Files of type). При этом файлы '.SBK автоматически конвертируются в '.SF2, с вашего, естественно, разрешения. Окно запроса показано на рис. 3.12.
После того как вы подтвердите свои намерения, и файл будет конвертирован в формат SoundFont 2.0, должно появиться сообщение об успешном завершении операции (рис. 3.13).
Команда New — создание нового банка (вернее, освобождение памяти, занятой под хранение текущего банка).
Save — команда для сохранения отредактированного банка на диске. Save As... — сохранить банк под другим именем.
Bank Manager... (<Ctrl>+<B>) — команда вызова менеджера банков. Менеджер банков позволяет импортировать уже существующие банки и копировать из них объекты в редактируемый банк. С помощью менеджера банков, вы можете, например, создать новый банк — сборник пресетов, которые раньше хранились в разных банках. Окно диалога менеджера банков показано на рис. 3.14.
Для того чтобы импортировать (загрузить в менеджер) банк, нажмите кнопку Import Bank. При этом появится окно диалога, аналогичное окну Open (рис. 3.11). Однако в отличие от команды Open, команда Import Bank... не позволяет конвертировать формат SF 1.0 в SF 2.0.
Рис. 3.14. Менеджер банков
Поле Structure of Imported Bank (структура импортируемого банка) содержит дерево банка, аналогичное расположеному в главном окне. Если вы уже импортировали какой-либо банк, то при перемещении по его объектам становится доступной кнопка Copy. Нажав на нее, вы создадите копию объекта в буфере обмена, которую потом можно поместить в редактируемый банк.
Если вы решили закончить работу с менеджером банков, нажмите кнопку Close.
Следующая команда — Information, вызывает информационное окно Bank Information, вид которого показан на рис. 3.15.
В этом окне содержится следующая информация:
> версия формата загруженного банка (SoundFont File Version);
> спецификация звукового ПЗУ (Sound ROM);
> версия «прошивки» звукового ПЗУ (Sound ROM Version);
> наименование WT-синтезатора (Sound Engine);
> дата создания банка (Date Created);
> наименование редактора, при помощи которого был создан банк (SoundFont Editor);
> название банка (Bank Name);
> имя автора (Author);
> авторские права (Copyright);
> комментарии (Comments).
Кнопки ОК и Cancel выполняют одну и туже функцию — закрывают диалоговое окно. Так уж захотелось создателям этой программы.
Команда Statistics (статистика) тоже имеет информационное назначение. Окно, которое она вызывает, показано на рис. 3.16.
Рис. 3.16.
Статистические сведения о банке
В окне Bank Statistics содержится следующая информация:
> Number of User Samples — количество пользовательских сэмплов. Но точнее это количество используемых в банке сэмплов, хранящихся в звуковом ОЗУ;
> Size of User Samples — объем пользовательских сэмплов, а в нашей трактовке — объем звукового ОЗУ, занимаемого сэмплами;
> Number of ROM Samples — количество используемых в банке сэмплов, хранящихся в ПЗУ звуковой карты;
> Number of Instruments — количество инструментов;
> Number of Melodic presets — количество мелодических пресетов;
> Number of Percussive presets — количество ударных пресетов.
Раз уж мы несколько раз упомянули слово ОЗУ в разделе, посвященном операциям с файлами, то самое время рассказать и о некоторых свойствах программы, связанных с памятью.
Начнем с главного. Вы не можете использовать для своей музыки банки пользовательских сэмплов объемом, превышающим объем ОЗУ звуковой карты (в память карты загружаются только сэмплы, а настройки генераторов — в память PC). Но при помощи Vienna SoundFont Studio 2.1 вы можете редактировать банки, объем сэмплов которых существенно превышает объем звукового ОЗУ. Единственное ограничение: объем памяти, занимаемый сэмплами объекта (инструмента или пресета), не должен превышать объем звукового ОЗУ. Такая возможность существует благодаря тому, что редактор не загружает в аудиопамять все сэмплы банка. В звуковое ОЗУ записываются только сэмплы, принадлежащие текущему объекту. А текущим является тот объект, который вы выбрали на дереве звукового банка в главном окне программы. Это свойство редактора очень полезно. Вы можете загрузить в редактор банк, объем которого превышает объем памяти вашей звуковой карты, и прослушать звучание его объектов. Предположим, вам понравились некоторые пре-сеты, и вы хотите использовать их в своей музыке. Для этого нужно создать новый банк, объем сэмплов которого не будет превышать емкость звуковой памяти. Вызовите менеджер банков и импортируйте в него банк-источник, выберите интересующие вас объекты и через буфер обмена переносите их в новый банк. Далее вы можете загрузить этот банк, содержащий только некоторые (лучшие с вашей точки зрения) пресеты в память звуковой карты.
Следующий пункт меню команда Print (<Ctrl> +<P>) — открывает окно диалога для печати информации о банке и его объектах на принтере.
Под пунктом Print располагается список имен банков, с которыми вы работали в последнее время, и команда выхода из программы — Exit, Если вы решите покинуть программу, не сохранив предварительно последние изменения, то редактор сообщит вам об этом и предложит сохранить обновленный файл.
3.3.3. Меню Edit — операции с объектами SoundFont
Некоторые (или даже все) команды меню Edit недоступны, пока вы при помощи дерева звукового банка, расположенного в главном окне не выберите объект, с которым будете работать. Программа снабжена интеллектуальным интерфейсом, исключающим возможность применения некоторых ее команд вхолостую. Это сделано, в первую очередь, в интересах пользователей. Например, обнаружив, что недоступна операция копирования объекта в буфер, пользователь лишний раз проверит: «А что, собственно, нужно копировать? И нужно ли вообще? ».
Итак, меню Edit содержит следующие команды:
> Delete (<Del>) — удалить объект из банка;
> Rename (<F2>) — переименовать объект;
> Cut (<Ctrl> + <Х>) — вырезать объект из банка и поместить его в буфер обмена;
> Copy (<Ctrl> + <C>) — создать копию объекта в буфере обмена;
> Paste (<Ctrl> + <V>) — вставить объект из буфера обмена в редакти руемый банк.
Последняя команда вызывает окно диалога, которое позволяет переименовывать объекты банка. Вид окна для разных категорий объектов различен. Если вы переименовываете сэмпл или инструмент, то окно диалога будет выглядеть так, как показано на рис. 3.17.
Рис. 3.17.
Окно для переименования
сэмплов или инструментов
Введите новое имя объекта и нажмите <Enter>. Вели вы хотите отредактировать старое название, то, воспользовавшись клавишами перемещения курсора, установите его в интересующее вас место и внесите необходимые изменения в имени объекта и нажмите клавишу <Enter>.
Команды, связанные с удалением объекта из банка (Cut, Delete), могут быть выполнены только в том случае, если этот объект не используется другими, более высокими в иерархии SounFont объектами. Например, вы не сможете удалить инструмент, если он используется в одном или нескольких пресетах. Об этом программа предупредит вас. Чтобы осуществить задуманное, вам нужно сначала удалить этот инструмент из пресетов, в которых он присутствует, а уж. затем удалить из секции инструментов.
3.3.4. Меню View — управление отображением элементов интерфейса
Большинство команд этого меню работает по следующему принципу: если напротив их названия установлена галочка, то включен соответствующий режим. Перечислим команды и поясним их назначение:
> Toolbar — отображать или не отображать панель инструментов;
^" Status Bar — отображать или не отображать строку состояния программы;
> MIDI Controller Bar— отображать или не отображать поле для управления MIDI-манипуляторами;
> Rearrange — оптимально располагать поля главного окна;
> Key Range — отображать в правой верхней части главного окна MIDI-клавиатуру с диапазонами действия объектов;
> Velocity Range — отображать в правой верхней части главного окна специальное поле для распределения объектов по скоростям нажатия клавиш.
3.3.5. Меню Options — опции
Это меню содержит не только команды настроек, но и другие команды, без которых немыслимо создание своих собственных банков. Некоторые команды используют общие окна диалога. В этом нет ничего необычного. Начнем по порядку.
User Sample Pool — работа с секцией пользовательских сэмплов
Подменю User Sample Pool — операции с пользовательскими сэмплами (загружаемыми в звуковое ОЗУ) — содержит две команды: Import User Sample(s) и Export User Sample(s). С помощью этих команд осуществляется импорт и экспорт пользовательских сэмплов.
Команда импорта сэмплов вызывает окно диалога, при помощи которого можно загрузить сэмпл (WAVE-фаил) в SoundFont. После этого импортированный сэмпл становится доступным в дереве звукового банка.
Команда экспорта сэмплов вызывает окно диалога Export Samples, показанное на рис. 3.18.
Рис. 3.18.
Экспорт
сэмплов
Список Sample Name содержит имена сэмплов, хранящихся в звуковом банке. Для экспорта выберите интересующий вас сэмпл и нажмите кнопку Export. Откроется еще одно окно, при помощи которого можно изменить диск и папку, где будет сохранен сэмпл в виде WAVE-файла. Для завершения операции экспортирования еще раз нажмите кнопку Export.
ROM Sample Pool — работа с секцией сэмплов ПЗУ
Следующее подменю Options — ROM Sample Pool (секция сэмплов «прошитых» в ПЗУ) — включает в себя всего одну команду Add ROM Sample(s) (добавить сэмпл(ы) из ПЗУ), выполнение которой, в свою очередь, приводит к появлению одноименного окна, изображенного на рис. 3.19.
Это окно предназначено для добавления в звуковой банк сэмплов, хранящихся в ПЗУ. В действительности же сэмплы остаются там, где они и были — в ПЗУ. Но после выполнения операции добавления они могут использоваться звуковым банком. Выберите сэмпл из списка Sample Name и нажмите кнопку Add.
Instrument Pool — работа с секцией инструментов
Подменю Instrument Pool содержит две команды. Команда New Instrument создает новый инструмент. После ее вызова появляется окно Rename, с которым вы уже встречались. В нем нужно задать имя нового инструмента и нажать кнопку ОК. При этом появится окно New Instrument Zone (рис. 3.20).
Рис. 3.20.
Создание нового инструмента
В этом окне нужно выбрать сэмплы, из которых будет состоять новый инструмент (сэмпл может быть единственным). Сэмплы должны быть предварительно загружены вместе со звуковым банком либо импортированы непосредственно с диска или из другого банка средствами менеджера банков. Для того чтобы выбрать сразу несколько сэмплов, перемещайтесь по списку при помощи клавиш управления курсором и удерживайте при этом в нажатом состоянии клавишу <Shift>.
В нижней части окна New Instrument Zone имеется выключатель Assign each sample to individual key (привязать каждый сэмпл к своей MIDI-клавише). Чаще всего он используется при создании пресетов ударных инструментов. Каждая клавиша соответствует одному ударному инструменту. После завершения работы с окном нажмите кнопку Add. Программа будет задавать дополнительные вопросы, уточняя, какой же все-таки инструмент вы хотите
получить. Если выключатель Assign each sample to individual key был установлен в активное состояние, то последует целая серия окон (ровно столько, сколько сэмплов в создаваемом инструменте), которые будут выглядеть примерно так, как показано на рис. 3.21.
Для каждого сэмпла в поле MIDI Key задайте номер клавиши и нажмите кнопку ОК или клавишу <Enter>. По умолчанию номер клавиши последующего сэмпла будет на единицу больше, чем номер клавиши предыдущего. После того как закроется последнее окно, вы обнаружите, что в банке появился новый инструмент. В дальнейшем, естественно, вы сможете удалить из него старые сэмплы и добавить новые, а также изменить диапазоны действия сэмплов.
С помощью команды Paste Instrument, меню Options можно вставить в банк инструмент из буфера обмена, в который он должен быть предварительно помещен при помощи менеджера банков.
Melodic Pool — работа с секцией мелодических пресетов
Подменю Melodic Pool относится к сфере работы с мелодическими пресета-ми и состоит из двух команд: New Melodic Preset (новый мелодический пре-сет) и Paste Preset (вставить пресет из буфера обмена). Последняя команда выполняется аналогично команде Paste Instrument, но только не на уровне инструментов, а на уровне пресетов.
Рассмотрим процесс создания нового мелодического пресета. Команда New Melodic Preset вызывает окно диалога, изображенное на рис. 3.22.
Рис. 3.22.
Создание нового мелодического пресета
Как видно из рисунка, окно включает в себя три поля, из которых назначение двух понятно : Preset Name — имя пресета, Preset Number — номер пресета (по этому номеру выбирается пресет из музыкального редактора). Непонятно назначение поля Bank Number (номер банка). О каком же банке идет речь? В английском языке, как и в русском, одно и то же слово, может обозначать совершенно разные объекты. До этого под словом «банк» мы понимали SoundFont. Ведь звуковой банк — самое близкое по смыслу к английскому SoundFont русское словосочетание. Если бы наша страна была лидером в области технологий компьютерной музыки, то все было бы значительно проще.
Существовала бы русская терминология, в рамках которой имелись бы вполне определенные русские эквиваленты понятий SoundFont и Bank (в том смысле, в котором это слово используется при обозначении поля Bank Number в окне New Melodic Preset). Но все обстоит гораздо сложнее. Наша страна отстает от других в области компьютерной музыки. Поэтому при работе с англоязычными музыкальными программами приходится учиться думать по-английски. Вы уже, наверное, догадались, что Bank Number — это не номер SoundFont. А что же тогда? Здесь предстоит сделать еще одно отступление, но на этот раз не лирическое, а сугубо техническое.
Звуковые карты семейства AWE содержат в ПЗУ набор сэмплов, необходимый для пресетов спецификации GM. В соответствии с этой спецификацией музыкальный инструмент должен иметь 128 мелодических пресетов в MIDI-каналах с 1 по 9 и с 11 по 16, и 46 ударных инструментов (1 ударный пресет) в канале 10. Если на звуковой карте имеется ОЗУ, то она становится совместимой с разработанным фирмой Roland стандартом GS, который является как бы надстройкой над GM. Для обеспечения совместимости, естественно, необходимо перевести синтезатор в режим GS (с помощью AWE Control Panel) и загрузить соответствующий SoundFont, совместимый с GS. В названии такого файла обычно фигурируют две буквы «GS», например, 2GMGSMT.SF2 — это SoundFont размером 2 Мбайт с пресетами стандартов GM, GS и МТ-32. Инструмент, соответствующий GS, наряду с GM-пре-сетами должен иметь дополнительные мелодические и ударные пресеты (звуки музыкальных инструментов, спецэффекты и т. п.). Кроме того, в стандарте GS имеются новые, по сравнению с GM, типы MIDI-сообщений. При помощи MIDI-команды Program Change можно адресовать всего 128 пресетов.
А как же получить доступ к остальным звукам GS? Для этого и была введена новая команда — Bank Change. Теперь пресеты хранятся в банках (от 0 до 127), в каждом банке может быть по 128 пресетов. Таким образом в вашем распоряжении появляется 128х128= 16 384 пресетов! Чтобы получить доступ к пресе-ту, нужно задать номер банка и номер пресета в банке. Банк № 0 содержит пресеты в соответствии со спецификацией GM. Он называется Capitol Tones и выбирается по умолчанию. В других банках под теми же номерами, что и в Capitol Tones могут храниться различные вариации звучания пресетов (Variation Tones). Например, в нулевом банке под номером 123 (при нумерации от 1 до 128) числится пресет «Морское побережье», вариация этого пресета — «Шум дождя» хранится в банке № 1, в банке № 2 — пресет № 123 («Гроза») и т. д. Для того, чтобы находясь в музыкальном редакторе, выбрать, например, последний из этих пресетов, нужно послать два MIDI-сообщения: Bank Change с содержимым «2» и Program Change с содержимым 123. Во многих современных редакторах эта операция упрощена ровно в два раза. Например, в звуковом редакторе Cakewalk существует единая команда Patch/Bank Change: номер банка и номер пресета в банке задается одним действием.
Пожалуй, сейчас пришло время рассказать о том, как переключать наборы ударных инструментов (Drum Kits). Это совсем просто: ударные переключаются обычной MIDI-командой Program Change, передаваемой по 10 каналу. Например, если на десятом канале вы выберете пресет № 1 (этот набор выбирается программой по умолчанию), то электронный барабанщик будет играть на стандартном наборе ударных из GM, если пресет № 26, то получите набор звуков ритм-машины Roland TR-808, а если пресет № 57 — спецэффекты. О том, какие еще звуки способна формировать звуковая карта после загрузки в нее SoundFont, совместимого с GS, вы узнаете, прочитав руководство пользователя звуковой карты, если, конечно, владеете английским. Для того чтобы можно было применять пользовательские банки, синтезатор должен находиться в режиме GS. Выбор пользовательских пресетов осуществляется точно так же, как и выбор пресетов GS. О том, как получить доступ к пользовательским пресетам и загрузить их, вы узнаете из разд. 3.4, посвященного работе с окном диалога AWE Control Panel (контрольная панель AWE).
Теперь вы понимаете, о каких банках идет речь в окне New Melodic Preset. Завершив работу с этим окном, нажмите кнопку ОК. При этом появится новое окно, показанное на рис. 3.23.
В списке Instrument Name выберите один или несколько (удерживая клавишу <Shift>) инструментов, входящих в новый пресет, и нажмите кнопку Add. Этим завершится создание нового пресета.
Percussive Pool — работа с секцией ударных пресетов
Команда Percussive Pool предназначена для работы с перкуссионными (ударными) пресетами. Работа с ударными пресетами происходит по тому же сценарию, что и с мелодическими. Исключение составляет только то, что для ударных пресетов не нужно задавать номер банка (см. рис. 3.24).
Поскольку наборы ударных инструментов выбираются точно так же, как и пресеты в GM, при создании ударного пресета нужно задать его номер в поле ввода Preset Number.
Sample — работа с сэмплами
Подменю Sample предназначено для работы с сэмплами. Удалять, переименовывать, изменять параметры зацикливания можно в том случае, если вы находитесь в секции сэмплов дерева звукового банка. Находясь в секции инструментов, вы можете только подрегулировать параметры зацикливания сэмплов.
Итак, расскажем о работе с сэмплами с помощью команд подменю Sample. Назначение команд Delete (удалить сэмпл) и Rename (переименовать сэмпл) очевидно.
Loop — «петля», параметры зацикливания. При работе с секцией сэмплов эта команда открывает окно диалога, изображенное на рис. 3.25.
Рис. 3.25. Настройки сэмпла
Для того чтобы увидеть развернутый вариант этого окна, нажмите кнопку Loop Settings. Окно примет вид, показанный на рис. 3.26. Рассмотрим назначение опций этого окна.
Sample Length — длина сэмпла, измеряемая количеством отсчетов. Так как сэмплы имеют 16-битный формат, то каждый отсчет занимает 2 байта. Таким образом, чтобы узнать размер сэмпла в байтах, нужно умножить число из поля Sample Length на два.
В поле Sample Waveform отображается сам сэмпл и параметры его зацикливания (начало и конец петли). При помощи горизонтальной полосы прокрутки вы можете просматривать сэмпл по всей длине. Вертикальная полоса прокрутки предназначена для изменения масштаба отображения сэмпла. Для этого можно воспользоваться и мышью: наведите указатель мыши на изображение
Рис. 3.26. Расширенный вариант настроек сэмпла
сэмпла (при этом указатель примет вид увеличительного стекла). Для изменения масштаба нажмите либо правую, либо левую кнопку мыши.
Ухватившись мышью за вертикальные линии, символизирующие начало и конец глобальной петли, можно установить их желаемую позицию. Более точно параметры петли можно задать численно в полях Global Loop End (конец глобальной петли) и Global Loop Start (начало глобальной петли). Раз есть глобальная петля, значит должна быть и локальная. С ней вы ознакомитесь позже.
В различных инструментах может использоваться один и тот же сэмпл, в котором петля может быть организована по-разному. Такая петля (вернее, петли) и называется локальной. В соответствии с тем, как организованы локальные петли и будет зациклен сэмпл при воспроизведении инструмента или пресета. Глобальная петля носит скорее рекомендательный характер. При настройке сэмплов в секции инструментов вы будете иметь дело уже с локальными петлями, которые по умолчанию совпадают с петлями глобальными. Достаточно один раз настроить глобальную петлю, чтобы в дальнейшем, при создании инструментов, уже не заботиться об установках локальных циклов. Но, как мы уже упоминали, в разных инструментах может возникнуть необходимость зациклить один и тот же сэмпл по-разному. Именно для этого и нужна локальная петля.
Под полями Global Loop End и Global Loop Start расположены фрагменты сэмпла, в которых находятся начало и конец цикла, что очень удобно при
подгонке параметров петли. Кривая в правом поле должна быть естественным продолжением кривой из левого поля (края фрагмента сэмпла в петле должны совпадать).
Но сэмпл не обязательно должен воспроизводиться в цикле. Зацикливание чаще всего используется для мелодических звуков и только для некоторых ударных. Включать или выключать зацикливание вы можете только при работе с локальными петлями (в секции инструментов).
Кнопка Play Loop позволяет прослушать звучание сэмпла с зацикливанием, а Play Unloop — без зацикливания. В поле Key number указывается номер MIDI-клавиши, для которой был записан этот сэмпл, т. е. при нажатии этой клавиши сэмпл будет воспроизводиться с той же скоростью, с какой его записали.
Если вызвать окно настроек сэмпла при работе с секцией инструментов (с сэмплами, входящими в инструменты), то его вид будет немного отличаться от представленного на рис. 3.26. Окно будет выглядеть так, как показано на рис. 3.27.
Рис. 3.27. Работа с сэмплами на уровне секции инструментов
Отличий довольно много: вместо глобальной петли формируется локальная;
зацикливание можно включить или выключить Enable looping for this sample. Чтобы вывести звук из петли при отпускании MIDI-клавиши (т. е. при входе в фазу освобождения) выключатель Release after loop region должен быть установлен в активное состояние.
Звук может воспроизводиться тремя способами:
> Последовательно — от начала сэмпла, до конца. Такой способ чаще всего используется для формирования звуков ударных инструментов.
> С зацикливанием без выхода из петли —. воспроизведение сэмпла от начала до отметки конца цикла, затем переход к началу цикла, и так далее. Воспроизведение звука заканчивается при достижении огибающей уровня нулевой отметки (по окончании фазы освобождения). Этот способ используется для большинства мелодических инструментов.
> С зацикливанием и выходом из петли в фазе освобождения. Сэмпл воспроизводится от начала, затем повторяется в петле до тех пор, пока MIDI-к-лавиша не будет отпущена. Этот способ используется, как правило, при создании особых звуков, которых не бывает в природе.
Приведем ряд общих рекомендаций по подбору и зацикливанию сэмплов.
^ Если музыкальный звук в сэмпле содержит такие эффекты, как вибрато, тремоло, изменение тембра при помощи фильтра и другие, аппаратно реализуемые синтезатором EMU8000, то совсем не обязательно размещать в звуковом банке полное звучание ноты (от атаки до освобождения). Достаточно выбрать один период типичной волны для импортируемого в SoundFont звука (всего несколько десятков байт) и грамотно зациклить его. А уж сформировать фазы звука, вариации тембра на различных фазах при помощи резонансного фильтра и модуляции низкочастотным сигналом (как по амплитуде, так и по частоте) можно с помощью соответствующих настроек генераторов EMU8000. Именно благодаря такому подходу, в ПЗУ звуковых карт семейства AWE емкостью 1 Мбайт умещается довольно приличное количество сэмплов, достаточное для реализации набора пре-сетов GM. Однако получаемые при этом тембры довольно просты и ненатуральны. Сложные звуки требуют гораздо больших объемов памяти. При этом важно достижение компромисса в вопросе: какая часть звука нужна для зацикливания, а какой частью можно и пожертвовать, причем так, чтобы тембр сильно не обеднел. Не забывайте, что для записи секунды 16-битного монофонического звука потребуется 88 200 байт, а для стереофонического — в два раза больше!
> Для того чтобы при прохождении полного цикла не было заметных на слух щелчков, начало и конец цикла должны находиться в тех местах, где значения отсчетов максимально близки к нулю.
> Как правило, тембр звука изменяется в процессе воспроизведения. Начало и конец цикла должны быть подобраны таким образом, чтобы в петлю укладывался полный цикл изменения тембра.
^" Не пренебрегайте возможностями редакторов звука для создания сэмплов. Например, редактор Cool Edit 96, рассмотренный в гл. 2, предоставляет богатейший инструментарий для записи, редактирования и подготовки WAV-файлов с целью последующего использования их в сэмплере.
Вернемся к командам подменю Sample. Последняя команда этого меню — Properties (настройки сэмпла). Эта команда доступна только из секции сэмп-лов. Команда вызывает окно диалога, изображенное на рис. 3.28,
Единственное поле, содержание которого можно изменить — Original Key. В этом поле хранится номер MIDI-клавиши, которой соответствует данный сэмпл (при воспроизведении на скорости оригинала). Поясним смысл информации в остальных полях:
> Sample Name — название сэмпла;
^" Sample Type — тип сэмпла;
> Sample Size — размер сэмпла в байтах;
^ Sampling Rate — частота сэмплирования, с которой был записан сэмпл;
> Loop Start — номер отсчета начальной точки петли;
> Loop End — номер отсчета конечной точки петли.
Instrument — работа с инструментами Подменю Instrument включает в себя следующие команды:
> New Zone — создание новой зоны;
> Global Zone — глобальная зона;
> Cut — вырезать инструмент и поместить его в буфер обмена;
> Copy — копировать инструмент в буфер;
> Paste Zone — вставить зону (сэмпл) из буфера в инструмент;
^ Delete — удалить инструмент;
^ Rename — переименовать инструмент.
Назначение последних пяти команд уже не вызывает сомнении. А вот две первые — новые. Рассмотрим их подробнее.
Команда New Zone подменю Instrument предназначена для создания новой зоны — объекта нижнего уровня иерархии для текущей секции. Для секции инструментов такими объектами (зонами) являются сэмплы. После выбора этой команды появится окно диалога New Instrument Zone (рис. 3.20). О том, как работать с этим окном, мы уже рассказывали. С помощью него вы можете создать новую зону или, иными словами, добавить в инструмент новый сэмпл.
Global Zone — эта команда добавляет глобальную зону в инструмент. Глобальная зона в данном случае соответствует сэмплу. Это некоторый виртуальный объект. Слово «виртуальный» в разговорной речи толкуется так: «Виртуальный — это такой, который как бы есть, но на самом деле его нет». И это (совершенно справедливое) толкование в полной мере подходит для глобальных объектов SoundFont. Так как у глобального сэмпла нет собственного тела (он не содержит никаких отсчетов), то для него невозможно, например, задать параметры зацикливания. Но вот настроить генераторы можно. Удивлены? На самом деле, настройки генераторов виртуального объекта связаны с настройками всех остальных зон текущего инструмента. Оперируя установками одного виртуального объекта, вы можете одновременно изменять параметры генерации сразу нескольких реально существующих сэмплов. Именно в этом и состоит смысл глобальных зон. Скоро вы узнаете, что такие зоны могут существовать и на уровне пресетов,
Instrument Zone — работа с зонами инструментов
Подменю Instrument Zone позволяет производить операции с зонами инструментов, т. е. с сэмплами и включает в себя следующие команды:
> Cut — вырезать сэмпл из инструмента;
> Copy — копировать сэмпл из инструмента в буфер;
> Paste — вставитьсэмпл в инструмент;
> Delete — удалить сэмпл из инструмента;
> Loop — параметры зацикливания сэмпла (локальная петля). Вызывает окно диалога, изображенное на рис. 3,27, о назначении опции которого мы уже говорили;
> Properties — свойства сэмпла (см, рис. 3.28).
Preset — работа с пресетами
В этом подменю также заслуживают внимания первые две команды. New Zone — вызывает окно диалога New Preset Zone, назначение опций которого мы уже описали (см. рис, 3.23).
С помощью команды Global Zone можно создать глобальную зону. Назначение этого виртуального объекта точно такое же, как и глобальной зоны на уровне инструментов. Разница заключается в том, что в данном случае этот
объект эквивалентен инструменту, в то время как глобальная зона на уровне инструментов эквивалентна сэмплу.
Все остальные команды этого подменю (Cut, Copy, Paste Zone, Delete, Rename)
аналогичны командам подменю Instrument, но теперь они распространяются на пресеты.
Preset Zone — работа с зонами пресетов
Это подменю содержит команды Cut, Copy, Paste и Delete, которые вам уже хорошо знакомы. В данном случае они распространяются на зоны пресетов (т. е. на те инструменты, из которых состоят пресеты).
Preferences — установки по умолчанию
Команда Preferences открывает окно диалога, изображенное на рис. 3.29.
Рис. 3.29. Установки по умолчанию
В группе Default Key Range устанавливают начало (Lower) и конец (Upper) зоны действия объектов на MIDI-клавиатуре.
Эти настройки будут использоваться при создании объектов. После их создания вы всегда сможете установить зону действия индивидуально для каждого объекта.
Default Velocity Range — зона действия объектов, но теперь не на MIDI-клавиатуре, а в метрике громкостей (скоростей нажатия на MIDI-клавиши).
В группе Options содержатся четыре выключателя. Видимо, именно благодаря наличию этих выключателей в группе Options и получил свое название одноименный пункт главного меню. По крайней мере, других объяснений, так же как и других опций, оправдывающих это название, в меню Options нет. Рассмотрим назначение этих четырех выключателей группы Options:
> Display MIDI-Key number instead of Octave-Key on the status bar — в
строке статуса показывать номер текущей (над которой находится кур-
сор мыши) или нажатой MIDI-клавиши цифрами от 0 до 127 вместо ал-фавитно-цифрового отображения, при котором цифрой обозначается октава, а буквой — нота.
> Discard unused samples and instruments when saving — при сохранении звукового банка на диске исключать из SoundFont неиспользуемые в пресетах сэмплы и инструменты.
> Always confirm when deleting — всегда запрашивать подтверждение при удалении объектов.
> Release sound sample memory whenever application loses focus — освобождать память от звуковых сэмплов, когда приложение неактивно (вы переключаетесь на другую программу).
3.3.6. Меню MIDI Keyboard — настройки MIDI-устройств ввода
Меню MIDI Keyboard содержит всего три команды. All Notes Off — отпустить (программно) все MIDI-клавиши. Reset All Controllers — сбросить все MIDI-манипуляторы, т. е. установить их или в нейтральное, или в нулевое положения. А с командой Select MIDI In Devices вы уже познакомились в начале разд. 3.3.
3.3.7. Меню Tools — программы-инструменты
Меню Tools включает в себя три команды, предназначенные для запуска одноименных программ, входящих в комплект поставки звуковых карт семейства AWE.
Команда Wave Editor (<Ctrl> + <W>) запускает редактор Creative Wave Studio для редактирования сэмплов. Первая версия этого довольно простого (по нашим субъективным меркам) редактора звуков описывается в работе [47]. В нашем распоряжении имеется Creative Wave Studio версии 3,19.0, но каких-либо существенных отличий от того, что было описано в [47], мы не заметили. Хотя Creative Wave Studio довольно неплохой редактор (для своего класса), но при работе с сэмплами мы все же предпочитаем что-нибудь «покруче», например, тот же Cool Edit 96.
Команда Mixer (<Ctri> + <M>) вызывает программу Creative Mixer, позволяющую управлять микшером звуковой карты. О нем мы рассказывали в первой главе.
Команда Control Panel запускает программу AWE Control Panel — панель управления ресурсами, но не компьютера, а звуковой карты.
Для тех, кто еще незнаком с этой программой (а познакомиться нужно обязательно) мы написали специальный раздел. Ведь мало уметь только создавать звуковые банки, ими нужно еще уметь и пользоваться.
3.3.8. Меню Help — помощь
Меню Help содержит две стандартные команды: Help Topics (тематическая помощь) — запускает файл помощи программы; About Vienna (о программе) — открывает окно диалога, содержащее номер версии и информацию об авторских правах программы Viena SF Studio 2.1.
Итак, вы познакомились со всеми командами главного меню. Научились импортировать и зацикливать сэмплы, создавать инструменты и пресеты. Теперь пора переходить к настройке генераторов.
3.3.9. Окно Generator View — область настроек генераторов
Окно Generator View состоит из шести полей. Настройки генераторов можно изменять только в том случае, если в дереве банка выбран какой-либо объект:
сэмпл (из секции инструментов), инструмент или пресет. При этом вы должны понимать смысл двух терминов: Value — «содержимое», в данном случае означает текущее состояние генератора, и Unit — единица измерения, дискретность изменения (квант) параметров генератора.
Pitch — высота звука
Поле содержит три генератора. Первые два используются для подстройки высоты тона. Ведь высота тона сэмпла может изначально не соответствовать той MIDI-клавише, с которой он связан.
Coarse Типе — грубая настройка высоты тона. Единица измерения — полутон (semitones). Существует два наименования единиц измерений и, соответственно, два диапазона изменений настроек, в которых могут находиться генераторы. Первое наименование и первый диапазон — для работы с сэмплом из секции инструментов, второе — для работы с инструментом из секции пресетов. Для данного генератора существует два диапазона изменений параметров: от —120 до 120 и от —240 до 240.
Fine Tune — точная настройка высоты тона. Единица измерения: 1/100 от полутона (cents—цент). Диапазоны изменений: от —99до99иот —198 до 198.
Scale Tune — масштабирование тона. Этот генератор задает уровень, в соответствии с которым изменяется высота тона в зависимости от того, какая из клавиш была нажата. Единица измерения — процент. Ноль означает, что высота тона не будет изменяться, какие бы клавиши вы ни нажимали, 100 — нормальное состояние этого генератора. Если вы, например, нажмете вначале белую, затем ближайшую черную клавишу MIDI-клавиатуры, то высота звука изменится на полутон, т. е. так, как это и должно быть.
Теперь, зная назначение генераторов, вы можете попробовать изменить их настройки. Нет ничего проще. Щелкните мышью по интересующему вас
Рис. 3.30.
Грубая настройка высоты тона
генератору, например, по Coarse Tune. Появится окно диалога Pitch, изображенное на рис 3.30. В группе Value задается состояние генератора. Это можно сделать мышью, ухватившись за движок и перетащив его в нужное место. При этом в цифровом поле вы увидите результат своих действии. Установив выключатель Add to original value в активное положение, можно изменять приращения значении параметров генератора относительно его состояния, сохраненного в звуковом банке. При нажатии кнопки Close окно диалога закрывается. Кнопка Default предназначена для возвращения генератора в состояние по умолчанию. Кнопкой Undo можно отменить последнее изменение.
Для того чтобы получить доступ к любому другому генератору текущего поля (в данном случае поля Pitch), совсем не обязательно закрывать текущее окно диалога и щелкать мышью по интересующему вас генератору. В верхней части окна расположен ниспадающий список, содержащий названия генераторов и единицы измерения их параметров. С помощью него вы можете выбрать нужный генератор.
Effects — эффекты
Возможно, вы заметите, что некоторыми из эффектов поля Effects можно управлять при помощи MIDI-манипуляторов, однако не все так просто, как кажется с первого взгляда. В качестве примера рассмотрим эффект реверберации. Если вы установите в поле ввода группы Value числовое значение, соответствующее максимальной глубине этого эффекта, то эффект проявится даже при нулевом положении манипулятора реверберации. А если установить манипулятор в положение 127, то реверберация будет еще глубже, т. е. числовое значение в группе Value (состояние генератора) определяет минимальную глубину эффекта (при нулевом положении MIDI-манипулятора).
Filter Q—уровень резонанса на частоте среза резонансного фильтра. Единица измерения: децибел. Диапазоны изменений: от 0 до 18 йот — 18 до 18. Если щелкнуть по этому генератору мышью, откроется окно диалога Effects, показанное на рис. 3.31. Как видно из рисунка, это окно ничем не отличается от окна Pitch (кроме названия и доступных генераторов).
Следующий генератор — Filter Cutoff — устанавливает частоту среза резонансного фильтра. Единицы измерения: герцы и X-times. Диапазоны изменения:
от 100 до 8 000 Гц или от 0,01 до 100 X-times.
Рис. 3.31.
Уровень резонанса фильтра
Вы знаете, что такое герцы и секунды, а вот с единицей «X-times», возможно, сталкиваетесь впервые. Если поискать аналоги этой величины в русском языке, то на ум приходят «разы». И действительно, оперируя инструментами в секции пресетов, вы устанавливаете, во сколько раз изменится, например, частота среза по сравнению с величинами, установленными в секции инструментов для каждого из сэмплов. Если частота среза была 4 000 Гц, то при значении 2 X-times реальная частота среза будет 4 000х2 = 8 000 Гц.
К сожалению, в отличие от звуковых карт, поддерживающих стандарт XG, в звуковых картах семейства AWE не предусмотрены специальные манипуляторы, позволяющие изменять частоту среза и уровень резонанса фильтра непосредственно в процессе воспроизведения MIDI-файла. Однако при помощи нехитрой последовательности MIDI-сообщений можно получить доступ к любому из генераторов, в том числе к Filter Q и Filter Cutoff. О том, как это сделать, вы узнаете из разд. 3.5.
Reverb — реверберация. Единица измерения: проценты. Диапазоны изменений: от 0 до 100 и от - 100 до 100.
Chorus — хорус. Единица измерения: проценты. Диапазоны изменений: от — 100 до 100 или от 0 до 100. О том, как переключать типы реверберации и хору-са при помощи MIDI-сообщений, вы узнаете из разд. 3.5.
Pan — панорама. Единица измерения: проценты. Диапазоны изменения: от - 50 до 50 или от - 100 до 100.
Volume Envelope — огибающая амплитуды
Как вы уже знаете из разд. 3.1, при генерации звука в EMU8000 используются формирователи двух огибающих. Одна из них модулирует звуковой сигнал по амплитуде, а вторая управляет параметрами резонансного фильтра и высотой тона генерируемого звука (огибающая модуляции).
В поле Volume Envelope главного окна вы можете задать параметры огибающей амплитуды, придав ей тем самым определенную форму.
Сейчас мы попробуем сформировать все шесть фаз огибающей звука, сопровождая процесс иллюстрациями. Этот опыт пригодится вам при создании собственного пресета.
Допустим, вы уже импортировали сэмпл и создали на его основе инструмент (мы рассматриваем простейший пример, т. к. если инструмент состоит из не-
скольких сэмплов, то для каждого из них существуют свои собственные огибающие). Щелкните мышью по строке Delay (задержка). Появится окно Volume Envelope, изображенное на рис. 3.32. В верхней части этого окна расположен ниспадающий список, при помощи которого можно выбрать текущую фазу огибающей (в списке указаны названия и единицы измерения параметров), которая доступна для изменения. Параметры Delay, Attack, Hold и Release измеряются в секундах или X-Times, а параметр Sustain — в децибелах. Выбрать фазу для редактирования также можно и из поля Volume Envelope, подобно тому, как только что вы открыли это окно для редактирования фазы Delay (одним щелчком мыши).
Рис. 3.32. Окно Volume Envelope для формирования амплитудной огибающей
В верхней части группы Value (содержимое) отображается форма огибающей (по умолчанию — прямоугольная). Остальные поля точно такие же, как и в предыдущих окнах управления генераторами.
Начнем экспериментировать. Установите задержку в 2 с, при этом форма огибающей изменится и примет вид, изображенный на рис. 3.33. Для большей наглядности мы будем выбирать завышенные значения параметров, которые
Рис. 3.33.
Формирование
задержки
на практике используются довольно редко. Нажмите и удерживайте клавишу MIDI-клавиатуры (настоящей или виртуальной в главном окне). Вы услышите, что звук появится только спустя 2 с после нажатия клавиши.
Следующая фаза — атака (Attack). Установите ее длительность равной 4 с (громкость звука вырастет до максимального значения за это время). Полученная при этом огибающая показана на рис. 3.34.
Рис. 3.34.
Формирование
атаки
Установите длительность фазы удержания (Hold) равной 2 с. Хотя на рис. 3.35, отображающем последнее изменение формы огибающей, пока не видно явно выраженной фазы удержания (уровень поддержки имеет пока максимальное значение и совпадает с уровнем удержания), но уже заметно, что общая длительность звучания сэмпла выросла на заданное время.
Рис. 3.35.
Формирование
удержания
Установите длительность спада (Decay) равной 4 с. Опять никаких видимых изменений, кроме увеличения общей длительности звучания, не произошло (рис. 3.36).
Рис. 3.36.
Формирование
спада
После того как вы измените значение уровня поддержки (Sustain), установив его равным 60 дБ, проявятся два предыдущих изменения, и огибающая примет практически законченный вид, показанный на рис. 3.37. Длительность поддержки зависит от времени удержания MIDI-клавиши в нажатом состоянии.
Рис. 3.37.
формирование
поддержки
Перейдем к формированию завершающей фазы огибающей — освобождение (Release). Пусть после отпускания MIDI-клавиши звук будет затухать в течение 10 с. Окончательный вид огибающей показан на рис. 3.38.
Работа по формированию огибающей модуляции организована точно так же, как и по формированию огибающей амплитуды, только доступ к ней осуществляется через поле Modulation Envelope главного окна .
В поле Volume Envelope, кроме уже перечисленных, можно контролировать еще три параметра.
Initial Attenuation — начальное ослабление. Единица измерения: децибел. Диапазоны изменения: от 0 до 96 и от —96 до 96. Этот параметр определяет
Рис. 3.38.
Фаза
освобождения
степень ослабления громкости воспроизведения звука. Например, если значение Initial Attenuation для сэмпла равно 0, то звук будет воспроизводиться с первоначальным уровнем громкости, а при значении 96 звук будет тише на 96 дБ.
Keynum To Hold — влияние номера клавиши на длительность фазы удержания. Единица измерения: X-times. Диапазон изменения: от 0,5 до 2. Данная величина определяет степень зависимости длительности удержания (Hold) от приращения номера MIDI-клавиши (начиная с номера клавиши, которому соответствует сэмпл). Чем выше нота, тем короче фаза удержания. Если нажатая клавиша находится на расстоянии более чем 60 клавиш от исходной (соответствующей сэмплу), то длительность фазы удержания больше изменяться не будет.
Keynum To Decay — влияние номера клавиши на длительность фазы спада. Характеристики и порядок применения параметров Keynum To Decay и Keynum To Hold аналогичны.
Modulation Envelope — огибающая модуляции
Огибающая модуляции формируется точно таким же способом, как и огибающая громкости (при помощи генераторов Delay, Attack, Hold, Decay, Sustain и Release). Единственное отличие состоит в том, что уровень поддержки измеряется не в децибелах, как это было для огибающей амплитуды, а в процентах. Ведь данная огибающая управляет не громкостью, а глубиной модуляции.
С помощью генератора То Pitch задается степень влияния текущего значения огибающей на высоту звука. Единица измерения: 1 /100 от полутона для максимальной по высоте точки огибающей. Диапазоны изменений: от —1200 до 1200 и от -2400 до 2400.
Генератор То Filter Cutoff определяет степень влияния текущего значения огибающей на частоту среза фильтра. Единица измерения: 1/100 от полутона
для максимальной по высоте точки огибающей. Диапазоны значении: от —3600 до 3600 и от -7200 до 7200.
С генераторами Keynum To Hold и Keynum To Decay вы уже знакомы по работе с полем Volume Envelope.
Modulation LFO — низкочастотная модуляция
Используя генераторы поля Modulation LFOr вы можете реализовать такие эффекты как вибрато, «Вау-вау» и тремоло. Для этого используется всего один низкочастотный генератор (LFO). Это значит, что при одновременной реализации эффектов частота звука, амплитуда и частота среза фильтра будут изменяться синхронно.
Щелкните по первому генератору этого поля — Delay (задержка). Появится окно, изображенное на рис. 3.39.
Рис. 3.39.
Генератор задержки при модуляции низкочастотным сигналом
С назначением опций подобных окон диалога вы уже знакомы, поэтому не будем попусту отнимать у вас время и перейдем к главному.
С помощью генератора Delay можно задать интервал времени, спустя который после нажатия MIDI-клавиши начнется генерация синусоиды низкой частоты. Единицы измерения: секунды или X-times. Диапазоны изменения:
от 0,001 до 10 и от 0,01 до 100.
Frequency—частота колебаний. Единицы измерений: герцы или X-times. Диапазоны изменений: от 0,001 до 10,71 или от 0,01 до 100.
То Pitch — степень влияния на высоту тона (вибрато). Единица измерения: 1 /100 полутона. Диапазоны изменений: от —1200 до 1200 или от —2400 до 2400.
То Filter— степень влияния на частоту среза фильтра («Вау-вау»). Единица измерения: 1/100 полутона. Диапазоны изменений: от —3600 до 3600 или от -7200 до 7200.
То Volume — степень влияния на громкость (тремоло). Единица измерения:
децибел. Диапазоны изменений: от —12 до 12 или от —24 до 24.
Vibrato LFO — вибрато
При помощи второго независимого низкочастотного генератора реализуется только один эффект — вибрато. Если звуковой сигнал промодулировать по частоте одновременно сигналами генераторов LF01 и LF02 («двойное»
вибрато), имеющих разные частоты, то можно получить совершенно фантастические эффекты, пригодные даже для озвучивания космических боевиков.
Щелчок мыши по генератору Delay (задержка) вызывает окно, изображенное на рис. 3.40.
Рис. 3.40. Генератор задержки при частотной модуляции (вибрато)
Опции окна Vibrato LFO ничем не отличаются от опций рассмотренного выше окна Modulation LFO.
Кроме генератора задержки, доступны генераторы Frequency и То Pitch. С этими генераторами вы уже знакомы. Отличие заключается в том, что они управляют параметрами низкочастотного генератора LP02, а не LF01, как это было в окне Modulation LFO.
В следующем разделе мы поговорим о том, как загружать SoundFont в память звуковой карты. И совершенно не важно, откуда у вас появились банки SoundFont: создали вы их сами или, например, нашли в Internet.
3.4. AWE Control Panel — управление ресурсами звуковой карты
AWE Control Panel входит в программное обеспечение всех звуковых карт семейства AWE (SB AWE32, SB 32, SB AWE64, SB AWE64 GOLD). Основное назначение программы — загрузка банков SoundFont в звуковую память карты. Но кроме этого, существует еще целый ряд возможностей, позволяющих управлять ресурсами звуковой карты.
После 3anycKaAWE Control Panel на экране монитора вашего PC появится окно диалога, которое будет выглядеть примерно так, как показано на рис. 3.41.
Первая закладка — Effect. Опциями этой закладки осуществляется управление эффект-процессором. Группа Types (типы) содержит четыре органа управления. Списки Reverberation и Chorusing содержат по 8 типов реверберации и хоруса. Выбранные в этих списках эффекты в дальнейшем по умолчанию будут доступны для регулировки по глубине посредством MIDI-сообщений (MIDI-манипуляторов 91 и 93).
Ниже расположены регуляторы тембра Treble level (высокие частоты) и Bass level (низкие частоты). Диапазоны регулировки: от —12 до +12 дБ. Регулировка осуществляется мышью с помощью движков. При этом уровень регулировки отображается в децибелах. Отрегулировать тембр также можно с помощью микшера Creative Mixer. Но будьте осторожны. Изменение тембра — это искажение сигнала. При записи звука лишний раз убедитесь, что регуляторы тембра установлены в позицию 0 дБ.
Рис. 3.41. Окно управления AWE
Нажатие кнопки Device (устройство) приводит к появлению окна диалога, показанного на рис. 3.42.
Рис. 3.42. Окно Device Selection
для выбора устройства
В левой части этого окна находится список доступных устройств. В нашем случае список состоит всего из одного устройства — синтезатора на базе EMU8000. Хотя в этом списке могут находиться как программные (виртуальные) ЛУГ-синтезаторь!, так и аппаратные.
В данный момент нас интересует именно аппаратно реализованный WT-син-тезатор. В группе Properties отображаются некоторые (далеко не все) сведения об устройстве. Base address — базовый адрес EMU8000. ROM version — версия набора сэмплов ПЗУ. Sound engine — генератор звука.
В нижней части группы Properties расположен выключатель Allow MPU 401 Emulation on this device. При помощи этой опции можно включить эмуляцию интерфейса MPU 401. Хотя вряд ли вам это понадобится. Эмуляция MPU 401 требуется только для устаревшего программного обеспечения, созданного в то время, когда звуковых карт AWE не было и в помине. Все программы под MS Windows используют системные драйверы, поставляемые вместе со звуковыми картами, а игры, написанные под MS DOS, автоматически распознают AWE.
Чтобы запомнить состояние выключателя Allow MPU 401 Emulation on this device и закрыть окно Device Selection, необходимо нажать кнопку Select.
Вернемся к закладке Effect. Самая главная кнопка здесь — Apply (применить) . Нажмите ее, и все сделанные Вами установки вступят в силу. Эта кнопка доступна только в том случае, если вы действительно вносили какие-либо изменения в настройки программы. Если после внесения изменений захотите все вернуть в исходное состояние, нажмите кнопку Refresh (обновить). Русский перевод названия кнопки несколько не согласуется с выполняемой ею функцией. Эта кнопка служит для приведения органов управления программы в соответствие с действующими (заданными ранее) установками. После нажатия кнопки Refresh программа предложит вам два варианта дальнейших действий:
> Current Page — вернуть установки текущей страницы (закладки), > All Pages — вернуть все установки (на всех страницах).
Если выключатель On Top, расположенный в нижней части окна, установлен в активное состояние, то окно AWE Control Panel будет всегда находиться поверх остальных окон, даже при переключении на другую программу.
Назначение кнопки Help вам известно. Кнопка Quit — выход из программы.
Следующая закладка (рис. 3.43) — Synth (синтезатор). Здесь вы можете задать звуковой банк, который будет использоваться в качестве основного (нулевого, или Capitol Tones). В списке Available Synth (доступные синтезаторы) выберите один из стандартов, которому соответствует основной банк:
> General MIDI;
> GS;
> МТ-32;
> UserSynth (синтезатор пользователя — распределение пресетов не соответствует ни одному из вышеперечисленных стандартов, а устанавливается пользователем).
Рис. 3.43. Закладка Synth
В поле Configured path отображается путь к текущему файлу SoundFont (файлу, соответствующему выбранному стандарту инструментов). Для того чтобы задать другой файл, нажмите кнопку Browse... Появится стандартное окно диалога для выбора файлов. Мы решили показать это окно исключительно потому, что в нижней его части отображается некоторая информация о выделенном файле. Это бывает особенно полезно в тех случаях, когда вы хотите получить дополнительную информацию о файле. Окно Browse... изображено на рис. 3.44.
В строке File Size содержится размер файла, в строке File Date & Time — дата и время создания файла, в строке Format Information — информация о формате (название банка, формат и т. п.).
Напомним, что в память звуковой карты загружаются только сэмплы, а настройки генераторов, названия и прочая информация, содержащаяся в звуковом банке, хранится в обычной памяти компьютера. В некоторых случаях банк вообще может не использовать звуковую память (когда сэмплы записаны в ПЗУ). Следовательно, появляется возможность загружать банки даже тогда, когда размер файлов SoundFont превышает объем звуковой памяти.
Рис. 3.44. Окно диалога Browse
После того как вы выбрали файл, остается нажать кнопку Apply, — и звуковой банк загрузится в память.
Ниже группы Synthesizer (см. рис. 3.43) расположен индикатор степени заполнения звукового ОЗУ (красным цветом закрашивается занятая сэмплами память, а зеленым — свободная). Из рис. 3.43 видно, что из 8 Мбайт звуковой памяти свободно лишь 972 Кбайт.
Следующая закладка панели управления AWE — User, используется для загрузки пользовательских банков SoundFont (рис. 3.45).
В списке Current State отображается один из 127 пользовательских банков, а в поле Configured path — путь к этому банку, заданный при помощи кнопки Browse.
Чтобы не возникла путаница с банками, нам придется сделать некоторые пояснения. Как вы уже знаете, понятие «SoundFont» и понятие «банк», используемое при адресации пресетов, — совершенно разные вещи. Однако номер банка, которым вы будете пользоваться при выборе пресета из музыкального редактора, зависит от номера SoundFont в списке Current State. Точнее говоря, номер банка, в котором хранится пресет, будет больше на число, равное номеру SoundFont в списке Current State.
Возможно, вам будет легче воспринять эту информацию на примере. Допустим, у вас имеется SoundFont, соответствующий стандарту GM (все пресеты принадлежат одному банку 0). Если вы загрузите этот файл, как основной (в закладке Synth), то получите непосредственный доступ к его пресетам. По
умолчанию используется как раз нулевой банк. Если же вы загрузите файл SoundFont, как первый пользовательский банк, то для доступа к его пресетам вам придется задать номер банка, равный единице. Если загрузить его, как второй пользовательский банк, то в музыкальном редакторе надо задать номер банка, равный двум, и т, д.
Однако в одном файле SoundFont могут содержаться несколько банков. Как они будуг нумероваться после загрузки файла в пользовательскую область банков? Очень просто, по той же самой формуле. Например, в файле SoundFont стандарта GS в пресете 126 (при нумерации от 0) банка № 4 хранится эффект «Биение сердца». Если загрузить этот файл как пользовательс-кий№ З.тодлядоступакэффектувыдолжнызадатьпресет 126 банка 3+4= 7. Если под этим адресом до загрузки SoundFont хранился другой пресет, то он окажется недоступным (на его месте теперь будет эффект «Биение сердца»).
Вернемся к текущей закладке программы. При помощи кнопки Clear вы можете очистить список от пользовательских звуковых банков. Возможны два варианта очистки:
^ Current User Bank — удалить из памяти только текущий банк (номер и название которого видны в списке Current state);
> All User Banks — удалить все пользовательские банки.
Очистка происходит немедленно, а загрузка звуковых банков в соответствии со списком пользователя — только после нажатия кнопки Apply.
Рис. 3.45.
Закладка User для загрузки пользовательских банков
Закладка WaveFx (рис. 3.46) предназначена для загрузки в память звуковой карты спецэффектов (FX), проще говоря, WAVE-фаялов.
Работа с ней осуществляется таким же образом, как и с предыдущей закладкой. Разница лишь в том, что вместо файлов SoundFont загружаются WAVE-файлы. Для того чтобы получить доступ к спецэффектам из музыкального редактора, достаточно выбрать номер пресета, равный номеру WAVE-файла (в списке Instrument) в основном банке. Однако такая непосредственная загрузка сэмпла в память звуковой карты не позволяет использовать все аппаратные возможности EMU8000.
Последняя закладка — Playback (воспроизведение), позволяет прослушивать загруженные звуковые банки или сэмплы, не прибегая к помощи звуковых редакторов (рис. 3.47).
В группе Rehearse (репетиция) расположены элементы интерфейса, с помощью которых вы действительно можете прорепетировать звучание загруженных в звуковую карту банков. Из списка Playback bank выберите банк (банк 0 —основной, все остальные— пользовательские). В списке Instrument выберите пресет, звучание которого вы хотите услышать. Список MIDI Controllers позволяет выбрать MIDI-манипулятор, положение которого задается движком Controller value.
Ниже расположена MIDI-клавиатура. Клавиши на ней нажимаются при помощи мыши. В небольшом окне программы невозможно отобразить всю MIDI-клавиатуру с ее 128 клавишами, поэтому показана только часть клавиатуры.
Справа от клавиатуры расположен переключатель, с помощью которого выбирается отображаемый фрагмент MIDI-клавиатуры.
В нижней части группы «на всякий пожарный случай» находятся две кнопки. Кнопка Reset Controllers применяется для сброса всех манипуляторов (устанавливает их в нулевое или нейтральное положение), а кнопка All Sounds Off — для прекращения воспроизведения всех звуков.
На этом знакомство с панелью управления ресурсами звуковых карт семейства AWE могло бы и закончиться. Однако есть один ресурс, который остался незамеченным создателями этой программы. Это Creative 3D Stereo Enhancement Effect или, проще говоря, расширение стереобазы (эта технология поддерживается большинством современных звуковых карт). Пользоваться этим эффектом, как и регулировками тембра, нужно осторожно, т. к. при его реализации в звуковой сигнал умышленно вносятся сильные искажения. Благодаря этим искажениям вам кажется, что звуковые колонки вашего компьютера расположены на большем расстоянии друг от друга. Но если вы, например, хотите записать свое музыкальное произведение, то должны быть уверены, что ЗО-эффект отключен.
Для включения/выключения ЗО-эффекта нажмите кнопку Start (в Windows 95). Перейдите в пункт Settings и вызовите панель управления Windows (Control Panel), которая изображена на рис. 3.48.
В панели управления отыщите иконку System (система) и щелкните по ней два раза мышью. Откроется окно System Properties (свойства системы). В верхней
Рис. 3.48.
Панель управления
Windows
части окна выберите закладку Device Manager (менеджер устройств). В списке устройств выберите Sound, video and game controllers (звуковые, видео- и игровые контроллеры). В списке контроллеров выберите Creative Sound Blaster
16. Даже если у вас SB AWE64, эта звуковая карта воспринимается программным обеспечением как SB 16 с довесочком к нему— Creative Advenced Wave Effects Synthesis for AWE32. A AWE64 ничем, с точки зрения аппаратных возможностей, не отличается от AWE32.
Итак, после выбора SB 16 на экране вашего монитора появится окно, которое будет выглядеть примерно так, как показано на рис. 3.49.
Рис. 3.49.
Включение и выключение 3D-300eKTa
Опция Use Creative 3D Stereo Enhancement позволяет включать и выключать SD-эффект.
А с помощью выключателя Allow Full-Duplex operation можно включить и выключить режим Full-Duplex.
3.5. Неочевидные возможности AWE
В этом разделе вы познакомитесь с теми возможностями звуковых карт на базе EMU8000, о которых практически ничего не говорится в документации, поставляемой вместе с ними.
Данный раздел будет полезен не только владельцам звуковых карт семейства AWE, но и обладателям любых современных MIDI-инструментов, поддерживающих стандарты, о которых речь пойдет ниже.
Возможно, что в руководстве пользователя звуковой карты в таблице MIDI Implementation Chart, кроме имен привычных MIDI-манипулятров (Volume, Reverb, Chorus и т.п.), вы встретите такие названия, как Data entry, NRPN LSB, NRPN MSB, RPN LSB и RPN MSB. Может быть вы даже попытаетесь отыскать описание этих манипуляторов в руководстве пользователя. Не исключено, что некоторые наши читатели уже экспериментировали с загадочными манипуляторами, но результат исследований оказался отрицательным. Этот раздел поможет вам научиться использовать (и довольно эффективно) закодированные прописными английскими буквами возможности звуковой карты.
Поскольку речь пойдет о MIDI-сообщениях, применяемых для управления параметрами звука, для повторения примеров, приведенных в книге, потребуется музыкальный редактор (секвенсор). Мы будем использовать Cake-walk Pro Audio 5.0. Об основах работы с этим редактором мы рассказали в нашей предыдущей книге [63]. Следующая версия программы — Cakewalk Pro Audio 6.0, содержит встроенные возможности по управлению параметрами звука (MIDI-манипуляторами RPN и NRPN, наряду с другими, можно управлять из окон Piano Roll или Event List). Но мы специально выбрали редактор Cakewalk Pro Audio 5.0, не обладающий такими возможностями. Прочитав этот раздел, вы научитесь управлять параметрами звука из любого музыкального редактора.
3.5.1. Программирование чувствительности колеса изменения тона
Что же такое RPN? Это аббревиатура от английского словосочетания Registered Parameter Number (номер фиксированного параметра). Спецификация MIDI определяет три таких параметра: RPN 0 — чувствительность манипулятора (колеса) изменения тона (Pitch Wheel), RPN 1 — грубая подстройка высоты тона,
RPN 2 — точная настройка высоты тона. Однако звуковые карты семейства AWE поддерживают только один из этих параметров (нулевой). По умолчанию диапазон изменения тона составляет ±2 полутона (или плюс-минус один тон). Положение колеса задается числом от —8 192 до 8 191.
Часто бывает так, что диапазона шириной в 2 тона оказывается недостаточно для реализации эффекта плавного изменения высоты звука. Эта проблема решается довольно просто. Через два манипулятора ввода данных (Data entry LSB и Data entry MSB) устанавливается новое значение RPN 0.
MIDI-протокол предусматривает передачу данных байтами. Некоторые их биты зарезервированы для служебных целей. Если от каждого байта «отщипнуть» по биту, то останутся этакие семибитные «недобайты», с помощью которых можно передавать числа от 0 до 127 (вспомните о диапазоне возможных значений манипуляторов). Но, например, для программирования чувствительности манипулятора изменения тона диапазона в 128 значений оказывается недостаточно. Поэтому для передачи данных используется два семибитных фрагмента одного большого четырнадцатибитного числа. С помощью него можно передавать числа от 0 до 16 383 (или от —8 192 до 8 191). Младшие 7 бит (Least Significant Bit. LSB — младший байт) передаются через манипулятор 38, старшие 7 бит (Most Significant Bit, MSB — старший байт) передаются через манипулятор 6.
Итак, для изменения чувствительности колеса высоты тона вызовите список MIDI-сообщений из вашего музыкального редактора. В самом начале списка поместите последовательность MIDI-команд, указанную в табл. 3.1.
Таблица 3.1. MIDI-команды изменения чувствительности колеса высоты тона
Номер MIDI-сообщения |
Номер манипулятора (controller) |
Название манипулятора |
Положение манипулятора (va/ue) |
1 |
101 |
RPN MSB |
0 |
2 |
100 |
RPN LSB |
0 |
3 |
6 |
Data Entry MSB |
X |
4 |
38 |
Data Entry LSB |
Y |
В табл. 3.1 Х — число, задающее диапазон высоты звука в полутонах, a Y — число, уточняющее ширину диапазона (точная настройка, заданная в сотых долях полутона, — центах). Если нет необходимости задавать диапазон с такой точностью, просто не вводите последнее MIDI-сообщение. Диапазон возможных значений параметров Х и Y: от 0 до 127. Чувствительность колеса высоты тона можно задавать индивидуально для каждого MIDI-канала.
На рис. 3.50 показан пример последовательности MIDI-сообщений в окне Event List музыкального редактора Cakewalk.
Рис. 3.50. Пример установки чувствительности колеса высоты тона
В результате выполнения этой последовательности (после нажатия кнопки Play) чувствительность манипулятора высоты тона для первого MIDI-канала будет ±1 октава (или ±12 полутонов).
3.5.2. Управление параметрами звука по MIDI
В руководстве пользователя звуковой карты семейства AWE вы не найдете описания способов управления такими параметрами генерации звука как, например, частота среза фильтра и уровень резонанса или сведений о том, как изменять формы огибающих громкости и модуляции. Непосвященный человек может подумать, что таких возможностей нет, что все параметры, хранящиеся в SoundFont, фиксированы и не поддаются изменениям. Однако это не так.
Возможно, авторы руководства пользователя посчитали, что описанных возможностей звуковой карты и так достаточно, а любознательные пользователи могут найти все ответы на свои вопросы в Internet. Этот раздел книги — наш маленький вклад в борьбу за права потребителя, ведь, как мы уже говорили, покупатель звуковой карты не обязан быть пользователем Internet и может не знать английский язык.
Что касается описанных возможностей, то их иногда бывает недостаточно. Например, ни одна современная танцевальная композиция не обходится без эффектов, связанных с изменением параметров резонансного фильтра. А если и обходится, то у ценителей такой музыки может возникнуть вполне справедливый вопрос: «Почему бы этому DJ не покрутить колесо управления фильтром?» И это не просто наше личное мнение. Не зря ведь фирма Yamaha в своем самом современном стандарте XG определила, что любой инструмент, соответствующий данному стандарту, обязан иметь манипуляторы управления параметрами звука (такими как уровень резонанса и частота среза фильтра). Звуковые карты семейства AWE стандарт XG не поддерживают. Однако возможность управления параметрами звука при помощи хитрых, но не сложных MIDI-сообщений имеется. Об этой возможности мы и расскажем.
Кроме RPN, бывают еще и NRPN (Non Registered Parameter Number] — номер нефиксированного (изменяемого) параметра. Главное его отличие от RPN состоит в том, что одни и те же NRPN у разных производителей MIDI-оборудова-ния могут соответствовать различным параметрам генерации звука. Задав
NRPN, можно выбрать интересующий параметр генерации звука и определить его значение с помощью манипуляторов Data Entry.
Для звуковых карт семейства AWE значение NRPN MSB всегда должно быть равно 127, а в NRPN LSB нужно передавать номер интересующего вас параметра звука. Значение этого параметра передается через манипуляторы Data Entry. Таким образом, процесс управления параметрами звука сводится к выполнению последовательности MIDI-сообщений, приведенных в табл. 3.2.
Таблица 3.3. MIDI-сообщения управления параметрами звука
Номер MIDI-сообщения |
Номер манипулятора (controller) |
Название манипулятора |
Положение манипулятора (value) |
1 |
99 |
NRPN MSB |
127 |
2 |
98 |
NRPN LSB |
N |
3 |
6 |
Data Entry MSB |
X |
4 |
38 |
Data Entry LSB |
Y |
Здесь N — номер контролируемого параметра, а Х и Y — числа, рассчитываемые по следующим формулам:
Х = (ЗПЗ+ 8192)/128 Y = (ЗПЗ + 8192) % 128,
где символ « / » означает целую часть отделения на 128, а « % » — остаток от деления; ЗПЗ — значение параметра звука.
Чтобы определить значение параметра звука, исходя из данных, хранящихся в MIDI-файле, нужно совершить обратное преобразование, воспользовавшись следующей формулой:
ЗПЗ = [ (Data Entry MSB) S 128 + Data Entry LSB)] - 8 192.
Однако в реальной жизни компьютерного музыканта управление параметрами звука осуществляется более простым способом. Во-первых, если вы собираетесь управлять только каким-либо одним параметром, достаточно однократного выполнения MIDI-команд 1 и 2 (см. табл. 3.2), а далее можно многократно изменять только значения параметра через манипуляторы Data Entry. Во-вторых, скорее всего, вам не придется каждый раз рассчитывать числа Х и Y с помощью калькулятора. Вы можете написать простенькую программку на языке С + + ... Не путайтесь, это шутка. Дело вот в чем. Читатели, знакомые с машинной арифметикой, наверное, уже догадались, что формулы, приведенные выше, годятся только в том случае, если для представления чисел используется 14 бит, один из которых знаковый. При этом диапазон возможных значений будет лежать в пределах от —8 192 до 8 191. Однако большинство звуковых параметров, как и положения манипуляторов, кодируют-
ся семибитным числом. Диапазон значений при таком способе представления чиселлежит в пределах от 0 до 127. Необходимость использования манипулятора Data Entry MSB просто отпадает, т. к. старшие семь бит четырнадцатибитного числа оказываются ненужными (младших семи бит как раз достаточно). В этом случае можно выполнить первые две команды из табл. 3.2, а для изменения выбранного этими командами параметра звука можно воспользоваться обычными средствами музыкального редактора (изменяя положение манипулятора 38).
Прежде чем приводить список всех доступных параметров, закрепим теоретические знания практикой. Рассмотрим пример управления частотой среза фильтра при помощи параметра NRPN в редакторе Cakewalk. Номер нефиксированного параметра, управляющего частотой среза — 21, диапазон значений: от 0 до 127 (т. е. можно обойтись без каких-либо формул). В начале первого трека мы разместим последовательность из двух MIDI-сооб-щений (рис. 3.51).
Рис. 3.5?. Получение доступа к управлению частотой среза фильтра при помощи параметра NRPN
Если хотите услышать результат, нужно записать последовательность каких-нибудь нот. Допустим, вы это сделали. Теперь частотой среза можно управлять при помощи манипулятора 38. Пример изменения положения этого манипулятора средствами окна Controllers приведен на рис. 3.52. Возможно, результат своих действий вам не удастся услышать сразу. Глубина регулировки частоты среза зависит от настроек конкретного пресета. Простейший выход— попробуйте сменить пресет на какой-нибудь другой, выбранный методом «научного тыка». Ну, а если вам захочется использовать определенный
Рис. 3.52. Пример управления частотой среза фильтра
Таблица 3.3. Доступные параметры звука
Управление эффектом № Название в реальном времени (Realtime) |
Диапазон |
Квант измерения |
Delay before LF01 starts 0 (задержка перед запуском LF01 — от 0 до 22 с) |
0...5900 |
4 мс |
LF01 Frequency (частота LF01 от 0 до 10,72 Гц) |
0...127 |
0,084 Гц |
Delay before LF02 starts 2 (задержка перед запуском LF02 — от 0 до 22 с) |
0...5900 |
4 мс |
LF02 Frequency (частота LF01 отО до 10,72 Гц) |
0...127 |
0,084 Гц |
Envelope 1 delay time (задержка 4 огибающей амплитуды от 0 до — 22с) |
0...5900 |
4 мс |
Envelope 1 attack time (время 5 атаки огибающей модуляции от — 0 до 5,9 с) |
0...5940 |
1 мс |
Envelope I hold time (время 6 удержания огибающей — модуляции от 0 до 8 с) |
0...8191 |
1 мс |
Envelope 1 decay time (время 7 спада огибающей модуляции от — 0,023 до 23,7) |
0...5940 |
4 мс |
Envelope 1 sustain level 8 (уровень поддержки огибающей — модуляции) |
0...127 |
0,75 дБ |
Envelope 1 release time (время 9 освобождения огибающей — модуляции от 0,023 до 23,7 с) |
0...5940 |
4 мс |
Envelope 2 delay time (задержка 10 огибающей амплитуды от 0 до — 22с) |
0...5900 |
4 мс |
Envelope 2 attack time (время 11 атаки огибающей амплитуды от — 0 до 5,9 с) |
0...5940 |
1 мс |
Envelope 2 hold time (время 12 удержания огибающей — амплитуды от 0 до 8 с) |
0...8191 |
1 мс |
Envelope 2 decay time (время 13 спада огибающей амплитуды от — 0,023 до 23,7) |
0...5940 |
4 мс |
Envelope 2 sustain level 14 (уровень поддержки огибающей — амплитуды) |
0...127 |
0,75дБ |
Envelope 2 release time (время 15 освобождения огибающей — амплитуды от 0,023 до 23,7 с) |
0...5940 |
4 мс |
Таблица 3.3. (окончание)
№ |
Управление эффектом Название в реальном времени (Realtime) |
Диапазон |
Квант измерения |
16 |
Initial Pitch (начальная высота тона) |
-8192...8191 |
1 цент |
17 |
LF01 to Pitch (степень влияния LF01 на высоту тона от — 1 до + +1 октавы) |
-127...127 |
9,375 цента |
18 |
LF02 to Pitch (степень влияния LF02 на высоту тона от — 1 до + +1 октавы) |
-127...127 |
9,375 цента |
19 |
Envelope I to Pitch (степень влияния огибающей модуляции на высоту тона от — 1 до +1 октавы) |
-127...127 |
9,375 цента |
20 |
LF01 to Volume (степень влияния LF01 на громкость) |
0...127 |
0.1875 дБ |
21 |
Initial Filter Cutoff [начальная частота среза фильтра от 100 + до 80000 Гц) |
0...127 |
62 Гц |
22 |
Initial Filter Resonance Coefficient (начальный коэффициент резонансного фильтра) |
0...127 |
см. табл. 3.4 |
23 |
LF01 to Filter Cutoff (степень влияния LF01 на частоту среза) |
0...127 |
56,25 цента |
24 |
Envelope 1 to Filter Cutoff (степень влияния огибающей — модуляции на частоту среза) |
-127.,.127 |
56,25 цента |
25 |
Chorus Effects Send (глубина хоруса) |
0...255 |
- |
26 |
Reverb Effects Send (глубина реверберации) |
0...255 |
- |
пресет, то можно изменить изначальную глубину регулировки частоты среза, заданную в SoundFont, на новое значение с помощью параметра NRPN 24.
Для того чтобы вернуть начальные значения параметров звука, хранящиеся в SoundFont, достаточно выполнить MIDI-команду Reset All Controllers (манипулятор 121).
Теперь приведем полный список доступных через параметр NRPN регулировок звука. Табл. 3.3 содержит номера NRPN LSB, их названия, возможность изменения параметров во время воспроизведения ноты (Realtime), диапазон изменения параметра и единицы измерения. Стоит отметить, что EMU8000 имеет встроенную таблицу параметров резонансного фильтра. Посредством NRPN LSB 22 (управление уровнем резонанса) выбирается
224 ___ ________________________Глава 3
Таблица 3.4. Параметры фильтра
Коэффициент |
Low Fc (Hz) |
Low Q (dB) |
High Fc (kHz) |
High Q (dB) |
DC Attenuation(dB) |
о |
92 |
5 |
Flat |
Flat |
-0,0 |
1 |
93 |
6 |
8,5 ' |
0,5 |
-0,5 |
2 |
94 |
8 |
8,3 |
1,0 |
-1,2 |
3 |
95 |
10 |
8,2 |
2,0 |
-1,8 |
4 |
96 |
11 |
8,1 |
3,0 |
-2,5 |
5 |
97 |
12 |
8,0 |
4,0 |
-3,3 |
6 |
98 |
14 |
7,9 |
5,0 |
-4,1 |
7 |
99 |
16 |
7,8 |
6,0 |
-5,5 |
8 |
100 |
17 |
7,7 |
7,0 |
-6,0 |
9 |
100 |
19 |
7,5 |
9,0 |
-6,6 |
10 |
100 |
20 |
7,4 |
0,0 |
-7,2 |
11 |
100 |
22 |
7,3 |
11,0 |
-7,9 |
12 |
100 |
23 |
7,2 |
13,0 |
-8,5 |
13 |
100 |
25 |
7,1 |
15,0 |
-9,3 |
14 |
100 |
26 |
7,1 |
16,0 |
-10,1 |
номер строки в табл. 3,4, содержащей параметры фильтра, причем каждому номеру таблицы одновременно соответствует несколько значении NRPN LSB 22. Например, если параметр имеет значение от 0 до 7, то выбирается нулевая строка таблицы (коэффициент 0), если от 8 до 15, то первая (коэффициент 1) и т. д. Таким образом, хотя диапазон изменения параметра лежит в пределах от 0 до 127, реально имеется всего 16 вариантов настроек резонансного фильтра.
3.5.3. Смена типа реверберации и хоруса при помощи MIDI-сообщений
Управление эффект-процессором звуковых карт семейства AWE соответствует стандарту GS. Благодаря этому существует возможность изменения типа (вариации) эффектов реверберации и хоруса при воспроизведении MIDI-файла. Если говорить более конкретно, то это делается при помощи макросов привилегированных системных сообщений (System Exclusive Message). С тем, как использовать макросы в дальнейшем, мы познакомим вас на примере переключения вариаций эффектов в редакторе Cakewalk.
Работа с системными сообщениями напоминает программирование в машинном коде (заметьте, даже не на Ассемблере). Но даже если вы не программист, пугаться не следует, в этом нет ничего страшного. Для того чтобы пользоваться данной технологией, вам не нужно обдумывать содержимое системных сообщений и представлять процесс выполнения этих, по сути дела, низкоуровневых машинных команд интерпретатором MIDI-сообщений. Просто воспользуйтесь рекомендациями в виде таблиц, которые приводятся ниже.
Таблица 3.5. Макрос системных сообщений для смены типа реверберации
Номер байта в макросе |
Шестнадцатеричное значение |
Десятичное значение |
1 |
FO |
240 |
2 |
41 |
65 |
3 |
10 |
16 |
4 |
42 |
66 |
5 |
12 |
18 |
6 |
40 |
64 |
7 |
1 |
1 |
8 |
30 |
48 |
9 |
номер вариации см. в табл. 3.6 |
10 |
0 |
0 |
11 |
F7 |
247 |
Содержимое макроса системных сообщений для переключения вариаций эффектов приведено в табл. 3.5. При работе с музыкальными редакторами обращайте внимание на то, в какой системе исчисления, шестнадцатеричной или десятичной, программа воспринимает числа,
Девятым байтом в макросе идет номер вариации реверберации. О том, какие эффекты доступны, вы можете узнать из табл. 3.6.
Смена типа хоруса (табл. 3.7) осуществляется почти так же, как и смена реверберации. Отличие заключается в восьмом байте. В макросе смены реверберации восьмой байт равен 30h (или 48), а в макросе смены хоруса — 38h (или 56).
Теперь рассмотрим, как реализовать на практике переключение вариаций эффектов с помощью редактора Cakewalk. Выполните команду View > Sysx.
Таблица 3.6. Типы эффектов реверберации
Номер вариации
о
|
Название эффекта
Room 1
|
Комментарии
Эта группа вариаций создаёт
|
1 |
Room 2 |
ощущение присутствия в комнатах разных размеров |
2 |
Room 3 |
от маленькой до большой |
3 |
Hall 1 |
Создаёт ощущение присутствия в |
4 |
Hall 2 |
маленьком и большом концертных залах |
5 |
Plate |
Реверберация с металлическим оттенком |
6 |
Delay |
Задержка |
7 |
Panning Delay |
Панорамируемая влево и вправо задержка |
Таблица 3.7. Макрос системных сообщений для смены типа хоруса
Номер байта в макросе |
Шестнадцатеричное значение |
Десятичное значение |
1 |
FO |
240 |
2 |
41 |
65 |
3 |
10 |
16 |
4 |
42 |
66 |
5 |
12 |
18 |
6 |
40 |
64 |
7 |
1 |
1 |
8 |
38 |
56 |
9 |
номер вариации см. в табл. 3.8 |
10 |
0 |
0 |
11 |
F7 |
247 |
Появится окно диалога для редактирования макросов системных сообщений, изображенное на рис. 3,53.
Это окно содержит пока незаполненный список макросов и кнопки для выполнения операций с ними. Начнем со списка. Под заголовком Bank расположены номера банков системных сообщений (макросов), Name — названия макросов, Length — длина (количество байт в макросе), Auto — включен ли или нет режим автоматического выполнения макросов сразу после загрузки сонга, Port — MIDI-устройство, для которого предназначен макрос.
Сделаем так, чтобы нулевой макрос содержал байты для установки нулевой вариации реверберации (Room 1). Щелкните по первой строке списка (Bank 0) два раза мышью или нажмите кнопку Edit Bytes. В появившемся окне Edit System Exclusive Bytes введите макрос для смены эффекта реверберации.
Таблица 3.8. Типы эффектов хоруса
Номер вариации |
Название эффекта |
Комментарии |
0 |
Chorus 1 |
|
1 |
Chorus 2 |
Эффект хоруса становится более заметным с |
2 |
Chorus 3 |
увеличением номера вариации |
3 |
Chorus 4 |
|
4 |
Feedback Chorus |
Похож на свист возникающий в результате рассекания воздуха |
5 |
Flanger |
Флэнжер |
6 |
Short Delay |
Короткое повторяющееся эхо |
7 |
Short Delay (Feedback) |
Короткое многократно повторяющееся эхо |
Рис. 3.53. Окно Sysx
Результат вашей работы показан на рис. 3.54. После этого нажмите кнопку ОК или клавишу <Enter>. Теперь макросу можно присвоить имя. В окне Sysex нажмите кнопку Name. В появившемся окне диалога (рис. 3.55) введите название макроса, например, Reverb "Room 1". Аналогичную операцию можно проделать для всех вариации эффектов реверберации и хоруса. После этого список макросов будет выглядеть примерно так, как показано на рис. 3.56.
Рис. 3.54. Окно для редактирования банков Sysex
Теперь воспользуемся результатами проделанной работы. Предположим, что в каком-то месте сонга вы хотите выбрать реверберацию типа «Hall 2» и хо-рус «Chorus 4». Нет ничего проще. В списке MIDI-сообщений добавьте два сообщения типа Sysx с номерами макросов для выбора соответствующих вариаций эффектов. На рис. 3.57 показана такая последовательность сообщений: Sysx с содержимым 4 выполняет макрос Reverb "Hall 2" из списка банков системных сообщений; затем следует сообщение, устанавливающее максимальную глубину реверберации; Sysx с содержимым 11 выполняет макрос
Рис. 3.55.
Окно Bank Name для ввода
названия макроса
Рис. 3.56. Банки вариаций эффектов
Chorus «Chorus 4»; ив завершение — сообщение, устанавливающее максимальную глубину хоруса. Теперь вы можете услышать результаты своего труда. Для этого, естественно, должна быть записана какая-либо последовательность нот. А можно просто выполнить четыре приведенные выше сообщения (нажав кнопку Play) и сыграть «живую» музыку на MIDI-клавиатуре. В любом случае вы ощутите установленные эффекты.
Рис. 3.57. Переключение вариаций реверберации и хоруса
В заключение отметим, что вариации эффектов устанавливаются одновременно для всех MIDI-каналов. Не может быть, например, так, что на первом канале была установлена реверберация «Panning Delay», а на втором — «Plate». По этой причине совершенно безразлично, на каком треке будут размещены сообщения для смены вариаций эффектов. Это неудобство вызвано тем, что возможности звуковых карт семейства AWE не безграничны. А расширить диапазон этих возможностей можно только с помощью звуковой карты стандарта XG.
Как вы уже поняли, процесс создания собственных сэмплов непрост. Не случайно из сотен самодельных банков голосов инструментов, встречающихся в Internet и на CD, лишь единицы сэмплов представляют художественную ценность. Причем, чувствуется, что у многих безымянных авторов есть и фантазия, и понимание цели, но не хватает необходимых сведений о технологии. В вашем же творческом багаже все необходимое теперь имеется.
|