Audiophile's Blog
Логин:Пароль:


Забыл пароль | Регистрация (убрать всю рекламу)
О сайте | Ликбез | Словарь | Audiophile's Testroom | Поддержать | Контакты
Разделы
Поиск по сайту
Популярное
Персональная настройка
Настройка звука онлайн (foobar2000, драйвера, Windows), создание персональных сборок foobar2000.

Контакты

Случайный опрос
Кто вы?
Всего ответов: 2614
Полезный софт
Opera QIP 2010 Download Master µTorrent
Ace Utilities AIDA64 SpeedFan 7-Zip
ESET NOD32 FileZilla Media Player Classic Home Cinema Paint.NET
Sony Sound Forge VirtualDub Unlocker Punto Switcher
Похожие проекты
Сейчас на сайте
Онлайн всего: 21
Гостей: 19
Пользователей: 2
angara2002, waspa
» »

Creative ALchemy: руководство и FAQ


24 Декабря 2010, 23:43

   Что такое ALchemy?
Это утилита, выполняющая две взаимоисключающие функции:
1. API-транслятор из вызовов DirectSound3D (DS3D) в вызовы OpenAL.
2. программный движок 3D-звука, понимающий вызовы DS3D.

   Зачем это?
Дело в том, что компания Microsoft серьезно переделала аудио-стэк в OS Windows Vista. Сделано это не без причины, многое менять давно было пора. Однако, при этой переработке пострадала часть старых API, которые теперь лишь эмулируются новым WASAPI. Для конечного пользователя наиболее заметной потерей является невозможность программ, использующих DS3D, напрямую "общаться" с аудиодрайвером. Что в свою очередь лишает пользователя таких приложений 3D-звука и поддержки любых версий EAX. Очевидно, что наибольшую проблему это представляет для карт Creative. Поэтому и был выпущен ALchemy.

   Эти особенности Vista относятся только к DS3D?
Да. Приложения, использующие API не от MS, не затронуты. Т.е. игры с OpenAL продолжают работать как и в предыдущих версиях Windows.

   А что насчет Windows Seven?
Что касается DS3D, то Seven ничем не отличается от Vista.

   Какие требования предъявляет ALchemy?
ALchemy работает только с картами Creative Audigy/X-Fi. Никаких других ограничений не существует.

   Как это работает?
В папку приложения подкладывается библиотека dsound.dll и файл конфигурации dsound.ini (это можно сделать вручную или через графическую оболочку). Т.к. в первую очередь приложения ищут файлы dll в своей папке, а только потом заглядывают в папки операционной системы, то этот dsound.dll (являющийся непосредственно самим ALchemy) имеет приоритет над "настоящим" dsound.dll от Microsoft. Таким образом любые обращения приложений к DS3D обрабатываются ALchemy, а не встроенными в Windows механизмами.

   Как это влияет на скорость работы?
В большинстве случаев скорость соответствует варианту "Windows XP без ALchemy". На картах с APU/Audio Processing Unit (т.е. всех старших моделях Audigy/X-Fi) ALchemy практически не нагружает процессор, т.к. не выполняет никаких вычислений, а просто транслирует команды. В редких случаях возможно даже незначительное ускорение, вызванное большей оптимизированностью драйвера под OpenAL. В случае отсутствия APU или работы X-Fi не в игровом режиме ALchemy задействует встроенный в него программный движок 3D-звука. Этот программный движок имеет те же возможности, алгоритмы и звучание, что и встроенный в драйвер X-Fi XtremeAudio.

   Получается, что при использовании ALchemy карты X-Fi имеет смысл переводить в игровой режим только ради скорости?
Вовсе нет. Программные алгоритмы XtremeAudio заметно уступают в качестве звука алгоритмам, выполняемым на APU.

   Надо ли это применять ко всем моим играм или только тем, что имеют EAX?
На мой взгляд ALchemy следует применять ко всем играм (за исключением использующих OpenAL). Встроенное в Vista софтверное микширование имеет весьма низкое качество в сравнении с тем, что выдают любые карты Creative. Кроме того, без ALchemy зачастую даже не работает правильный многоканальный звук, уж не говоря про позиционирование в наушниках или на стереопаре.

   А как определить использует ли игра OpenAL?
Простейший и самый действенный метод - просто ввести в поиск Google "<название игры> OpenAL". Также можно проверить наличие файла OpenAL32.dll в папке с игрой (не обязательно, но как правило этот файл присутствует).

   

   Руководство к действию

   Обычно ALchemy уже поставляется на диске в комплекте с картой. Также его можно скачать по этой ссылке. После инсталляции и запуска графической оболочки можно наблюдать следующую картину:

   

   Если повезло, то все установленные игры будут перечислены в списке слева. В таком случае надо просто выбрать нужную и нажать на кнопку ">>". Однако, графическая оболочка умеет искать весьма ограниченное число игр. Поэтому в большинстве случаев игры придется добавлять вручную. Для этого нажимаем на "Add" и видим уже другой экран:

   

   Его нам и предстоит заполнить.
"Game Title" - название игры, сюда можно вписать все, что угодно.
Переключатель "Use Registry Path"/"Use Game Path" выбирает тип поиска месторасположения игры, по реестру (тогда надо вписать ключ реестра, в котором указан путь к игре) или просто полному пути к папке. Я рекомендую использовать более простой способ - без возни с реестром просто вписать путь к игре. Для этого отыскиваем папку с игрой в проводнике (проще всего это делается через пункт "Открыть место хранения файла" в контекстном меню ярлыка), выделяем путь к ней вверху окна проводника

и копируем его в буфер обмена, затем вставляем в окно ALchemy.
Галочка "Install into Sub Folder" позволяет задать расположение exe-файла игры внутри папки этой игры. Например, у 32-разрядной версии Crysis exe-файл лежит в подпапке Bin32 (и поэтому в поле под этой галочкой надо вписать Bin32). А вот у Fallout 3 exe-файл лежит прямо в главной папке игры (поэтому галочку вообще не надо ставить). Еще более сложный (зато почти единичный) пример: у CnC3 настоящий exe-файл лежит в подпапке RetailExe\<версия установленного патча> и вообще имеет расширение dat вместо exe.
Галочка "Install into both Root and Sub Folders" позволяет установить ALchemy сразу в две папки - основную и указанную выше подпапку. Нужно это для тех редких игр, у которых несколько exe (например, один для настройки, а другой - собственно игра) и лежат они в разных местах.
Остальные параметры ("Buffers", "Duration", "Maximum Voice Count", "Disable DirectMusic") как правило следует оставлять как есть. Хотя с некоторыми играми buffers и duration требуют подстройки для решения проблем. Подробнее см. далее.
Настроив все, нужно нажать "OK", выбрать только что добавленную игру и нажать на ">>".

   

   Как понять, что все работает
1. На слух .
2. По активировавшимся опциям в игре (если они есть).
3. По файлу dsoundlog.txt, который создается в папке игры (если игра установлена в подпапку "Program Files", то при включенном UAC он обычно попадает в папку C:\Users[Пользователи]\<имя пользователя>\AppData\Local\VirtualStore\<реальный путь к папке игры>). В случае работы в режиме транслятора и задействования APU в нем должна присутствовать строка "Using Native OpenAL Renderer". А в случае использования встроенного программного движка "Using Creative Software 3D Library". В любом случае там не должно быть всяких "error" или "fail".

   

   Если что-то не работает

   Теперь игра вылетает.
Обычно вызвано включенным UAC и игрой, установленной в папку, в которую без доступа администратора писать нельзя (например в Program Files, куда по-умолчанию ставятся почти все игры). Лично я UAC отключать не советую даже самым "опытным пользователям". Решение проблемы без отключения UAC следующее. Надо один раз запустить игру с администраторским доступом (выбрав соответствующий пункт в контекстном меню ее ярлыка). Затем надо отыскать файл dsoundlog.txt в папке игры, открыть его свойства, перейти на закладку "Безопасность" и нажать "Изменить". Откроется окно

В нем надо выбрать "Пользователи", поставить галочку "Полный доступ" в столбце "Разрешить" и нажать "OK".

   Все пути прописаны верно, но почему-то не работает или звук заикается/с очень сильным эхо/пропадает/и т.п.
Скорее всего необходима подстройка duration и buffers. Для этого требуется выбрать игру в ALchemy и нажать "Edit". Необходимо снижать значение duration с шагом 5 до исчезновения ошибки. Если при этом заикания сменились на отсутствие всякого эффекта от ALchemy или звука вообще, то необходимо увеличивать buffers с шагом 1. При каждом изменении параметров достаточно просто закрывать окно, вызванное кнопкой "Edit", с помощью кнопки OK. Последовательно нажимать "<<" и ">>" для переприменения ALchemy не обязательно. В большинстве случаев можно найти уже подобранные другими пользователями настройки здесь.

   Все равно ничего не помогает
На данный момент ALchemy существует только в 32-разрядной версии. Он может работать в 64-разрядной версии Windows, но только на 32-разрядных версиях приложений. Также остается теоретический шанс, что ALchemy не будет работать с данным приложением ни при каких обстоятельствах (однако я таких не встречал).

   Я применил ALchemy на Everest или другой диагностической программе, а там в разделе DirectSound видно только поддержку EAX 4.0, в то время как моя карта должна поддерживать 5.0.
Не стоит волноваться, это нормально. Так уж вышло, что не существует ни одной игры с поддержкой EAX 5.0 под DS3D, все они используют OpenAL. А с учетом нынешнего положения дел с DS3D шансы на выход какой-то новой игры с использованием EAX 5.0 через DS3D близки к нулю. Поэтому разработчики ALchemy решили сэкономить силы и не встраивать поддержку EAX 5.0 в него.

 
   
Категория: 3D звук | Автор: | Добавил: Audiophile ()
Просмотров: 16374
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Авторские статьи
Сообщество
Последнее на форуме
Кодеки
TAK FLAC APE WV
MPC OGG AAC/ALAC MP3
WMA TTA OFR LA
Теги
Follow me
Twitter YouTube
Google+ Facebook
Полезные ссылки
Copyright Taras Kovrijenko © 2009–2016