Как преобразовать банки других синтезаторов в SoundFont?
Это можно сделать с помощью программ Convert, AWave, EsBeeKay и нескольких менее известных, однако после преобразования может понадобиться ручное редактирование банка, поскольку из-за различий в архитектурах синтезаторов точное преобразование в общем случае невозможно.
Возможно ли в AWE кэширование инструментов, как в GUS?
Стандартный драйвер этого не поддерживает. Существуют программы, позволяющие выборочно загружать инструменты из банков: AWEVBank — общего назначения, реализующая идею "виртуального банка", содержащего только ссылки на инструменты в реальных банках, и AWEPC, самостоятельно проигрывающая MIDI-файл, предварительно загрузив в память нужные инструменты. Сделать полную поддержку кэширования можно только доработкой драйвера или созданием драйвера более высокого уровня.
Как работает MIDI-синтезатор AWE?
В AWE используется программная интерпретация MIDI-сообщений. Сообщения получает драйвер, расшифровывает их и управляет работой EMU8000 для достижения нужного эффекта. Например, при получении сообщения Note On драйвер запускает по одному генератору EMU8000 на каждый слой ноты, при Note Off — отключает все генераторы этой ноты, по сообщению Pitch Bend — перестраивает частоту генераторов, и т.п. Программная интерпретация MIDI позволяет сделать MIDI-синтезатор достаточно гибким, однако затрудняет реализацию некоторых видов управления в реальном времени.
Как переадресовать вывод в MPU-401 на синтезатор EMU8000?
При работе под DOS для этого служит перемычка MFBEN (MIDI FeedBack ENable — разрешение перехвата MIDI-сообщений). Кроме этого, нужно резидентно (с ключом /EM) загрузить MIDI-интерпретатор AWEUTIL, который будет перехватывать сообщения, выводимые во внешний MIDI-порт (которые в норме направляются на внешний MIDI-интерфейс и разъем для дочерней платы), и отрабатывать их на синтезаторе EMU8000; при этом сообщения уже не будут проходить ни на внешний выход, ни на дочернюю плату.
Под Windows 95 перехватом сообщений из DOS-сеансов занимается виртуальный драйвер (VxD), которому безразлично положение перемычки MFBEN. Перехват управляется через AWE Control Panel -> Device -> Allow MPU-401 Emulation. Этот пункт относится только к выводу в MPU-401 из DOS-сеансов, и никак не влияет на вывод стандартными средствами Windows.
Как управлять синтезом в EMU8000 по MIDI?
Для этого служат NRPN (Non Registered Parameter Number — незарегистрированные номера параметров), передаваемые по MIDI при помощи контроллеров 99, 98, 6 и 38:
99 (NRPN MSB) — 127
98 (NRPN LSB) — номер параметра
6 (Data Entry MSB) — старшая часть значения параметра
38 (Data Entry LSB) — младшая часть значения параметра
Значение параметра может быть в пределах от -8192 до 8191; старшая и младшая части вычисляются следующим образом:
MSB = (V + 8192) / 128 (целое частное)
LSB = (V + 8192) % 128 (целый остаток)
Иначе говоря, старшая и младшая части представляют собой семь старших и семь младших разрядов значения, увеличенного на 8192. Для значений в диапазоне 0..127 старшая часть равна 64, а младшая — самому значению.
При изменении значения параметра достаточно передать только те контроллеры, значения которых отличаются от предыдущей посылки. Например, для начальной установки параметра 8 нужно передать все четыре контроллера; для его последующего изменения достаточно передавать только контроллер 38, пока не потребуется изменить другой параметр. Контроллер 99 достаточно передать один раз в начале работы.
Параметры делятся на установочные и управляющие. Установочные действуют только на ноты, взятые после установки параметра, а управляющие — и на звучащие ноты. Управляющие параметры называются также параметрами реального времени.
Ниже для каждого из параметров приведены его смысл, тип, диапазон и единица изменения параметра.
Параметр 0 — задержка между стартом ноты и началом работы LFO1, установочный. Диапазон — 0..5900, единица — 4 мс (0..22 с).
Параметр 1 — частота LFO1, управляющий. Диапазон — 0..127, единица — 0.084 Гц (0..10.72 Гц).
Параметр 2 — задержка между стартом ноты и началом работы LFO2, установочный. Диапазон — 0..5900, единица — 4 мс (0..22 с).
Параметр 3 — частота LFO2, управляющий. Диапазон — 0..127, единица — 0.084 Гц (0..10.72 Гц).
Параметр 4 — длительность стадии Delay Env1, установочный. Диапазон — 0..5900, единица — 4 мс (0..22 с).
Параметр 5 — длительность стадии Attack Env1, установочный. Диапазон — 0..5940, единица — 1 мс (0..5.9 с).
Параметр 6 — длительность стадии Hold Env1, установочный. Диапазон — 0..8191, единица — 1 мс (0..8 с).
Параметр 7 — длительность стадии Decay Env1, установочный. Диапазон — 0..5940, единица — 4 мс (0.023..23.7 с).
Параметр 8 — уровень Sustain Env1, установочный. Диапазон — 0..127, единица — 0.75dB.
Параметр 9 — длительность стадии Release Env1, установочный. Диапазон — 0..5940, единица — 4 мс (0.023..23.7 с).
Параметр 10 — длительность стадии Delay Env2, установочный. Диапазон — 0..5900, единица — 4 мс (0..22 с).
Параметр 11 — длительность стадии Attack Env2, установочный. Диапазон — 0..5940, единица — 1 мс (0..5.9 с).
Параметр 12 — длительность стадии Hold Env2, установочный. Диапазон — 0..8191, единица — 1 мс (0..8 с).
Параметр 13 — длительность стадии Decay Env2, установочный. Диапазон — 0..5940, единица — 4 мс (0.023..23.7 с).
Параметр 14 — уровень Sustain Env2, установочный. Диапазон — 0..127, единица — 0.75dB.
Параметр 15 — длительность стадии Release Env2, установочный. Диапазон — 0..5940, единица — 4 мс (0.023..23.7 с).
Параметр 16 — смещение по высоте, управляющий. Диапазон — -8192..8191, единица — 1 цент.
Параметр 17 — коэффициент воздействия LFO1 на частоту, управляющий. Диапазон — -127..127, единица — 9.375 цента. Знак показывает направление изменения частоты при старте LFO.
Параметр 18 — коэффициент воздействия LFO2 на частоту, управляющий. Диапазон — -127..127, единица — 9.375 цента. Знак показывает направление изменения частоты при старте LFO.
Параметр 19 — коэффициент воздействия Env1 на частоту, установочный. Диапазон — -127..127, Единица — 9.375 цента. Знак показывает направление изменения частоты при старте Env.
Параметр 20 — коэффициент воздействия LFO1 на амплитуду, управляющий. Диапазон — 0..127, единица — 0.1875 дБ. Значения 0..63 вызывают положительную модуляцию (рост амплитуды с момента старта LFO), с максимальной глубиной при 63; значения до 64..127 — отрицательную, с максимальной глубиной при 64.
Параметр 21 — частота среза фильтра, управляющий. Диапазон — 0..127, единица — 62 Гц (100..8000 Гц).
Параметр 22 — коэффициент резонанса фильтра, установочный. Диапазон — 0..127, три младших разряда не используются. Коэффициент задается четырьмя старшими разрядами, из таблицы:
НЧ, ВЧ — нижняя и верхняя частоты "колокола", Гц; НЧР, ВЧР — глубина резонанса на нижней и верхней частоте, дБ; КО — коэффициент ослабления постоянной составляющей, дБ.
Параметр 23 — коэффициент воздействия LFO1 на частоту среза фильтра, управляющий. Диапазон — 0..127, единица — 56.25 цента. Значения 0..63 вызывают положительную модуляцию (рост частоты среза с момента старта LFO), с максимальной глубиной при 63; значения до 64..127 — отрицательную, с максимальной глубиной при 64.
Параметр 24 — коэффициент воздействия Env1 на частоту среза фильтра, установочный. Диапазон — -127..127, единица — 56.25 цента. Знак определяет направление изменения частоты среза.
Параметр 25 — глубина хорового эффекта, установочный. Диапазон — 0..255.
Параметр 26 — глубина реверберации, установочный. Диапазон — 0..255.
При работе с банками SoundFont 2 некоторые из этих параметров могут не поддерживаться.
Тип эффектов reverb/chorus устанавливается при помощи SysEx:
Reverb — F0 41 10 42 12 40 01 30 nn 00 F7
0 — Room 1
1 — Room 2
2 — Room 3
3 — Hall 1
4 — Hall 2 (стандартный)
5 — Plate
6 — Delay
7 — Panning delay
Chorus — F0 41 10 42 12 40 01 38 nn 00 F7
0 — Chorus 1
1 — Chorus 2
2 — Chorus 3 (стандартный)
3 — Chorus 4
4 — Feedback delay
5 — Flanger
6 — Short delay
7 — Short delay & feedback
Можно ли получить в EMU8000 другие типы эффектов?
В EMU8000 реализован микропрограммный эффект-процессор с загружаемой извне микропрограммой, официальной документации на которую нет. Отдельные поля программы управляют работой цифрового эквалайзера EMU8000, однако подъем/ослабление по НЧ и ВЧ зависимы друг от друга и не могут регулироваться раздельно. Эмпирическим путем можно подобрать новые режимы работы эффект-процессора (программы AWEFX, AWE Piano).
На что действуют эффекты EMU8000?
Только на звук, синтезируемый в нем самом — обычно по MIDI-сообщениям. В AWE32 два голоса EMU8000 были зарезервированы для регенерации его ОЗУ и попутно вводили в EMU8000 сигналы левого и правого каналов FM-синтезатора, на которые можно было накладывать эффекты. В SB 32 и AWE64 регенерация делается независимо, и все 32 канала работают только на синтез музыкальных звуков.
Какова реализация MIDI в драйвере AWE?
Драйвер AWE работает в Mode 3 (Omni off, Poly). Каналы 1..9 и 11..16 — мелодические. 10 — ударный, изменение раскладки возможно только загрузкой банков. Поддерживаются сообщения:
Note On/Note Off (нулевое значение Velocity в Note On аналогично Note Off);
Channel Aftertouch (управление глубиной частотной модуляции от LFO1),
Key Aftertouch не поддерживается.
Pitch Bend, Program Change.
Контроллеры (значения по умолчанию):
0, 32 — смена банка (0, 0)
1 — глубина частотной модуляции от LFO1 (0)
6, 38 — ввод данных для RPN/NRPN (0, 0)
7 — общая громкость в канале (100)
10 — панорама (в некоторых версиях драйвера — статическая) (64)
11 — выразительность (множитель к общей громкости) (127)
64 — педаль Sustain (0)
91 — глубина реверберации (0)
93 — глубина хорового эффекта (0)
98 — младший байт NRPN (0)
99 — старший байт NRPN (0)
100 — младший байт RPN (0)
101 — старший байт RPN (0)
120 — сброс всех звуков канала
121 — сброс всех контроллеров канала (вместе с RPN/NRPN)
123 — сброс всех нот канала
Поддерживается также RPN 0 — чувствительность к сообщениям Pitch Bend:
101 (RPN MSB) = 0
100 (RPN LSB) = 0
6 (Data Entry MSB) = максимальное смещение в полутонах
38 (Data Entry LSB) = 0
Можно ли использовать EMU8000 для проигрывания модулей?
Многие современные проигрыватели модулей используют EMU8000, если на карте установлено достаточное количество памяти — например, Cubic Player 1.6 и выше, Omega Player, AMP, AWEMP, AWEMod, AWEPlay; они позволяют также использовать эффект-процессор EMU8000. Однако все эти проигрыватели непосредственно загружают самплы в ОЗУ синтезатора, не делая предобработки эквалайзером, поэтому при проигрывании цифровой эквалайзер EMU значительно поднимает частоты 3..4 кГц и звучание заметно искажается.
Я поставил драйверы — почему у меня нет AWE Control Panel?
Стандартный набор для AWE в Win95 содержит только сами драйверы и DLL поддержки; AWE Control Panel, Creative Mixer и прочее обеспечение устанавливается отдельно и обычно поставляется в комплекте Retail-упаковок. С OEM-упаковками может поставляться ограниченный набор программ, либо только драйверы.
Как регулировать Output Gain и т.п. под Win95?
Эти параметры регулируются только в Creative Mixer, и находятся в системном меню его окна, вызываемом щелком левой кнопки на иконке окна. Если окно отображено без заголовка — системное меню вызывается щелчком правой кнопки на любом месте окна микшера, свободном от органов управления.
Регулировка тембров и Input/Output Gain доступна только картах на микросхемах CT1745 и CT2502.
Можно ли запустить WaveSynth на AWE32 или SB 32?
Сравнительно просто это можно сделать только на PnP-картах — для этого нужно после установки комплекта обеспечения от AWE64 вручную заменить в Win95 драйверы "Creative Sound Blaster 16 Plug and Play" и "Creative Advanced Wave Effect Synthesis" на такие же, но "AWE64 ... (SB16/AWE32 Compatible), разрешив отображение полного списка устройств и выбрав последние из списка под маркой "Creative". WS/WG рассчитан на работу именно с этими драйверами (по PnP-коду модели и названию в Registry, поскольку в любом случае используется один и тот же файл драйвера).
Для не-PnP карт проще установить специальную версию WS/WG, рассчитанную на пользователей карт прежних выпусков.
Как отключить IDE-контроллер на PnP-карте?
Только путем перепрошивки EEPROM 93c66, в котором хранится PnP-конфигурация карты. Сделать это можно при помощи пакета SB2AWE Юрия Величенко (2:4600/103) и Алексея Самсонова (2:4600/103.333), в котором приведены примеры прошивок от AWE64 (метод требует отпайки микросхемы EEPROM). После перепрошивки карта будет опознаваться как AWE64, что позволит также напрямую установить WS/WG.
Где найти информацию по AWE?
Базовая информация по картам Creative приведена в Sound Card FAQ (распространяется в файле SNDHWFAQ.TXT, входящем в пакет EMHWFAQS). Структура и функционирование MIDI описано в MIDIDESC.TXT.
Собственный сайт Creative Labs — [ftp/www].creaf.com. В подкаталогах drivers и patches каталога /pub/creative можно найти свежие версии драйверов (в частности — SBW95UP).
Любительские сайты поддержки AWE проще всего найти через поисковые серверы (в первую очередь — Alta Vista) по ключевым словам "AWE*", "Home*" и т.п.
Первичное описание EMU8000 содержится в пакете ADIP (AWE Developer's Information Pack) версий 3.01 и выше. Также в этом пакете описан интерфейс AWE Manager и примеры программ, работающих с ним:
ftp://ftp.cle.creaf.com/pub/creative/devinfo/adip.exe
Пример программирования AWE — проигрыватель трекерных модулей Omega Player, распространяемый с исходными текстами:
ftp.cdrom.com/pub/demos/music/programs/players/omega060.zip
Прочие страницы, посвященные AWE:
EMU8000 Coding Secrets
http://frodo.hiof.no/~gislemm/tom/secrets.html
MAZ AWE32/64 Page
http://www.maz-sound.com/awe.html
Документация на SoundFont доступна на
ftp.creaf.com/emu/
Большое спасибо всем приславшим ответы, рекомендации, замечания и советы для этого FAQ.
Текст FAQ в альтернативной кодировке доступен для FReq на 2:5000/14@FidoNet по имени AWEFAQ, текст FAQ по звуковым картам — SNDHWFAQ, текст описания MIDI-интерфейса на русском языке в этой же кодировке — по имени MIDIDESC. Полный пакет FAQ и описаний доступен на ftp://spider.nrcde.ru/pub/text/tech/emhwfaqs.zip и через страницу FAQ на http://spider.nrcde.ru. Пакет распространяется также по FIDO fileecho XHRDDOCS.
Вернуться в раздел