Начало
 
 


Звуковые платы

НовостиОборудованиеСтатьиФорумФайлыОрганизацииСсылкиПрайс-листыРекламаСловарьПоиск
СТАТЬИ
Недокументи-рованные возможности SB Live!

Расширение возможностей SB Live

Доработка SB Live!

Creative Labs SBLive!
 

 
  Недокументированные возможности SB Live!
  Часть вторая: KX-драйвер.

Алексей ЗАЙЦЕВ
Музыкальное Оборудование
январь 2003

Вторая статья об использовании недокументированных возможностей платы SB Live!

Разговор об использовании скрытых возможностей процессора недорогой звуковой платы SB Live!, начатый в майском номере МО за 2001 год, получил продолжение после появления нового неофициального драйвера, написанного группой разработчиков во главе с Евгением Гавриловым. Как и в случае с APS-драйвером, новый KX-драйвер существенно расширяет возможности звуковых плат на основе процессоров EMU10k1 и EMU10k2, начиная от плат Live! и Live! Value (CT4620 и CT4670), Live! Platinum и Live! Player 1024 (CT4760), Live! Player 5.1, Live! Platinum 5.1 и Live! Digital Entertainment 5.1 (SB0060), и заканчивая Emu Audio Production Studio (APS) и всей серией Audigy.

Драйвер соответствует спецификации WDM (Windows Driver Model) и может работать в следующих операционных системах: Windows XP, Windows 2000, Windows 98 (только Second Edition) и Windows Me (обратите внимание — популярная Windows 98 с "вырезанным" Internet Explorer, так называемая Windows 98 lite, не поддерживается). При установке драйвера становятся доступными следующие функции:
- запись и воспроизведение звука в MME-программах Windows;
- запись и воспроизведение звука в ASIO-программах (Steinberg Cubase и Nuendo, Logic Audio);
- использование внутреннего процессора для обработки эффектами как отдельных треков многодорожечного проекта, так и всего аудио- и MIDI-потока, поступающего на выход звуковой платы;
- 16 независимых шин, используемых при внутренней коммутации сигналов и эффектов;
- от четырех до восьми (в зависимости от применяемой звуковой платы) независимых аналоговых выходов;
- MIDI-синтезатор, "понимающий" формат SoundFonts;
- DirectSound 2D;
- DirectSound 3D (программная имитация, работает только в режиме с двумя громкоговорителями);
- полное управление вводом-выводом AC97;
- программное AC-3 декодирование;
- изменение микрокода DSP (для инженеров и разработчиков);
- изменение внешнего вида интерфейса при помощи "скинов".

Кроме того, все внутренние соединения (блоки эффектов, маршруты прохождения сигналов от входа платы до любого из ее выходов и шин) можно программировать при помощи очень простого и наглядного интерфейса, подобного поставляемому с системой CreamWare Pulsar 2.

Инсталляция
На сайте производителя драйвер находится в виде RAR-архива. Там же находится еще один важный архив LIBS.RAR — две библиотеки, необходимые для нормального функционирования драйвера: MFC42D.DLL и MSVCRTD.DLL. Перед установкой драйвера их необходимо скопировать в директорию Windows/System (для Windows 9x и МЕ) или Windows/System32 (для Windows 2000 и Windows XP).

Если вы работаете в среде Windows98SE, то вам может понадобиться "заплатка" Microsoft Win98SE Quick Fix, обеспечивающая возможность декодирования звука в формате AC3. Она находится на том же сайте.

Еще один шаг, который необходимо выполнить перед установкой драйвера, — убедиться, что в вашей системе установлен набор DirectX 8 или выше. Для этого найдите файл DXDIAG.EXE (обычно он находится в каталоге Windows в директории System или System32 — в зависимости от версии операционной системы). При его запуске открывается информационное окно, в котором на закладке "Система" будет написано что-то вроде "Версия DirectX: DirectX 8.1 (4.08.01.0810)". Если окажется, что в вашей системе установлены DirectX-драйверы седьмой версии или более ранние, то имеет смысл обновить их перед тем, как заниматься установкой КХ-драйвера.

Еще один нюанс. Позаботьтесь о том, чтобы вашей звуковой плате было выделено отдельное прерывание (IRQ). Как это сделать, подробно описано в статье "Оптимизация РС".

К слову, долгое время все мои попытки заставить работать драйвер со Steinberg Nuendo приводили не просто к "зависанию" системы, а даже к "обнулению" BIOS материнской платы и сбросу системных часов. Детальное исследование проблемы выявило абсолютную невозможность совместной работы в моей системе звуковой платы SB Live! Value под управление КХ-драйвера и платы телевизионного тюнера AVerMedia TV Studio 201. После удаления TV-платы из системы проблема перестала быть столь острой, но до конца не исчезла — BIOS уже не обнулялся, но при любой попытке загрузки Cubase или Nuendo Windows XP выдавала "синий экран смерти". Проблема разрешилась сама собой с выходом новой версии КХ-драйвера (3527). Так что, прежде чем заниматься расширением возможностей установленного звукового оборудования, сходите на сайт КХ-проекта и убедитесь, что у вас — самая свежая версия драйверов. Кстати говоря, версии обновляются не реже, чем раз в 2-3 недели, и там, помимо условно-полезного добавления хорватского и бразильского языков интерфейса и обязательной "работы над ошибками", появляются и вполне достойные нововведения.

Рис. 1

Инсталляция инициируется запуском файла KXSETUP.EXE и не имеет каких-либо отличий от установки любого другого оборудования, не сертифицированного Microsoft. Если в системе установлен старый (родной) драйвер SB Live! или адаптированные драйвера от Emu-APS, их следует удалить прежде, чем ставить драйвер КХ.

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

Меню
Управление звуковой платой осуществляется при помощи апплетов — независимых приложений, доступ к которым осуществляется из меню драйвера или из апплета "КХ Микшер" (рис. 2). Забавный и весьма далекий от строгой аскетичности профессиональных приложений интерфейс, кстати, характерный для всех апплетов драйвера, скрывает серьезные возможности управления оборудованием.

 
Рис. 2  
   

Отсутствие подписей под органами управления поначалу настораживает, но подписи, появляющиеся под курсором мыши при наведении его на орган управления (например, "Закрыть" на рисунке 2), в какой-то мере компенсируют это неудобство. Иконки, расположенные с левой стороны окна микшера, активизируют разные режимы его работы.

По умолчанию открывается закладка "Мастер", в которой происходит управление общим уровнем выхода и отдельно уровнями PCM (выходы всех аудиопрограмм) и MIDI.

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

На закладке "Входы и выходы" расположены регуляторы уровней мониторинга отдельно фронтального и тылового каналов, уровня цифрового SPDIF-выхода и выхода для наушников (в качестве которого может использоваться выход субвуфера и центрального канала — если они есть, конечно).

Перечисленные органы управления доступны при использовании плат SB Live! и Value, с другими платами картина может сильно отличаться — появляются дополнительные цифровые и аналоговые выходы. Заметим, что положение регуляторов, расположенных на этой закладке, не влияет на уровень записываемого сигнала, а лишь регулирует его громкость в мониторах в процессе записи и, естественно, воспроизведения.

 Рис. 3

Еще одна неочевидная вещь — по умолчанию мониторинг по всем входам выключен. Чтобы включить его, существуют скромные кнопочки (похожие на маленькие шарики), расположенные непосредственно под фейдером и изменяющие свой цвет при наведении на них курсора мыши (рис. 3). Двойная кнопка, расположенная справа, служит для группирования регуляторов левого и правого каналов: изменяете один — изменяются оба.

Органы управления, расположенные на закладке "Запись", позволяют установить желаемый уровень сигнала для записи с каждого из имеющихся входов. Уровень сигнала, приходящего с линейного и микрофонного входов, устанавливается регулятором АС97 (несложно догадаться, что за этим фейдером скрываются еще несколько входов, о них — чуть позже). Там же находятся два фейдера, позволяющие регулировать отдельно уровень записи эффекта (по умолчанию — ревербератора и хоруса), если вдруг возникнет необходимость записать аудио- или MIDI-сигнал с выхода платы, обработав его при этом имеющимися эффектами.

Страничка "AC97-кодек" (Audio Codec 97, рис. 4) управляет выходами и входами AC97-кодека.

 
 Рис. 4  
   

Выходы:
"TAD Out" — выход на внешнее телефонное устройство (моно). Представляет собой четырехконтактный разъем, расположенный непосредственно на плате и обозначенный "TAD".
"PCSpkr" — моновыход на PC-спикер. Расположен там же на плате.

Входы:
"TAD In" — аналогично TAD Out, только наоборот: вход с внешнего устройства.
"Аналоговый CD-вход" — вход для подключения аналогового выхода CD-ROM. Не путайте его с электрическим входом для записи с цифрового выхода CD-ROM, регулятор которого расположен на вышеупомянутой закладке "Запись".
"Микрофон" — моновход для подключения конденсаторного микрофона.
"Видео вход" — стереофонический аудиовход для записи с внешнего источника видео. В большинстве КХ-совместимых звуковых плат отсутствует.
"AUX" — дополнительный вход, расположенный непосредственно на плате и обозначенный "AUX_IN".
"Line In" — линейный вход; основной вход, используемый для записи. Трехконтактный миниджек, расположен на задней стороне платы.

Дополнительные органы управления:
"Reset" — сброс всех настроек микшера к их исходному состоянию.
"Mic Boost" — увеличение сигнала с микрофонного входа на 20дБ.
"3DSE" — условно-полезная функция управления режимами 3-D звука. Доступны следующие значения: "Выкл.", "Мало", "Средне", "Много".
"Источник АС97" — источник записи. Из всего набора входов одновременно запись может быть произведена только с одного из них — того, который будет выбран из этого выпадающего меню. Исключение составляет случай, когда выбирается режим "СтереоМикс" (или "МоноМикс"). Тогда на запись идет сумма со всех входов плюс выходной РСМ-сигнал — системный звуковой выходной сигнал. Подробная блок-схема звуковой платы и пути прохождения сигналов представлены на рисунке 5. Соединения, образующиеся при включении режима "СтереоМикс", обозначены пунктирной линией.

 
 Рис. 5  
   

Здесь тоже есть кнопочки включения/выключения входа, но назначение их немного отличается. Приоритет выбора источника записи — однозначно за меню "Источник АС97". Если там установлена запись с линейного входа, то состояние кнопки включения этого входа игнорируется, и сигнал в любом случае поступает на записывающую программу. Кнопки включения входов начинают работать лишь тогда, когда источником записи установлен "СтереоМикс" (или "МоноМикс"), позволяя не писать сигнал со всех входов подряд, а отбирать для записи лишь то, что действительно необходимо.

Следующая закладка апплета микшера — это FX (рис. 6). Регуляторы Reverb и Chorus позволяют подмешать к воспроизводимому платой WAV-файлу довольно приличную реверберацию и хорус — независимо от того, какой программой этот файл воспроизводится. В этом случае обработка эффектом носит "истинно стереофонический" (true stereo) характер — когда оба стереоканала обрабатываются независимо. Сигнал на обработку снимается с шины FXBus0 (левый канал) и FXBus1 (правый). Выходы ревербератора отправляются как на фронтальные мониторы, так и на тыловые, создавая объемную картинку.

 Рис. 6

Два верхних регулятора FXSendC и FXSendD работают аналогично, за исключением того, что сигнал для обработки берут не со стереофонической шины, а с монофонической (ревербератор — FXBus13, хорус — FXBus14), где сигналы левого и правого каналов смешиваются. То есть, по умолчанию у нас появляется сомнительной ценности возможность обработать любой звуковой файл дважды за один проход: один раз — истинным стереоустройством, а второй — простым моно-стерео. Разница появляется лишь при работе с приложениями, способными эффективно использовать шины подачи на эффекты, но об этом — чуть дальше.

Нижние регуляторы FXSendC и FXSendD служат для обработки эффектами звука MIDI-синтезатора. По умолчанию сигнал на эффекты снимается с тех же монофонических FXBus13 и FXBus14, так что и здесь имеет место режим обработки "моно-стерео".

Закладка SoundFonts (рис. 7) дает возможность загружать семплы, которые использует MIDI-синтезатор платы. Теоретически объем семплов ограничен лишь объемом установленной памяти, практически же в силу различных ограничений общий объем загруженных семплов не должен превышать 50% от общего объема ОЗУ компьютера.

 
 Рис. 7  
   

WDM-драйвер резервирует кэш-память по необходимости, поэтому разработчики не оставили пользователю возможность резервировать память под семплы самостоятельно. Заметьте, что объем семплов, воспроизводимых одновременно, не может превышать 32 мегабайта.

КХ-драйвер поддерживает SoundFonts формата 2.0 и 2.1 (файлы с расширением SF2). Семплы формата 1.0 (файлы с расширением SBK) не поддерживаются. Для загрузки семпла необходимо нажать плюсик, расположенный в нижней левой части окна, и в стандартном диалоге открытия файла указать место расположения открываемого семпла. Для выгрузки семпла из памяти служит кнопка в форме крестика, расположенная справа от кнопки загрузки.

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

В нижней части окна микшера расположены пять кнопок, каждая из которых дублирует соответствующий пункт меню и инициирует загрузку того или иного апплета. Рассмотрение апплетов мы начнем с KX DSP, который является "сердцем" всей системы и одновременно самой занятной игрушкой, обращающей на себя внимание в первую очередь. При помощи этого апплета можно управлять эффектами, их подключением и маршрутизацией сигналов внутри процессора. На рисунке 8 представлена блок-схема, открывающаяся по умолчанию. Именно она определяет структуру рассматриваемого комплекса.

 
 Рис. 8  
   

Различные логические устройства (модули) представлены в виде прямоугольников. Основными являются FXBus, Prolog, Routing и Epilog. Входы и выходы модулей, к сожалению, не подписаны, так что приходится ориентироваться исключительно на подписи, которые появляются при наведении курсора на любое из соединений.

Кроме основных модулей, на схеме находятся и эффекты, включенные по умолчанию: ревербератор Reverb Lite и стереохорус.

Модуль FXBus — это набор виртуальных шин, на которые подаются все аудиопотоки, воспроизводимые или генерируемые звуковой системой компьютера. Все доступные программные шины располагаются в порядке возрастания сверху вниз, начиная от FXBus0 до FXBus15. Распределение шин в исходном состоянии указано в таблице 1.

 
Таблица 1.
Выход Шина Назначение
1-2 FXBus0-FXBus1 Wave-выход (левый и правый каналы)
3-4 FXBus2-FXBus3 выход MIDI-синтезатора (левый и правый каналы)
5-10 FXBus4-FXBus9 выход Surround (AC3) и DirectSound 3-D
14 FXBus13 организация монопосыла на эффекты:
FXBus13 — ревербератор
15 FXBus14 организация монопосыла на эффекты:
FXBus14 — хорус
Примечание: здесь и далее в колонках "Шина" и "Обозначение" приведено обозначение входа (выхода), появляющееся при наведении на него курсора.
 
   

Правый клик на изображении модуля FXBus открывает доступ к меню. Его пункт "Настроить" выводит окошко маршрутизатора, управляющее всеми назначениями шин (рис. 9). В левой части окна — список всех возможных аудиопотоков: Wave, АС-3 (каждый канал — отдельный поток), MIDI (каждый MIDI-канал — отдельный поток), ASIO. При выборе любого из них в правой части окна появляется текущее назначение потока: аппаратная шина Send A, Send B, Send C или Send D. Из рисунка 9 видно, что на каждый аудиопоток одновременно могут использоваться четыре (в платах на основе Emu10k2 — восемь) аппаратных моношины или две (в Emu10k2 — четыре) стереошины. Две из них (по умолчанию — Send A и Send В) всегда будут использоваться для мониторинга, так что в случае применения звуковой платы с чипом Emu10k1 для посыла на эффекты остается всего две (Send C и Send D). В принципе, и это немало, особенно если учесть, что в случае применения ASIO-драйвера картина будет совсем другая.

 
   Рис. 9  
   

Именно цифрами в правой части окна маршрутизатора определяются данные, представленные в таблице 1. В случае с маршрутизацией Wave-потока мы видим, что для мониторинга (первый и второй сверху выводы блока FXBus на рис. 8) используются шины Send A и Send B, и сигнал с них подается на выводы шин FXBus0 и FXBus1 (это определяют "0" и "1" в двух первых столбцах правой части рисунка 9). Посыл на эффекты организован через шины FXBus13 и FXBus14 (числа "13" и "14" в третьем и четвертом столбцах рисунка 9). В случае с MIDI-синтезатором картина аналогична, за исключением того, что в правой части рисунка 9 находится не "0" и "1", как в случае с Wave-потоком, а "2" и "3". Таким образом, выходной сигнал синтезатора оказывается уже не на шинах FXBus0 и FXBus1, а на FXBus2 и FXBus3, что мы, собственно, и наблюдаем в таблице 1.

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

Модуль Prolog представляет собой набор физических входов звуковой платы. Порядок их представления на "выходных контактах" модуля указан в таблице 2 (сверху вниз).

 
Таблица 2.
Вход Обозначение Назначение
1 In0 вход с кодека AC97 левый
2 In1 вход с кодека AC97 правый
3 In2 вход CD Digital левый
4 In3 вход CD Digital правый
5 In4 вход I2S левый*
6 In5 вход I2S правый*
7 In6 оптический/электрический вход левый*
8 In7 оптический/электрический вход правый*
9 In8 линейный2/микрофонный2 вход левый*
10 In9 линейный2/микрофонный2 вход правый*
11 In10 электрический/оптический вход левый**
12 In11 электрический/оптический вход правый**
13 In12 вход AUX 2 левый*
14 In13 вход AUX 2 правый*
* — системы с Live Drive
** — системы с Live Drive или дочерней платой
 
   

Меню "Настроить", доступное по правому клику на изображении блока, открывает нам знакомое уже окно микшера на закладке "Входы и выходы". С его помощью мы можем изменять уровни сигналов, но не можем влиять на порядок расположения входов на блок-схеме. Впрочем, это и не нужно.

Модуль Routing — тоже своего рода маршрутизатор, только значительно более сложный, чем рассмотренный нами в разделе FXBus. Задача его — развести сигналы с шин, входов и эффектов на выходы платы и сформировать аудиопоток, предназначенный для записи на компьютер. "Разводка" входов и выходов модуля для платы на основе Emu10k1 представлена в таблице 3. Нетрудно понять, что с левой стороны модуля (рис. 8) обозначены его входы, а с правой, соответственно, выходы. Нумерация их идет сверху вниз.

 
Таблица 3.
Вход Обозначение Назначение
1-2 WaveL/R вход Wave-потока
3-4 RSynthL/R вход потока с MIDI-синтезатора
5-10 AC3 вход AC3-декодера*
11-14 FX1 возврат первого эффекта (ревербератор)**
15-18 FX2 возврат второго эффекта (хорус)**
19-32 In0-In13 физические входы платы
* — содержит 6 независимых каналов: левый-правый фронт, левый-правый тыл, субвуфер, центр
** — сигнал, возвращаемый эффектом, подается не только во фронтальные, но и в тыловые каналы

Выход Обозначение Назначение
1 RO_front_l выход фронтальный (АС3) левый*
2 RO_front_r выход фронтальный (АС3) правый*
3 RO_dfront_l выход SPDIF левый
4 RO_dfront_r выход SPDIF правый
5 RO_dcenter выход I2S левый (для Live Drive)
6 RO_dswoofer выход I2S правый (для Live Drive)
7 RO_phones_l выход для наушников левый
8 RO_phones_r выход для наушников правый
9 RO_rear_l выход тыловой (АС3) левый**
10 RO_rear_r выход тыловой (АС3) правый**
11 RO_center выход центральный (АС3)
12 RO_swoofer выход канала субвуфера (АС3)
13 RecL выход на запись левый
14 RecR выход на запись правый
* — каналы основного мониторинга
** — вспомним, что по умолчанию тыловые каналы платы находятся на месте фронтальных
 
   

Правый клик по обозначению модуля и меню "Настроить" приводят к выводу на экран микшера на закладке "Запись".

Последний из основных модулей апплета KX DSP — Epilog — скрывает под своим художественным названием аппаратные выходы звуковой платы, двухканальный выход записи MME и 16 входов записи ASIO.

Разводка входов модуля представлена в таблице 4.

 
Таблица 4.
Вход Обозначение Назначение
1 Analog Front Left (Swapped) аналоговый фронтальный выход левый (АС3)*
2 Analog Front Right (Swapped) аналоговый фронтальный выход правый (АС3)*
3 Generic SPDIF Left SPDIF-выход левый
4 Generic SPDIF Right SPDIF-выход правый
5 I2S or Unknown Left выход I2S левый (для Live Drive)
6 I2S or Unknown Right выход I2S правый (для Live Drive)
7 Headphones Left выход для наушников левый
8 Headphones Right выход для наушников правый
9 Analog Rear Left (Swapped) аналоговый тыловой выход левый (АС3)*
10 Analog Rear Right (Swapped) аналоговый тыловой выход правый (АС3)*
11 Analog Center аналоговый выход центрального канала (АС3)
12 Analog SubWoofer аналоговый выход канала субвуфера (АС3)
13 RecL выход записи ММЕ левый**
14 RecR выход записи ММЕ правый**
15-30 ASIO0-ASIO15 входы записи ASIO-драйвера
* — по умолчанию фронтальные каналы платы находятся на месте тыловых
** — именно тот микс, который окажется на этих выходах, будет и на входе программы звукозаписи. Он может отличаться от того, который окажется на входах "1" и "2" и который мы услышим из мониторов, — это зависит от текущих установок микшера. Обратите внимание, что все вышесказанное относится только к MME-программам звукозаписи (Windows Sound Recorder, Sound Forge, Cakewalk). ASIO-программы записывают сигнал, приходящий на входы 15-30.
 
   

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

На рисунке 8, кроме рассмотренных модулей, присутствуют блоки эффектов (Reverb Lite, Stereo Chorus и 10 Band EQ) и вспомогательные элементы схемы: два субмикшера "моно+стерео" (xsumm_r и xsumm_c) и пиковый индикатор уровня Peak.

Таким образом, сразу после инсталляции драйвера мы можем себе позволить:
- Пользоваться ревербератором и хорусом, включенными на стереошину FXBus0-FXBus1 (выходы 1 и 2 блока FXBus). Уровень эффекта определяется фейдерами Reverb и Chorus апплета "Микшер" (закладка FX, рис. 6).
- Пользоваться ревербератором и хорусом, включенными на моношины FXBus13 и FXBus14 (выходы 14 и 15 модуля FXBus). Уровень эффекта в этом случае определяется фейдерами FXSendC и FXSendD того же апплета "Микшер" (закладка FX, рис. 6). Ага! Так вот где кроется "собака" с возможностью двойного посыла на эффекты, замеченная нами при рассмотрении КХ-микшера! Сигнал на эффекты подается одновременно со стереофонической мастер-шины и с моношины через простые сумматоры! Интересно, чем руководствовались разработчики, когда создавали такую конфигурацию "по умолчанию"?
- Корректировать весь выходной сигнал, идущий на мониторы, с помощью десятиполосного графического эквалайзера.
- Пользоваться очень приличным пиковым индикатором уровня сигнала, поступающего на выход платы.

Но вся прелесть апплета КХ DSP состоит в том, что эта схема может быть изменена очень просто и быстро. Для того, чтобы отключить какую-либо связь, достаточно сделать правый клик на любом из контактов и затем подтвердить появившееся предложение отсоединить вход. Например, отключение возможности двойной обработки представлено на рисунке 10.

Рис. 10

Чтобы восстановить связь или провести какое-нибудь новое соединение, достаточно щелкнуть мышью на начальной точке соединения (например, выход шины MIDI-потока FXBus2 и FXBus3 — выходы "3" и "4" блока FXBus на рисунке 8) и, не отпуская кнопку, провести виртуальный кабель к нужному входу (например, входу ревербератора). Проделав такую процедура для обоих каналов, подключив их к первому и второму входу ревербератора соответственно, получим возможность истинной стереообработки для сигнала MIDI-синтезатора.

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

Список возможных обработок не ограничивается модулями, установленными по умолчанию. Несколько десятков их доступны для свободного скачивания с сайтов КХ-проекта. Это множество несложных фильтров, эквалайзеров, хорусов, ревербераторов — есть даже парочка вокодеров и, что очень радует, генератор тестовых сигналов. Но прежде, чем вы сможете все это использовать, необходимо их зарегистрировать в системе. Для этого надо сделать правый клик в любом свободном месте на поле апплета КХ DSP и из открывшегося меню выбрать "Зарегистрировать плагин (Dane/RIFX/DLL...)", после чего указать местоположение файла с эффектами.

Теперь любой из имеющихся эффектов можно включить в конфигурацию системы. Для этого в меню КХ DSP (там же, где вы регистрировали модули, только в пункте "Добавить эффект / плагин") выберите из отнюдь не маленького списка нужный эффект (например, Overdrive). На блок-схеме появляется его тусклое изображение в красной рамке и окошко с предложением его оттранслировать (рис. 11). Транслируйте — и в результате на игровом поле окажется новый игрок, уже не тусклый, а яркий и свежий, вполне готовый к включению в конфигурацию.

Рис. 11

Для того, чтобы изменить параметры обработки, воспользуемся правым кликом на изображении эффекта, и из открывшегося меню выберем "Настроить". Это приведет к открытию окна регулировки параметров обработки. Естественно, что для каждого эффекта оно будет своим. Как выглядит окно управления параметрами хоруса, находящегося в системе по умолчанию, показано на рисунке 12.

 
Рис. 12  
   

Количество эффектов ограничено ресурсами платы. При попытке добавить эффект в систему, нагруженную близко к своему пределу, выдается сообщение об ошибке трансляции микрокода. В этом случае можно попытаться подобрать или менее ресурсоемкую обработку, или же освободить часть ресурсов удалением чего-нибудь не очень нужного. Делается это правым кликом на отключаемом модуле и выбором из меню "Untranslate" или "Выгрузить". В первом случае эффект просто деактивируется, освобождая занятые им ресурсы для других процессов, сам оставаясь в памяти DSP. Во втором случае модуль вообще удаляется из памяти, и для его повторной загрузки снова придется воспользоваться меню КХ DSP. Выбор меню "Запретить" просто отключает выход модуля, не освобождая ресурсов процессора.

Удаление модуля ведет к удалению всех фейдеров и других органов управления, связанных с ним. Например, удаление модуля Prolog приводит к удалению всех органов управления из нижней части закладки "Входы и Выходы" КХ-микшера.

Для того, чтобы одним движением вернуться к исходному состоянию апплета, служит пункт меню "Переинициализировать DSP". Все изменения, сделанные вами в базовой конфигурации драйвера, отменяются, и вы снова оказываетесь в девственно-чистой среде, каковой она была сразу после установки драйвера.

Команда "Очистить DSP" полностью очищает память процессора от микрокода. Если вы хотите начать с чистого листа, то эта команда — для вас. Мы же воспользуемся ей для того, чтобы подготовить плату для работы в среде ASIO.

ASIO-драйвер
В качестве хост-программы возьмем Steinberg Nuendo 1.61. Первым делом убедимся, что в Device Setup в настройках VST Multitrack в качестве ASIO-драйвера установлен KX ASIO. Его контрольная панель (рис. 13) дает нам возможность изменить значение времени ожидания (latency) платы. Минимальное заявленное значение — 2,66 миллисекунды, но в реальных условиях такая установка вызывает появление щелчков и прочего мусора. После нескольких попыток подобрать оптимальное время задержки я остановился на значении, предлагаемом по умолчанию, а именно 21,33 миллисекунды.

Рис. 13

В силу конструктивных особенностей чипов Emu10kX выбор частоты дискретизации проекта, мягко говоря, ограничен: единственное возможное значение — 48 килогерц.

Рассмотрим два наиболее часто встречающиеся варианта применения Steinberg Nuendo и КХ-драйвера: первый — потрековая запись MIDI и запись аудио с линейного входа платы, второй — сведение фонограммы с использованием встроенного процессора эффектов платы. Естественно, что вариантов может быть бесчисленное множество, но, разобравшись в обеих предлагаемых схемах, составить свою собственную не составит никакого труда.

Итак, схема первая — трекинг.

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

Рис. 14

Опираясь на описание модулей и их входов, приведенное в предыдущей главе, видим, что наша конфигурация:
- Подает сигнал с любого входа АС97 (именно там находится нужный нам линейный вход) на модуль Routing. Это соединение нам нужно для того, что бы получить полноценный мониторинг, свободный от задержки, вызванной ненулевым временем ожидания платы.
- Направляет этот же сигнал на входы ASIO0 и ASIO1 хост-программы. Здесь происходит непосредственно запись этого сигнала на компьютер.
- Этот же сигнал подает на пиковый индикатор уровня. Прелесть индикатора в том, что он может быть "закреплен" поверх всех окон (режим включается выбором из меню, активизирующегося правым кликом по заголовку окна индикатора). Впрочем, это соединение не является обязательным — просто при трекинге удобно иметь перед глазами большой и яркий индикатор входного уровня.
- Подает сигнал с выхода MIDI-синтезатора платы на модуль Routing. Это опять же для удобства мониторинга.
- Тот же сигнал синтезатора направляет на входы Nuendo ASIO2 и ASIO3 для его записи в виде WAV-файла (если это необходимо, конечно). Нужный уровень записи при таком включении выхода синтезатора выставляется фейдером, расположенным под надписью "Синтезатор MIDI" на закладке "Мастер" КХ-микшера.
- Направляет выход Wave-потока компьютера (выходы FXBus0 и FXBus1 модуля FXBus) через модуль Routing на фронтальный аналоговый выход платы (входы 1 и 2 модуля Epilog).

Теперь переходим к следующему этапу:

1. Открываем КХ-микшер на закладке "Входы и выходы" и включаем мониторинг входа АС97. Там же при помощи фейдера выставляем желаемый уровень громкости при мониторинге. Самый простой вариант — выставить максимальную громкость, подняв фейдер до отказа вверх.

2. Открываем закладку "Запись" КХ-микшера. Там аналогичным образом включаем вход АС97 и выставляем уровень записи.

3. Открываем закладку АС97. Находим там кнопочку Reset AC97 и, нажав ее, инициализируем кодек, приводя все органы управления в состояние "Выключено". Затем из выпадающего меню выбираем источник записи — в нашем случае это будет "Лин. Вход".

4. Возвращаемся в Nuendo и нажимаем F5, активизируя окно выбора VST-входов. Там, засветив два верхних индикатора, включаем входы с первого по четвертый (In1/In2 и In3/In4). Здесь есть один маленький нюанс, способный попортить кровь тому, кто осваивает основы рисования с помощью апплета КХ DSP. Если сейчас, кроме тех входов, которые мы только что включили, окажутся включенными входы In15/In16, то на входы In1/In2 хост-программы пойдет сигнал не с входа ASIO0-ASIO1 модуля Epilog, а с входа ASIO14-ASIO15. Входы ASIO0-ASIO1 окажутся подключенными к входам In3/In4, ASIO2-ASIO3 — к входам In5/In6 и т. д. Вероятно, разработчики каким-то образом заботились о нашем с вами удобстве, но к такому смещению надо привыкать.

5. Поскольку мы имеем дело с выходным потоком MIDI-синтезатора, который использует выходы FXBus2 и FXBus3 модуля FXBus, имеет смысл проверить, чтобы Nuendo не резервировала под свои нужды BUS2, который использует те же выходы. Для этого открываем окно VST Outputs (кнопка F4) и убеждаемся, что индикатор Active, расположенный на линейке шины BUS2, не светится (рис. 15).

Рис. 15

6. Включаем запись на тех каналах, куда собираемся писать сигнал с линейного входа и/или синтезатора. Полезно будет при этом убедиться, что в "Настройках" проекта (меню File — Preferences — закладка VST) мониторинг установлен в положение Manual. Теперь, если входной сигнал начнет двоиться, просто отключим мониторинг входа, нажав селектор выбора входа в самом верху канальной ячейки.

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

Первая схема готова. Теперь перейдем к схеме 2.

Первым делом, соберем конструкцию, которая поможет нам заняться сведением записанного материала. Здесь уже не обойтись без процессора эффектов. Мы используем Reverb Lite, Stereo Chorus и "звездный тандем" из двух независимых линий задержки для получения эффекта Stereo Delay. Необходимая нам блок-схема изображена на рисунке 16. Она:
- Направляет выход Wave-потока компьютера (выходы FXBus0 и FXBus1 модуля FXBus) через модуль Routing на фронтальный аналоговый выход платы (входы 1 и 2 модуля Epilog).
- Этот же поток направляет на пиковый индикатор выходного уровня (если это необходимо).
- Адресует этот же поток на ASIO-вход хост-программы. Здесь происходит непосредственно сведение — запись многоканального микса с обработками в виде стереофонического WAV-файла.
- С выходов FXBus4-FXBus9 модуля FXBus организует подачу сигнала на внешнюю обработку. Отбор этого сигнала с треков проекта производится в хост-программе при помощи регуляторов посыла на эффект Send 2, Send 3 и Send 4 (Send 1 оставим свободным на тот случай, если нам понадобится использовать и выход MIDI-синтезатора, который использует ту же шину, что и Send 1).

 
Рис. 16  
   

Возврат обработанного сигнала осуществляется соединением выходов модулей эффектов с входами модуля Routing, который и смешивает обработанный сигнал со всем остальным миксом. Ревербератор и хорус возвращаются на свои "штатные" входы FX1InL/R и FX2InL/R — туда, где они размещены по умолчанию. Уровень возврата регулируется фейдерами FXSendC и FXSendD закладки FX в КХ-микшере. У обоих эффектов задействовано по два выхода, остальные две пары, подключаемые к surround-каналам, нам не понадобятся. Третий используемый эффект, стереодилей, возвращает сигнал туда, куда в обычном состоянии мы подключаем входной сигнал АС97-кодека. Общий уровень его возврата средствами микшера не регулируется. Но если возникнет необходимость уровень изменить, это можно легко сделать, включив в разрыв выхода линии задержки регулятор из набора имеющихся модулей. Естественно, что когда в процессе сведения вам понадобится что-то дописать, используя линейный (или микрофонный) вход платы, необходимо будет включить в конструкцию модуль Prolog и соединить два первых его выхода с каким-нибудь свободным входом модуля Routing, благо их там предостаточно. Уровень записи в этом случае будет регулироваться не фейдерами канала АС97, а фейдерами того канала, куда вы подадите сигнал с первых двух выходов модуля Prolog.

"Нарисовав" базовую конфигурацию, приступим к воплощению ее в жизнь.

1. В Nuendo открываем окно выбора VST-входов (F5). Там включаем первый вход (In1/In2).

2. Открыв окно включения VST-выходов (F4), включаем Bus 3, Bus 4 и Bus 5. Переименовываем их в "Reverb", "Chorus" и "Delay" (рис. 17).

Рис. 17

Рис. 18

3. Открываем VST Channel Settings канала, который хотим обработать внешним эффектом. Внизу, под каждым из регуляторов уровня посыла, видим подпись "No Effect". Щелкаем по ней мышью и из выпавшего меню выбираем тот эффект, которым хотим обработать звук, записанный на этом канале (рис. 18). Если его необходимо обработать двумя эффектами, аналогичным образом поступаем с другим регулятором посыла. Понятно, что вышеописанную процедуру необходимо проделать с каждым треком проекта, нуждающимся в обработке внешними алгоритмами. Естественно, что обычные модули формата DirectX и VST будут работать наравне с аппаратной обработкой.

4. После того, как произведение зазвучит должным образом, его необходимо записать в стереофайл. Обычные методы баунсинга через меню File — Export — Audio Mixdown здесь неприменимы, поскольку ресурсонезависимые модули ведут себя точно так же, как и внешние приборы обработки, — они требуют сведения в реальном режиме времени. У нас для этого все готово: просто добавьте в проект пустой стереотрек, убедитесь, что он назначен на запись с ASIO-входа In1/In2, ставьте курсор в начало песни, "зажигайте" Record — и вперед! Позаботьтесь лишь о том, чтобы мониторинг на этом входе был отключен, иначе сигнал с его выхода вновь вернется на вход, и система немедленно возбудится.

Естественное ограничение такого метода сведения — результат получается 16-разрядным. Если это неприемлемо, перед сведением все эффекты необходимо прописать в виде аудиофайлов. Делается это следующим образом:

1. Выполняем пункты 2 и 3, описанные ранее.

2. Когда требуемое звучание получено, открываем окно KX DSP и отключаем в нем соединение выходов FXBus0 и FXBus1 модуля FXBus с первым и вторым входами модуля Routing. Тем самым мы прекращаем подачу сигнала с мастер-шины Nuendo на выход платы и, соответственно, на запись. Все цепи, связанные с внешними модулями обработки, работают по-прежнему. Убеждаемся в этом, пустив проект на воспроизведение — в контрольных мониторах должен быть слышен только звук эффектов, которые мы применяли при сведении проекта: ревербератора, хоруса и задержки.

3. Выполняем пункт 4 вышеприведенного описания. Записанный трек будет содержать лишь звук процессора эффектов платы. Открыв окно включения VST-выходов (F4), выключаем Bus 3, Bus 4 и Bus 5 — они нам больше не нужны.

4. Теперь проект можно "месить" обычным образом — экспортом в файл любой необходимой разрядности.

В принципе, можно записать звук каждого из эффектов на отдельный трек. Для этого необходимо лишь в окне KX DSP развести выходы эффектов каждый к своему ASIO-входу и включить эти входы в Nuendo (F5). Возможно, при таком подходе потери при перезаписи эффектов будут меньшими. А, может быть, и нет, так что поле для эксперимента обширно и не пахано.

Естественно, что при любом способе микширования потери будут. Раз мы привлекаем к работе внешнюю обработку, у нас обязательно возникнет явление транкейта, поскольку архитектура платы не полностью 32-разрядная. Попадая на 16-разрядную шину, 32-разрядное цифровое слово будет деградировать, теряя младшие 16 разрядов. Пользуясь апплетом KX DSP, соберем простую схемку (рис. 19), соединив выходы FXBus0 и FXBus1 модуля FXBus с входами ASIO0-ASIO1 модуля Epilog. Для чистоты эксперимента даже не будем подключать цепи мониторинга.

Рис. 19

Импортируем в 24-разрядный проект 24-разрядный же тестовый файл с синусоидальным сигналом частотой 1 килогерц. Спектрограмма его (рис. 20), полученная с помощью SpectraLab, идеальна. Запишем этот сигнал на соседний трек, после того, как он прошел всего через два модуля: KX DSP и Epilog. Спектрограмма его (рис. 21) стала похожа на забор. Появившиеся в спектре сигнала гармоники — следствие транкейта. Включение в мастер-секцию Nuendo алгоритма дизеринга UV22 ситуацию полностью не исправляет — в спектре появляется явно видимое зашумление, но гармоники совсем не пропадают, хотя и несколько уменьшаются по уровню (рис. 22). Это говорит о том, что на участке цепи KX DSP и Epilog происходит какой-то пересчет, следствием которого является изменение разрядности цифрового потока. Возможно, в будущем появится модуль дизеринга, включение которого в схему позволит избежать возникновения транкейта.

Рис. 20

Рис. 21

Рис. 22

Меню — продолжение
Аудиосистема под управлением КХ-драйвера поддерживает автоматизацию. Окно КХ Automation (рис. 23) вызывается из одноименного меню. Здесь можно задать управляющее MIDI-событие (контроллер, нота или питч-бендер) для любого из параметров — начиная от положения регуляторов уровня входов и до параметров эффектов, зарегистрированных в системе. Диапазон нот и контроллеров — 127 шагов, питч-бендера — 16384. Параметры могут контролироваться как от внешнего источника, так и от программ через kX Control MIDI-порт или kXi VST-инструмент.

 
Рис. 23  
   

"КХ-редактор" позволяет писать свои собственные модули для драйвера — если вы, конечно, на "ты" с программированием микропроцессоров.

Для полноты обзора осталось внести лишь несколько штрихов. Драйвер позволяет работать нескольким платам одновременно. Выбор между их настройками осуществляется из пункта меню "Устройства". Кроме того, на каждом из апплетов в нижнем левом углу есть меню под надписью "Выбор звуковой карты", выполняющее те же функции.

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

Пункт меню "Эффекты" позволяет регистрировать в системе новые модули (мы делали это с помощью апплета KX DSP) и открывает возможность управлять блоками эффектов, не загружая апплет полностью.

Пункты "Скин" и "Интернет" объяснений не требуют. Выбор языка интерфейса из полутора десятков возможных производится выбором пункта "Язык".

Заключение
Просто здорово. Естественно, саундбластер остается саунбластером — качество мониторинга и оцифровки не изменяется. Но гибкость системы, множество настроек и возможностей, вполне приличная обработка, подробная документации, постоянное обновление версий достойны всяческих похвал. Незначительные минусы: несколько по-детски прорисованный интерфейс, отсутствие подписей под входами-выходами модулей, пара мелких "багов" — вот, пожалуй, и все.

Естественно, что драйвер является неофициальным, то есть никакой поддержки на сайте компании Creative Technology вы не получите. Официальный сайт драйвера — www.kxproject.com.

  Оценка статьи

Посещений: 15638 | Проголосовавших: 8 | Средняя оценка: 3.5

   

  Форум

Как удалить KX драйвер?

  Комментарии

27.02.04 10:24
Любопытный
Ну где комментарии, а?! Обладатели Сблива, чего молчите, хочу знать ваши мнения :)

28.02.04 14:52
Faust faust@linux.net
Маленькая заметка: анализатор к которому можно получить доступ через вкладку "анализатор" в апплете "микшер", к спектру не имеет никакого отношения, а всего лишь показывает задействованные потоки миди, вэйв, асио. И работает отлично. А в целом статья очень даже ничего. Только уже не актуальна, знающий народ уже давно нашел, закачал и изучил оные прекрасные дровишки.

08.06.04 03:55
vadias vadias@mail.lt
Очень хорошая статьяю, особенно для тех кто впервые открыл драйвера и хочет с ними быстренко разобратся. Самому впервые установив драва, первое впечатление была - "о наворатили как ;)". Есиб я сразу прочитал ету статью ине бы сэкономило много времени.

11.08.04 13:19
Евгений ammc1@mail.ru
Супер! наконец-то разобрался, не без Вашей помощи в настройках КХ! Спасибо!

19.03.07 14:31
Елена lena-sirena@mail.ru
Добрый день Евгений,вы мне не подскажите как скачать звукавой драйвер?

24.03.08 15:50
Андрей popov_and@bk.ru
Ссылка не работает! Где же все же можно скачать драйвер?

02.06.08 17:58
Самоучка
Чего не работает? последняя ссылка в статье - оттуда качаете

24.03.09 20:25
musicdevice@kmail.ru Отсюда!
kxproject.lugosoft. c o m

В связи с обилием спама размещение комментариев отключено. Пользуйтесь форумами.

РЕКЛАМА

 
       


Цены на рекламу


Музыкальное Оборудование
www.muzoborudovanie.ru
www.moline.ru
mail@muzoborudovanie.ru
© Агентство ДАТА