что такое creative alchemy
Creative ALchemy: руководство и FAQ
Что такое 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 зачастую даже не работает правильный многоканальный звук, уж не говоря про позиционирование в наушниках или на стереопаре.
Руководство к действию
Обычно ALchemy уже поставляется на диске в комплекте с картой. Также его можно скачать по этой ссылке. После инсталляции и запуска графической оболочки можно наблюдать следующую картину:
Если повезло, то все установленные игры будут перечислены в списке слева. В таком случае надо просто выбрать нужную и нажать на кнопку «>>». Однако, графическая оболочка умеет искать весьма ограниченное число игр. Поэтому в большинстве случаев игры придется добавлять вручную. Для этого нажимаем на «Add» и видим уже другой экран:
Как понять, что все работает
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 в него.
Creative ALchemy 1.45.01
Утилита позволяющая играм под Windows Vista/7/8, работающим через DirectSound3D, получать полноценную аппаратную поддержку 3D Audio и EAX.
Как известно, с выходом Vista из операционной системы Windows был исключен интерфейс DirectSound. Этот интерфейс позволял получать прямой доступ к вычислительным ресурсам чипа DSP звуковой карты и выполнять обработку аппаратными средствами. Расширение интерфейса DirectSound3D, а также надстройки EAX обеспечивали аппаратное (или же программное — в зависимости от возможностей карты) 3D окружение в трехмерных играх, поддерживающих эти технологии.
Начиная с Windows Vista, был осуществлен переход на принципиально новую звуковую подсистему Windows Audio Session API (WASAPI), которая изначально исключала возможность доступа к аппаратным ресурсам карты — звук обрабатывался подсистемой программно и поступал на карту уже в готовом виде (микширование потоков также выполнял интерфейс WASAPI).
С выходом Windows 8 Microsoft всё же внесли некоторые принципиальные изменения в подсистему, теоретически позволяющие получить доступ к ресурсам звуковой карты, однако это требует изначально написанного под WASAPI звукового движка, и потому с уже имеющимися программами/играми, рассчитанными на DirectSound ускорение, не проходит.
Тем не менее, в ОС Windows осталась поддержка свободного интерфейса Open Audio Library — OpenAL. Этот интерфейс также обеспечивает доступ к технологиям EAX и аппаратному микшированию потоков. Таким образом, компанией Creative была создана специальная программа, которая имеет возможность предоставлять приложениям библиотеку DirectSound, с которой они будут работать в обычном режиме. Программа же, в свою очередь, принимает DrectSound запросы и транслирует их в запросы OpenAL, являясь по сути чем-то вроде адаптера. Это позволяет получить доступ ко всем возможностям аппаратной обработки на картах Creative, при условии поддержки данного метода приложением (игрой). Для включения EAX в приложении, необходимо добавить ссылку на исполняемый файл в ALchemy.
Creative ALchemy: руководство и FAQ
Что такое 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 следует применять ко всем играм, использующим DS3D. Встроенное в Vista софтверное микширование имеет весьма низкое качество в сравнении с тем, что выдают любые карты Creative. Кроме того, без ALchemy зачастую даже не работает правильный многоканальный звук, уж не говоря про позиционирование в наушниках или на стереопаре.
А как определить использует ли игра OpenAL сама и без Alchemy?
Простейший и самый действенный метод — просто ввести в поиск 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», выбрать только что добавленную игру и нажать на «>>».
Если что-то не работает
Теперь игра вылетает.
Обычно вызвано включенным 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-разрядных версиях приложений. Также он не работает с играми, написанными для XAudio2. Для них используются другие механизмы 3D-позиционирования и эффектов.
Я применил ALchemy на Everest или другой диагностической программе, а там в разделе DirectSound видно только поддержку EAX 4.0, в то время как моя карта должна поддерживать 5.0.
Не стоит волноваться, это нормально. Так уж вышло, что не существует ни одной игры с поддержкой EAX 5.0 под DS3D, все они используют OpenAL. А с учетом нынешнего положения дел с DS3D шансы на выход какой-то новой игры с использованием EAX 5.0 через DS3D близки к нулю. Поэтому разработчики ALchemy решили сэкономить силы и не встраивать поддержку EAX 5.0 в него.
Что такое 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 следует применять ко всем играм, использующим DS3D. Встроенное в Vista софтверное микширование имеет весьма низкое качество в сравнении с тем, что выдают любые карты Creative. Кроме того, без ALchemy зачастую даже не работает правильный многоканальный звук, уж не говоря про позиционирование в наушниках или на стереопаре.
А как определить использует ли игра OpenAL сама и без Alchemy?
Простейший и самый действенный метод — просто ввести в поиск Google » OpenAL». Также можно проверить наличие файла OpenAL32.dll в папке с игрой (не обязательно, но как правило этот файл присутствует).
Руководство к действию
Обычно ALchemy уже поставляется на диске в комплекте с картой. Также его можно скачать по этой ссылке. После инсталляции и запуска графической оболочки можно наблюдать следующую картину:
Если повезло, то все установленные игры будут перечисленны в списке слева. В таком случае надо просто выбрать нужную и нажать на кнопку «>>». Однако, графическая оболочка умеет искать весьма ограниченное число игр. Поэтому в большинстве случаев игры придется добавлять вручную. Для этого нажимаем на «Add» и видим уже другой экран:
Если что-то не работает
Все пути прописаны верно, но почему-то не работает или звук заикается/с очень сильным эхо/пропадает/и т.п.
Скорее всего необходима подстройка duration и buffers. Для этого требуется выбрать игру в ALchemy и нажать «Edit». Необходимо снижать значение duration с шагом 5 до исчезновения ошибки. Если при этом заикания сменились на отсутствие всякого эффекта от ALchemy или звука вообще, то необходимо увеличивать buffers с шагом 1. При каждом изменении параметров достаточно просто закрывать окно, вызванное кнопкой «Edit», с помощью кнопки OK. Последовательно нажимать » >» для переприменения ALchemy не обязательно. В большинстве случаев можно найти уже подобранные другими пользователями настройки здесь.
Все равно ничего не помогает
На данный момент ALchemy существует только в 32-разрядной версии. Он может работать в 64-разрядной версии Windows, но только на 32-разрядных версиях приложений. Также он не работает с играми, написанными для XAudio2. Для них используются другие механизмы 3D-позиционирования и эффектов.
Я применил ALchemy на Everest или другой диагностической программе, а там в разделе DirectSound видно только поддержку EAX 4.0, в то время как моя карта должна поддерживать 5.0.
Не стоит волноваться, это нормально. Так уж вышло, что не существует ни одной игры с поддержкой EAX 5.0 под DS3D, все они используют OpenAL. А с учетом нынешнего положения дел с DS3D шансы на выход какой-то новой игры с использованием EAX 5.0 через DS3D близки к нулю. Поэтому разработчики ALchemy решили сэкономить силы и не встраивать поддержку EAX 5.0 в него.
Как включить 3D-звук в играх в Windows 7/8/10
Наверное практически всем известно, что с выходом Windows Vista ещё в 2007 году, а в след за ней и во всех последующих версиях Windows звуковой API DirectSound3D был удален из Windows, вместо DirectSound и DirectSound3D стали использоваться новые API XAudio2 и X3DAudio. Вследствие чего в старых играх стали недоступны звуковые спецэффекты ЕАХ(звуковые эффекты окружающей среды). В этой статье я расскажу, как вернуть тот самый DirectSound3D/EAX во все старые игры, которые поддерживают данные технологии играя на Windows 7/8/10. Конечно, опытные геймеры всё это знают, но возможно кому-то статья будет полезна.
Старые игры не ушли на свалку истории, наоборот они пользуются огромным спросом, как у пользователей старшего поколения, так и у младшего. Старые игры лучше смотрятся на современных мониторах с высоким разрешением, для многих игр выходят моды улучшающие текстуры и шейдеры, но вот со звуком поначалу не повезло. С выходом следующего поколения Windows Vista, вслед за Windows ХР, разработчики Microsoft сочли, что DirectSound3D морально устарел — он имел ограничение в 6-канальный звук, не поддерживал сжатие звука, был процессорно зависимым и поэтому ему пришел на смену XAudio2/X3DAudio. А так как технология ЕАХ компании Creative была не самостоятельным API, как был в своё время A3D от компании Aureal, а всего лишь расширением DirectSound3D — звуковые карты компании Creative оказались за бортом. Если не использовать специальные программные врапперы, то играя на Windows 7/8/10 в старых играх пункты меню включающие EAX будут не активны. А без EAX звук в играх будет не таким сочным, объемным, позиционируемым.
Для решения этой проблемы компания Creative разработала программу-враппер ALchemy, которая перенаправляет вызовы DirectSound3D и EAX в кроссплатформенный API OpenAL. Но эта программа работает официально со звуковыми картами компании Creative и то не совсеми моделями. Например, современная карта Audigy Rx имеющая аппаратный DSP-процессор СА10300 официально не работает. Для владельцев других звуковых карт, например встроенной Realtek, нужно использовать ещё программный-драйвер Creative Sound Blaster X-Fi MB, который стоит денег. Можно ещё попробовать родную программу 3DSoundBack, но она не была закончена компанией Realtek — остановилась на стадии beta версии, работает не качественно и не со всеми чипами. Но есть способ лучше, он проще в использовании и бесплатен.
Первый способ
Начну со звуковых карт компании ASUS. Звуковые карты компании ASUS DGX/DSX/DX/D1/Phoebus базируются на чипах C-Media и даже чипы ASUS AV66/AV100/AV200 — это всё те же перемаркированные чипы C-Media. В характеристиках этих звуковых карт написано, что они поддерживают ЕАХ 1/2/5. Все эти чипы получили в наследство от своего предшественника CMI8738 DSP-блок программно-аппаратный EAX 1/2, EAX 5 уже программный.
Владельцам карт серии Xonar очень повезло, все видели кнопку GX на панели драйвера, но возможно не все знают, что она делает. Покажу на скриншотах из программы AIDA64, вот так выглядит закладка DirectX-звук при не активной кнопке и у владельцев встроенных звуковых карт Realtek в Windows 7/8/10:
Все звуковые буферы равны нулю, все API не активны. А вот сразу после включения кнопки GX мы видим
Т.е. очень удобно — не нужно запускать дополнительные программы, как Creative ALchemy и копировать в каждую папку с игрой файл dsound.dll. Вот возникает большой вопрос, почему так не сделала компания Creative в своих драйверах? Более того, она во всех новых моделях Sound Blaster Z/Zx/AE не использует аппаратный DSP-процессор для обработки ЕАХ, а делает это программно через драйвер по упрощенным алгоритмам. Некоторые люди считают, что программной обработки звука достаточно, потому что современные ЦП намного мощней процессоров звуковых карт 10-летней давности, которые аппаратно обрабатывали звук. Это совсем не так. ЦП оптимизирован обрабатывать х86-команды, а DSP гораздо быстрей обрабатывает звук центрального процессора, как и видеокарта быстрей производит растеризацию, чем ЦП. Центрального процессора хватит для не сложных алгоритмов, а вот качественная реверберация с множеством источников звука будет отнимать слишком много ресурсов даже мощного ЦП, что скажется на падении ФПС в играх. Это уже признала компания Microsoft и уже вернула поддержку обработки звука DSP-процессорами в Windows 8, а также компания Sony, которая добавила в свою приставку PS5 отдельный чип для обработки 3D-звука.
Второй способ
Этот вариант подойдет для пользователей встроенной звуковой карты в материнскую плату, которых большинство. Есть такой проект DSOAL — это программная эмуляция DirectSound3D и ЕАХ с помощью OpenAL(OpenAL должен быть обязательно установлен в системе) не требующая аппаратного ускорения. Если ваш звуковой чип имеет какие-то аппаратные функции для обработки звука то они будут использоваться автоматически. Программа настолько хорошо работает, что через неё ЕАХ заработал у меня на всех старых играх, где есть галочка ЕАХ в настройках. Вот так выглядит окно AIDA64, если скопировать файлы DSOAL в папку программы:
Если же этого не произошло и у вас картинка, как на самом первом скриншоте, значит родной Windows dsound.dll не даёт перехватить API, как это было и в моём случае. Тогда поможет такой метод — нужно будет загрузиться с какого-нибудь Windows Live-CD образа и удалить файл dsound.dll не без помощи утилиты Unlocker (предварительно сделав копию на случай отката) из каталога С:\Windows\SysWOW64 и записать вместо него те самые dsoal-aldrv.dll и dsound.dll. Я так сделал и у меня, как сама Windows, так и все игры работали без сбоев и так даже удобней — не нужно каждый раз копировать эти файлы в папки с играми, в крайнем случае, можно будет вернуть обратно родной dsound.dll на место. Правда такой способ подойдет, если вы не будете пользоваться другими звуковыми картами ASUS или Creative, потому что в этом случае у вас всегда DirectSound3D будет работать только через DSOAL, а не через родной драйвер или ALchemy.
Послушать DSOAL можно в этом видео:
Сравнивая как звучит ЕАХ на разных звуковых картах я с удивлением обнаружил, что на встроенном Realtek ЕАХ звучит лучше, чем на Асусах или на моей Audigy Rx. Если почитать даташиты, то практически все чипы Realtek поддерживают DirectSound3D/ЕАХ 1&2. Запустив AIDA64 из под Windows XP можно увидеть:
Оказывается, Реалтеки в отличии от ASUS и Creative звуковых карт поддерживают ещё какой-то I3DL2 (не в каждом Реалтековском даташите об этом написано). I3DL2(Interactive 3D Audio Level 2) — это открытый промышленный стандарт для работы с 3D интерактивным звуком, это расширение для DirectSound3D для работы с реверберацией и окклюзией. В принципе аналог ЕАХ, но звучит приятней — более приятная реверберация в играх шагов, когда персонаж бежит по пещере или замку, более реалистичное звучание объемного звука в помещениях. Поэтому если старая игра работает на Windows XP то я играю только на ХР, вдруг звуковой движок сможет задействовать I3DL2. DSOAL хоть и открытый проект и его любой может усовершенствовать, но он никогда не сможет задействовать I3DL2, т.к. OpenAL не работает с I3DL2, а только с ЕАХ 1-5. Но есть и хорошая новость — начиная с Windows 8 I3DL2 включен в библиотеку XAudio 2.7. Так что звук в новых играх под Windows 10 будет лучше, чем под Windows 7.
Ну и напоследок хочу напомнить, что все эти технологии 3D-звука разрабатывались для наушников, на 2х колонках вы практически 3D-звука не услышите. Чтобы насладиться детальным звуком наушники уровня SVEN AP860 не подойдут, из недорогих наушников нужно начинать с Axelvox HD 241 — уже будет разница со SVEN AP860, как небо и земля. Вот как-то так ориентируйтесь.