Vienna Sound Font Studio

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

49.jpg

Рис.  Главное окно программы 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.

410.jpg

Возможно, после вызова окна диалога 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 — контекстная подсказка;

411.jpg

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

412.jpg

По умолчанию доступны файлы SoundFont 2.0 ('.SF2)r но можно открывать и файлы формата SoundFont 1.0 (выберите этот формат из списка Files of type). При этом файлы '.SBK автоматически конвертируются в '.SF2, с вашего, естественно, разрешения. Окно запроса показано на рис. 3.12.

413.jpg

После того как вы подтвердите свои намерения, и файл будет конвертирован в формат SoundFont 2.0, должно появиться сообщение об успешном завершении операции (рис. 3.13).

414.jpg

Команда New — создание нового банка (вернее, освобождение памяти, занятой под хранение текущего банка).

Save — команда для сохранения отредактированного банка на диске. Save As... сохранить банк под другим именем.

Bank Manager... (<Ctrl>+<B>) — команда вызова менеджера банков. Менеджер банков позволяет импортировать уже существующие банки и копировать из них объекты в редактируемый банк. С помощью менеджера банков, вы можете, например, создать новый банк — сборник пресетов, которые раньше хранились в разных банках. Окно диалога менеджера банков показано на рис. 3.14.

Для того чтобы импортировать (загрузить в менеджер) банк, нажмите кнопку Import Bank. При этом появится окно диалога, аналогичное окну Open (рис. 3.11). Однако в отличие от команды Open, команда Import Bank... не позволяет конвертировать формат SF 1.0 в SF 2.0.

415.jpg

Рис. 3.14. Менеджер банков

Поле Structure of Imported Bank (структура импортируемого банка) содержит дерево банка, аналогичное расположеному в главном окне. Если вы уже импортировали какой-либо банк, то при перемещении по его объектам становится доступной кнопка Copy. Нажав на нее, вы создадите копию объекта в буфере обмена, которую потом можно поместить в редактируемый банк.

Если вы решили закончить работу с менеджером банков, нажмите кнопку Close.

Следующая команда — Information, вызывает информационное окно Bank Information, вид которого показан на рис. 3.15.

416.jpg

В этом окне содержится следующая информация:

> версия формата загруженного банка (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.

Статистические сведения о банке

417.jpg

В окне 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.

Окно для переименования

сэмплов или инструментов

418.jpg

Введите новое имя объекта и нажмите <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.

Экспорт

сэмплов

419.jpg

Список Sample Name содержит имена сэмплов, хранящихся в звуковом банке. Для экспорта выберите интересующий вас сэмпл и нажмите кнопку Export. Откроется еще одно окно, при помощи которого можно изменить диск и папку, где будет сохранен сэмпл в виде WAVE-файла. Для завершения операции экспортирования еще раз нажмите кнопку Export.

ROM Sample Pool — работа с секцией сэмплов ПЗУ

Следующее подменю Options — ROM Sample Pool (секция сэмплов «прошитых» в ПЗУ) — включает в себя всего одну команду Add ROM Sample(s) (добавить сэмпл(ы) из ПЗУ), выполнение которой, в свою очередь, приводит к появлению одноименного окна, изображенного на рис. 3.19.

Это окно предназначено для добавления в звуковой банк сэмплов, хранящихся в ПЗУ. В действительности же сэмплы остаются там, где они и были — в ПЗУ. Но после выполнения операции добавления они могут использоваться звуковым банком. Выберите сэмпл из списка Sample Name и нажмите кнопку Add.

420.jpg

Instrument Pool — работа с секцией инструментов

Подменю Instrument Pool содержит две команды. Команда New Instrument создает новый инструмент. После ее вызова появляется окно Rename, с которым вы уже встречались. В нем нужно задать имя нового инструмента и нажать кнопку ОК. При этом появится окно New Instrument Zone (рис. 3.20).

Рис. 3.20.

Создание нового инструмента

421.jpg

В этом окне нужно выбрать сэмплы, из которых будет состоять новый инструмент (сэмпл может быть единственным). Сэмплы должны быть предварительно загружены вместе со звуковым банком либо импортированы непосредственно с диска или из другого банка средствами менеджера банков. Для того чтобы выбрать сразу несколько сэмплов, перемещайтесь по списку при помощи клавиш управления курсором и удерживайте при этом в нажатом состоянии клавишу <Shift>.

В нижней части окна New Instrument Zone имеется выключатель Assign each sample to individual key (привязать каждый сэмпл к своей MIDI-клавише). Чаще всего он используется при создании пресетов ударных инструментов. Каждая клавиша соответствует одному ударному инструменту. После завершения работы с окном нажмите кнопку Add. Программа будет задавать дополнительные вопросы, уточняя, какой же все-таки инструмент вы хотите

получить. Если выключатель Assign each sample to individual key был установлен в активное состояние, то последует целая серия окон (ровно столько, сколько сэмплов в создаваемом инструменте), которые будут выглядеть примерно так, как показано на рис. 3.21.

422.jpg

Для каждого сэмпла в поле MIDI Key задайте номер клавиши и нажмите кнопку ОК или клавишу <Enter>. По умолчанию номер клавиши последующего сэмпла будет на единицу больше, чем номер клавиши предыдущего. После того как закроется последнее окно, вы обнаружите, что в банке появился новый инструмент. В дальнейшем, естественно, вы сможете удалить из него старые сэмплы и добавить новые, а также изменить диапазоны действия сэмплов.

С помощью команды Paste Instrument, меню Options можно вставить в банк инструмент из буфера обмена, в который он должен быть предварительно помещен при помощи менеджера банков.

Melodic Pool — работа с секцией мелодических пресетов

Подменю Melodic Pool относится к сфере работы с мелодическими пресета-ми и состоит из двух команд: New Melodic Preset (новый мелодический пре-сет) и Paste Preset (вставить пресет из буфера обмена). Последняя команда выполняется аналогично команде Paste Instrument, но только не на уровне инструментов, а на уровне пресетов.

Рассмотрим процесс создания нового мелодического пресета. Команда New Melodic Preset вызывает окно диалога, изображенное на рис. 3.22.

Рис. 3.22.

Создание нового мелодического пресета

423.jpg

Как видно из рисунка, окно включает в себя три поля, из которых назначение двух понятно : 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.

424.jpg

В списке Instrument Name выберите один или несколько (удерживая клавишу <Shift>) инструментов, входящих в новый пресет, и нажмите кнопку Add. Этим завершится создание нового пресета.

Percussive Pool — работа с секцией ударных пресетов

Команда Percussive Pool предназначена для работы с перкуссионными (ударными) пресетами. Работа с ударными пресетами происходит по тому же сценарию, что и с мелодическими. Исключение составляет только то, что для ударных пресетов не нужно задавать номер банка (см. рис. 3.24).

Поскольку наборы ударных инструментов выбираются точно так же, как и пресеты в GM, при создании ударного пресета нужно задать его номер в поле ввода Preset Number.

425.jpg

Sample — работа с сэмплами

Подменю Sample предназначено для работы с сэмплами. Удалять, переименовывать, изменять параметры зацикливания можно в том случае, если вы находитесь в секции сэмплов дерева звукового банка. Находясь в секции инструментов, вы можете только подрегулировать параметры зацикливания сэмплов.

Итак, расскажем о работе с сэмплами с помощью команд подменю Sample. Назначение команд Delete (удалить сэмпл) и Rename (переименовать сэмпл) очевидно.

Loop — «петля», параметры зацикливания. При работе с секцией сэмплов эта команда открывает окно диалога, изображенное на рис. 3.25.

426.jpg

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

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

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

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

427.jpg

Рис. 3.26. Расширенный вариант настроек сэмпла

сэмпла (при этом указатель примет вид увеличительного стекла). Для изменения масштаба нажмите либо правую, либо левую кнопку мыши.

Ухватившись мышью за вертикальные линии, символизирующие начало и конец глобальной петли, можно установить их желаемую позицию. Более точно параметры петли можно задать численно в полях Global Loop End (конец глобальной петли) и Global Loop Start (начало глобальной петли). Раз есть глобальная петля, значит должна быть и локальная. С ней вы ознакомитесь позже.

font size="3">В различных инструментах может использоваться один и тот же сэмпл, в котором петля может быть организована по-разному. Такая петля (вернее, петли) и называется локальной. В соответствии с тем, как организованы локальные петли и будет зациклен сэмпл при воспроизведении инструмента или пресета. Глобальная петля носит скорее рекомендательный характер. При настройке сэмплов в секции инструментов вы будете иметь дело уже с локальными петлями, которые по умолчанию совпадают с петлями глобальными. Достаточно один раз настроить глобальную петлю, чтобы в дальнейшем, при создании инструментов, уже не заботиться об установках локальных циклов. Но, как мы уже упоминали, в разных инструментах может возникнуть необходимость зациклить один и тот же сэмпл по-разному. Именно для этого и нужна локальная петля.

Под полями Global Loop End и Global Loop Start расположены фрагменты сэмпла, в которых находятся начало и конец цикла, что очень удобно при

подгонке параметров петли. Кривая в правом поле должна быть естественным продолжением кривой из левого поля (края фрагмента сэмпла в петле должны совпадать).

Но сэмпл не обязательно должен воспроизводиться в цикле. Зацикливание чаще всего используется для мелодических звуков и только для некоторых ударных. Включать или выключать зацикливание вы можете только при работе с локальными петлями (в секции инструментов).

Кнопка Play Loop позволяет прослушать звучание сэмпла с зацикливанием, а Play Unloop — без зацикливания. В поле Key number указывается номер MIDI-клавиши, для которой был записан этот сэмпл, т. е. при нажатии этой клавиши сэмпл будет воспроизводиться с той же скоростью, с какой его записали.

Если вызвать окно настроек сэмпла при работе с секцией инструментов (с сэмплами, входящими в инструменты), то его вид будет немного отличаться от представленного на рис. 3.26. Окно будет выглядеть так, как показано на рис. 3.27.

428.jpg

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

429.jpg

Единственное поле, содержание которого можно изменить — 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.

430.jpg

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

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

431.jpg

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

432.jpg

Рис. 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 (одним щелчком мыши).

433.jpg

Рис. 3.32. Окно Volume Envelope для формирования амплитудной огибающей

В верхней части группы Value (содержимое) отображается форма огибающей (по умолчанию — прямоугольная). Остальные поля точно такие же, как и в предыдущих окнах управления генераторами.

Начнем экспериментировать. Установите задержку в 2 с, при этом форма огибающей изменится и примет вид, изображенный на рис. 3.33. Для большей наглядности мы будем выбирать завышенные значения параметров, которые

Рис. 3.33.

Формирование

задержки

434.jpg

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

Следующая фаза — атака (Attack). Установите ее длительность равной 4 с (громкость звука вырастет до максимального значения за это время). Полученная при этом огибающая показана на рис. 3.34.

Рис. 3.34.

Формирование

атаки

435.jpg

Установите длительность фазы удержания (Hold) равной 2 с. Хотя на рис. 3.35, отображающем последнее изменение формы огибающей, пока не видно явно выраженной фазы удержания (уровень поддержки имеет пока максимальное значение и совпадает с уровнем удержания), но уже заметно, что общая длительность звучания сэмпла выросла на заданное время.

Рис. 3.35.

Формирование

удержания

436.jpg

Установите длительность спада (Decay) равной 4 с. Опять никаких видимых изменений, кроме увеличения общей длительности звучания, не произошло (рис. 3.36).

437.jpg

Рис. 3.36.

Формирование

спада

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

Рис. 3.37.

формирование

поддержки

438.jpg

Перейдем к формированию завершающей фазы огибающей — освобождение (Release). Пусть после отпускания MIDI-клавиши звук будет затухать в течение 10 с. Окончательный вид огибающей показан на рис. 3.38.

Работа по формированию огибающей модуляции организована точно так же, как и по формированию огибающей амплитуды, только доступ к ней осуществляется через поле Modulation Envelope главного окна .

В поле Volume Envelope, кроме уже перечисленных, можно контролировать еще три параметра.

Initial Attenuation — начальное ослабление. Единица измерения: децибел. Диапазоны изменения: от 0 до 96 и от —96 до 96. Этот параметр определяет

Рис. 3.38.

Фаза

освобождения

439.jpg

степень ослабления громкости воспроизведения звука. Например, если значение 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.

Генератор задержки при модуляции низкочастотным сигналом

440.jpg

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

font size="3">С помощью генератора 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.

441.jpg

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

442.jpg

Нажатие кнопки Device (устройство) приводит к появлению окна диалога, показанного на рис. 3.42.

Рис. 3.42. Окно Device Selection

для выбора устройства

443.jpg

В левой части этого окна находится список доступных устройств. В нашем случае список состоит всего из одного устройства — синтезатора на базе 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

444.jpg

В поле Configured path отображается путь к текущему файлу SoundFont (файлу, соответствующему выбранному стандарту инструментов). Для того чтобы задать другой файл, нажмите кнопку Browse... Появится стандартное окно диалога для выбора файлов. Мы решили показать это окно исключительно потому, что в нижней его части отображается некоторая информация о выделенном файле. Это бывает особенно полезно в тех случаях, когда вы хотите получить дополнительную информацию о файле. Окно Browse... изображено на рис. 3.44.

В строке File Size содержится размер файла, в строке File Date & Time — дата и время создания файла, в строке Format Information — информация о формате (название банка, формат и т. п.).

Напомним, что в память звуковой карты загружаются только сэмплы, а настройки генераторов, названия и прочая информация, содержащаяся в звуковом банке, хранится в обычной памяти компьютера. В некоторых случаях банк вообще может не использовать звуковую память (когда сэмплы записаны в ПЗУ). Следовательно, появляется возможность загружать банки даже тогда, когда размер файлов SoundFont превышает объем звуковой памяти.

445.jpg

Рис. 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 для загрузки пользовательских банков

446.jpg

447.jpg

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

448.jpg

Справа от клавиатуры расположен переключатель, с помощью которого выбирается отображаемый фрагмент 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

449.jpg

части окна выберите закладку 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

450.jpg

Опция 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.

451.jpg

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

452.jpg

Рис. 3.5?. Получение доступа к управлению частотой среза фильтра при помощи параметра NRPN

Если хотите услышать результат, нужно записать последовательность каких-нибудь нот. Допустим, вы это сделали. Теперь частотой среза можно управлять при помощи манипулятора 38. Пример изменения положения этого манипулятора средствами окна Controllers приведен на рис. 3.52. Возможно, результат своих действий вам не удастся услышать сразу. Глубина регулировки частоты среза зависит от настроек конкретного пресета. Простейший выход— попробуйте сменить пресет на какой-нибудь другой, выбранный методом «научного тыка». Ну, а если вам захочется использовать определенный

453.jpg

Рис. 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 font size="2">-7,2
11 100 22 7,3 11,0 font size="2">-7,9
12 100 font size="2">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) Короткое многократно повторяющееся эхо


454.jpg

Рис. 3.53. Окно Sysx

Результат вашей работы показан на рис. 3.54. После этого нажмите кнопку ОК или клавишу <Enter>. Теперь макросу можно присвоить имя. В окне Sysex нажмите кнопку Name. В появившемся окне диалога (рис. 3.55) введите название макроса, например, Reverb "Room 1". Аналогичную операцию можно проделать для всех вариации эффектов реверберации и хоруса. После этого список макросов будет выглядеть примерно так, как показано на рис. 3.56.

Рис. 3.54. Окно для редактирования банков Sysex

455.jpg

Теперь воспользуемся результатами проделанной работы. Предположим, что в каком-то месте сонга вы хотите выбрать реверберацию типа «Hall 2» и хо-рус «Chorus 4». Нет ничего проще. В списке MIDI-сообщений добавьте два сообщения типа Sysx с номерами макросов для выбора соответствующих вариаций эффектов. На рис. 3.57 показана такая последовательность сообщений: Sysx с содержимым 4 выполняет макрос Reverb "Hall 2" из списка банков системных сообщений; затем следует сообщение, устанавливающее максимальную глубину реверберации; Sysx с содержимым 11 выполняет макрос

Рис. 3.55.

Окно Bank Name для ввода

названия макроса

456.jpg

457.jpg

Рис. 3.56. Банки вариаций эффектов

Chorus «Chorus 4»; ив завершение — сообщение, устанавливающее максимальную глубину хоруса. Теперь вы можете услышать результаты своего труда. Для этого, естественно, должна быть записана какая-либо последовательность нот. А можно просто выполнить четыре приведенные выше сообщения (нажав кнопку Play) и сыграть «живую» музыку на MIDI-клавиатуре. В любом случае вы ощутите установленные эффекты.

Рис. 3.57. Переключение вариаций реверберации и хоруса

458.jpg

В заключение отметим, что вариации эффектов устанавливаются одновременно для всех MIDI-каналов. Не может быть, например, так, что на первом канале была установлена реверберация «Panning Delay», а на втором — «Plate». По этой причине совершенно безразлично, на каком треке будут размещены сообщения для смены вариаций эффектов. Это неудобство вызвано тем, что возможности звуковых карт семейства AWE не безграничны. А расширить диапазон этих возможностей можно только с помощью звуковой карты стандарта XG.

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

Хостинг от uCoz