Звуковая студия на столе


Звуковая студия на столе

         

Какая же связь может существовать



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.


Что такое SoundFont?



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-клавиатуре. В каждой зоне, заданной пользователем, может звучать определенный сэмпл.



Vienna SoundFont Studio 2.1...



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.



AWE Control Panel — управление ресурсами звуковой карты



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



Глава 3.5. Неочевидные возможности AWE



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.



Pitch — высота звука



Pitch — высота звука

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

Coarse Типе — грубая настройка высоты тона. Единица измерения — полутон (semitones). Существует два наименования единиц измерений и, соответственно, два диапазона изменений настроек, в которых могут находиться генераторы. Первое наименование и первый диапазон — для работы с сэмплом из секции инструментов, второе — для работы с инструментом из секции пресетов. Для данного генератора существует два диапазона изменений параметров: от —120 до 120 и от —240 до 240.

Fine Tune — точная настройка высоты тона. Единица измерения: 1/100 от полутона (cents—цент). Диапазоны изменений: от —99до99иот —198 до 198.

Scale Tune — масштабирование тона. Этот генератор задает уровень, в соответствии с которым изменяется высота тона в зависимости от того, какая из клавиш была нажата. Единица измерения — процент. Ноль означает, что высота тона не будет изменяться, какие бы клавиши вы ни нажимали, 100 — нормальное состояние этого генератора. Если вы, например, нажмете вначале белую, затем ближайшую черную клавишу MIDI-клавиатуры, то высота звука изменится на полутон, т. е. так, как это и должно быть.

Теперь, зная назначение генераторов, вы можете попробовать изменить их настройки. Нет ничего проще. Щелкните мышью по интересующему вас



к схеме. Какие же преобразования



Рис. 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.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, «слои» в данном случае — это сэмплы, которые расположены как бы друг над другом.



Пример одновременного...



Рис. 3.7. Пример одновременного использования технологий мультисэмплинга и многослойности

Теперь, после того как мы сообщили вам общие сведения, можно переходить к практической работе с редактором звуковых банков Vienna SoundFont Studio ?.. I.



Главное окно программы...



Рис. 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.



Панель инструментов



Рис. 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).



Настройки сэмпла



Рис. 3.25. Настройки сэмпла

Для того чтобы увидеть развернутый вариант этого окна, нажмите кнопку Loop Settings. Окно примет вид, показанный на рис. 3.26. Рассмотрим назначение опций этого окна.

Sample Length — длина сэмпла, измеряемая количеством отсчетов. Так как сэмплы имеют 16-битный формат, то каждый отсчет занимает 2 байта. Таким образом, чтобы узнать размер сэмпла в байтах, нужно умножить число из поля Sample Length на два.

В поле Sample Waveform отображается сам сэмпл и параметры его зацикливания (начало и конец петли). При помощи горизонтальной полосы прокрутки вы можете просматривать сэмпл по всей длине. Вертикальная полоса прокрутки предназначена для изменения масштаба отображения сэмпла. Для этого можно воспользоваться и мышью: наведите указатель мыши на изображение



Работа с сэмплами на уровне секции инструментов



Рис. 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,



Установки по умолчанию



Рис. 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 — единица измерения, дискретность изменения (квант) параметров генератора.



Генератор задержки...



Рис. 3.40. Генератор задержки при частотной модуляции (вибрато)

Опции окна Vibrato LFO ничем не отличаются от опций рассмотренного выше окна Modulation LFO.

Кроме генератора задержки, доступны генераторы Frequency и То Pitch. С этими генераторами вы уже знакомы. Отличие заключается в том, что они управляют параметрами низкочастотного генератора LP02, а не LF01, как это было в окне Modulation LFO.

В следующем разделе мы поговорим о том, как загружать SoundFont в память звуковой карты. И совершенно не важно, откуда у вас появились банки SoundFont: создали вы их сами или, например, нашли в Internet.



Пример установки чувствительности...



Рис. 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, лишь единицы сэмплов представляют художественную ценность. Причем, чувствуется, что у многих безымянных авторов есть и фантазия, и понимание цели, но не хватает необходимых сведений о технологии. В вашем же творческом багаже все необходимое теперь имеется.