Что такое eax в играх. Игровой звук - фундамент атмосферы. Что в будущем

Прочие модели 04.04.2019
Прочие модели

5 905 руб.

Звуковая карта Creative Sound Blaster Z (OEM) SB1502

Максимальная частота АЦП - 192 кГц. Поддержка ASIO - 2.0. Тип - внутренняя. Максимальная частота ЦАП 192 кГц стерео. С цифровым оптическим входом S/PDIF. Версия EAX - 5 . Входных аналоговых каналов - 2. Микрофонных входов - 1. Отношение сигнал/шум АЦП 116 дБ. Разрядность ЦАП 24 бит. Отношение сигнал/шум ЦАП 116 дБ. Независимых выходов на наушники - 1. Выходных аналоговых разъемов - 3. Максимальная частота ЦАП 192 кГц многоканальный. Выходных аналоговых каналов - 6. С возможностью вывода многоканального звука. Тип подключения - PCI-E. С цифровым оптическим выходом S/PDIF. Разрядность АЦП 24 бит.

купить в интернет-магазине TopComputer.RU

возможен самовывоз

видеообзор фото

2 230 руб.

Входных разъмов jack 3.5 мм 1. Тип - внешняя. Максимальная частота АЦП - 48 кГц. Максимальная частота ЦАП 48 кГц стерео. С входными аналоговыми каналами 2. Версия EAX - 5 . Максимальная частота ЦАП 48 кГц многоканальный. Цифровой оптический выход S/PDIF. С разрядностью АЦП 16 бит. С разрядностью ЦАП 16 бит. Тип подключения - USB. С выходными аналоговыми каналами 2.

купить в интернет-магазине Flash Computers

возможен самовывоз

видеообзор фото

2 250 руб.

Звуковая карта USB2.0 ASUS Xonar for NB (Xonar U3/UAD/B/A) Xonar U3

Входных аналоговых каналов - 2. Максимальная частота ЦАП 48 кГц многоканальный. Тип - внешняя. Выходных аналоговых каналов - 2. Тип подключения - USB. Версия EAX - 5 . Разрядность АЦП 16 бит. Максимальная частота ЦАП 48 кГц стерео. С цифровым оптическим выходом S/PDIF. Максимальная частота АЦП - 48 кГц. Входных разъмов jack 3.5 мм - 1. Разрядность ЦАП 16 бит.

купить в интернет-магазине Электрозон

возможен кредит | возможен самовывоз

видеообзор фото

2 210 руб.

Звуковая карта ASUS Xonar U3 USB

С разрядностью ЦАП 16 бит. Входных разъмов jack 3.5 мм 1. С входными аналоговыми каналами 2. Версия EAX - 5 . С разрядностью АЦП 16 бит. Максимальная частота ЦАП 48 кГц стерео. С выходными аналоговыми каналами 2. Тип подключения - USB. Тип - внешняя. Максимальная частота ЦАП 48 кГц многоканальный. Максимальная частота АЦП - 48 кГц. Цифровой оптический выход S/PDIF.

в интернет-магазине ОГО!Онлайн-гипермаркет

возможен самовывоз

видеообзор фото

2 960 руб.

12% 3 366 руб.

Звуковая карта Creative Sound Blaster Audigy FX 70SB157000000

Тип - внутренняя. Максимальная частота ЦАП 96 кГц многоканальный. Разрядность АЦП 24 бит. Выходных аналоговых каналов - 6. Максимальная частота ЦАП 96 кГц стерео. Версия EAX - 5 . Входных разъмов jack 3.5 мм - 2. Максимальная частота АЦП - 96 кГц. Разрядность ЦАП 24 бит. Микрофонных входов - 1. Выходных аналоговых разъемов - 3. Тип подключения - PCI-E. С возможностью вывода многоканального звука. Входных аналоговых каналов - 2.

в интернет-магазине OZON.ru

видеообзор фото

2 484 руб.

Звуковая карта USB 2.0 ASUS XONAR U3

Максимальная частота ЦАП 48 кГц многоканальный. С выходными аналоговыми каналами 2. Максимальная частота ЦАП 48 кГц стерео. Входных разъмов jack 3.5 мм 1. Версия EAX - 5 . Тип подключения - USB. Цифровой оптический выход S/PDIF. Тип - внешняя. Максимальная частота АЦП - 48 кГц. С разрядностью ЦАП 16 бит. С входными аналоговыми каналами 2. С разрядностью АЦП 16 бит.

в интернет-магазине XcomShop

возможен самовывоз

видеообзор фото

6 075 руб.

Звуковая карта Creative Sound Blaster Z 70SB150000001

Микрофонных входов - 1. Максимальная частота ЦАП 192 кГц стерео. Выходных аналоговых разъемов - 3. Отношение сигнал/шум ЦАП 116 дБ. С цифровым оптическим выходом S/PDIF. Версия EAX - 5 . Разрядность АЦП 24 бит. Выходных аналоговых каналов - 6. Максимальная частота АЦП - 192 кГц. Разрядность ЦАП 24 бит. Независимых выходов на наушники - 1. С возможностью вывода многоканального звука. Тип - внутренняя. Максимальная частота ЦАП 192 кГц многоканальный. Поддержка ASIO - 2.0. Входных аналоговых каналов - 2. Отношение сигнал/шум АЦП 116 дБ. С цифровым оптическим входом S/PDIF. Тип подключения - PCI-E.

в интернет-магазине TopComputer.RU

возможен самовывоз

видеообзор фото

3 130 руб.

Максимальная частота ЦАП 96 кГц стерео. Версия EAX - 5 . Максимальная частота ЦАП 96 кГц многоканальный. Тип подключения - PCI-E. Входных разъмов jack 3.5 мм 2. С выходными аналоговыми каналами 6. Возможность вывода многоканального звука. С входными аналоговыми каналами 2. С выходными аналоговыми разъемами 3. С разрядностью ЦАП 24 бит. С разрядностью АЦП 24 бит. С микрофонными входами 1. Тип - внутренняя. Максимальная частота АЦП - 96 кГц.

в интернет-магазине Flash Computers

возможен самовывоз

видеообзор фото

3 160 руб.

Звуковая карта PCI-E Creative Audigy =FX= (SB1570)

Выходных аналоговых каналов - 6. Выходных аналоговых разъемов - 3. С возможностью вывода многоканального звука. Максимальная частота АЦП - 96 кГц. Тип подключения - PCI-E. Версия EAX - 5 . Разрядность ЦАП 24 бит. Входных разъмов jack 3.5 мм - 2. Входных аналоговых каналов - 2. Максимальная частота ЦАП 96 кГц многоканальный. Тип - внутренняя. Максимальная частота ЦАП 96 кГц стерео. Микрофонных входов - 1. Разрядность АЦП 24 бит.

в интернет-магазине Электрозон

возможен кредит | возможен самовывоз

видеообзор фото

3 100 руб.

Звуковая карта Creative SB Audigy FX (SB1570) PCI-E

Максимальная частота АЦП - 96 кГц. Входных разъмов jack 3.5 мм 2. С выходными аналоговыми разъемами 3. С разрядностью АЦП 24 бит. Версия EAX - 5 . Тип подключения - PCI-E. Тип - внутренняя. Возможность вывода многоканального звука. С входными аналоговыми каналами 2. С микрофонными входами 1. Максимальная частота ЦАП 96 кГц многоканальный. Максимальная частота ЦАП 96 кГц стерео. С разрядностью ЦАП 24 бит. С выходными аналоговыми каналами 6.

в интернет-магазине ОГО!Онлайн-гипермаркет

возможен самовывоз

видеообзор фото

6 312 руб.

Creative Sound Blaster Z звуковая карта 70SB150000001

Максимальная частота АЦП - 192 кГц. С цифровым оптическим входом S/PDIF. Тип подключения - PCI-E. Разрядность АЦП 24 бит. Микрофонных входов - 1. Независимых выходов на наушники - 1. Версия EAX - 5 . С цифровым оптическим выходом S/PDIF. Поддержка ASIO - 2.0. С возможностью вывода многоканального звука. Входных аналоговых каналов - 2. Тип - внутренняя. Отношение сигнал/шум ЦАП 116 дБ. Разрядность ЦАП 24 бит. Выходных аналоговых каналов - 6. Отношение сигнал/шум АЦП 116 дБ. Максимальная частота ЦАП 192 кГц многоканальный. Максимальная частота ЦАП 192 кГц стерео. Выходных аналоговых разъемов - 3.

в интернет-магазине OZON.ru

видеообзор фото

3 058 руб.

Звуковая карта PCI-E Creative SB AUDIGY FX 70SB157000000

Максимальная частота ЦАП 96 кГц стерео. Возможность вывода многоканального звука. С выходными аналоговыми каналами 6. С микрофонными входами 1. Тип - внутренняя. Версия EAX - 5 . Максимальная частота ЦАП 96 кГц многоканальный. С входными аналоговыми каналами 2. Тип подключения - PCI-E. Максимальная частота АЦП - 96 кГц. Входных разъмов jack 3.5 мм 2. С разрядностью АЦП 24 бит. С выходными аналоговыми разъемами 3. С разрядностью ЦАП 24 бит.

в интернет-магазине XcomShop

возможен самовывоз

видеообзор фото

5 770 руб.

Тип - внутренняя. Тип подключения - PCI-E. Максимальная частота АЦП - 192 кГц. С цифровым оптическим входом S/PDIF. Максимальная частота ЦАП 192 кГц многоканальный. Версия EAX - 5 . Поддержка ASIO - 2.0. С цифровым оптическим выходом S/PDIF. Разрядность АЦП 24 бит. Разрядность ЦАП 24 бит. Выходных аналоговых каналов - 6. Отношение сигнал/шум ЦАП 116 дБ. Микрофонных входов - 1. С возможностью вывода многоканального звука. Независимых выходов на наушники - 1. Максимальная частота ЦАП 192 кГц стерео. Выходных аналоговых разъемов - 3. Входных аналоговых каналов - 2. Отношение сигнал/шум АЦП 116 дБ.

в интернет-магазине Flash Computers

возможен самовывоз

видеообзор фото

5 790 руб.

Звуковая карта PCI Creative Sound Blaster Z (SB1500) OEM

Максимальная частота АЦП - 192 кГц. С разрядностью АЦП 24 бит. Максимальная частота ЦАП 192 кГц многоканальный. Тип подключения - PCI-E. С отношением сигнал/шум АЦП 116 дБ. Версия EAX - 5 . Поддержка ASIO - 2.0. Тип - внутренняя. С выходными аналоговыми разъемами 3. Возможность вывода многоканального звука. Цифровой оптический выход S/PDIF. С входными аналоговыми каналами 2. Цифровой оптический вход S/PDIF. Независимых выходов на наушники 1. С разрядностью ЦАП 24 бит. С отношением сигнал/шум ЦАП 116 дБ. Максимальная частота ЦАП 192 кГц стерео. С выходными аналоговыми каналами 6. С микрофонными входами 1.

в интернет-магазине Электрозон

возможен кредит | возможен самовывоз

видеообзор фото

5 750 руб.

Звуковая карта Creative Sound Blaster Z (SB1500) PCI-E OEM

Максимальная частота АЦП - 192 кГц. С цифровым оптическим входом S/PDIF. Максимальная частота ЦАП 192 кГц многоканальный. Тип подключения - PCI-E. Поддержка ASIO - 2.0. Версия EAX - 5 . Тип - внутренняя. С цифровым оптическим выходом S/PDIF. Разрядность АЦП 24 бит. Разрядность ЦАП 24 бит. Выходных аналоговых каналов - 6. Отношение сигнал/шум ЦАП 116 дБ. Микрофонных входов - 1. С возможностью вывода многоканального звука. Независимых выходов на наушники - 1. Максимальная частота ЦАП 192 кГц стерео. Выходных аналоговых разъемов - 3. Входных аналоговых каналов - 2. Отношение сигнал/шум АЦП 116 дБ.

в интернет-магазине ОГО!Онлайн-гипермаркет

возможен кредит | возможен самовывоз

видеообзор фото

6 425 руб.

9% 7 071 руб.

Звуковая карта PCI-E Creative SB Z 30SB150200000 Retail

Звуковая карта PCI-E Retail

в интернет-магазине XcomShop

EAX это API для создания звучания окружающей среды, созданный Creative. Цель EAX помочь разработчикам игр создавать ощущение реальности происходящего действия в игре с помощью звука. EAX это расширение DS3D, звукового API от Microsoft, являющегося частью среды для программистов DirectX. Оба интерфейса дополняют друг друга.

DS3D управляет позиционированием источников звука и ориентированием слушателя в виртуальном 3D пространстве игры. Например, разработчик может использовать DS3D для создания независимых источников звука для каждого персонажа в FPS игре, обеспечивая их различными голосами и звуками оружия с ясно различимой принадлежностью каждому персонажу. Эти источники звука могут перемещаться в 3D пространстве, также как и слушатель (игрок), который слышит звук. Разработчик игры может использовать DS3D для управления источниками звука, изменяя такие нюансы, как характер направленности (источник может распространять более громкий звук в одном направлении) и действие эффекта Допплера (увеличение высоты тональности при приближении источника звука к слушателю и снижение тональности при удалении).

EAX расширяет возможности DS3D за счет создания мира вокруг источников звука и слушателя - т.н. виртуальную звуковую среду окружения. Эта звуковая среда создается за счет моделирования отражения звуков и реверберации, исходящих со всех сторон от слушателя. Волны отраженных звуков и реверберация, достигая слушателя, дают ему возможность составить представление о природе окружающей его среды - размерах помещения, отражающих свойств стен и многое другое. Разработчики могут использовать EAX для простой установки различных типов свойств акустики для разных помещений и мест в игре. Например, играя в игру, поддерживающую EAX, игрок может слышать, как изменяется акустика при переходе их коридора в пещеру.

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

С точки зрения поддержки в приложениях аппаратного обеспечения от Creative и Emu, существует нечто большее. "Presets" (заранее сделанные установки EAX) в линейке звуковых карт Creative SB Live! дают возможность пользователю добавлять эффекты звука окружающей среды в самые популярные старые игры. Плюс к этому, аппаратное обеспечение Creative и Emu также поддерживает позиционирование источников звука в 3D пространстве, то, что используется любой игрой, написанной под DS3D.

EAX предоставляет очень эффективный интерфейс программирования, который очень интуитивен в использовании. Он предоставляет три различных типа управления:

Обширный выбор заранее сделанных установок звучаний окружающей среды ("presets"), который дает возможность очень просто выбрать требуемый тип окружающей акустики.

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

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

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

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

Модель распространения света, основанная на геометрии пространства, повсеместно используется в графическом мире и известна под названием "ray tracing" (распространение лучей), имеет акустический эквивалент. Для реализации геометрической акустики требуется компьютерная модель физического пространства: четкое определение того, какой объект и где расположен и какие звукоотражающие или звукопроводящие свойства имеет каждый объект. Затем рассчитывается количество слышимых пользователем звуков, отраженных от этих объектов для каждого источника акустики. Также, в расчет могут приниматься ослабление звукового сигнала во время прохождения сквозь стены или преграды на пути прямого распространения звуковых волн и каждого из отраженного звука. Ray tracing и другие модели распространения звуков на основе геометрии пространства - такие, как метод зеркальных источников звука - являются техниками, зависимыми от времени и широко применяются в качестве поддержки при вычислении акустики помещений в архитектурном дизайне. Подобная техника допускает, что звуковые волны отражаются в "зеркальной" форме, которая является аппроксимацией игнорируемых дифракции и диффузии звука. Совсем недавно, этот метод геометрического моделирования был адаптирован для воспроизведения 3D звука в некоторых экспериментальных интерактивных системах виртуальной реальности.

Модель распространения звука, основанная на геометрии пространства, такая, как ray tracing, может быть очень привлекательна для использования в API трехмерного звука. Разработчик просто определяет модель 3D звукового мира, располагает источники звука и слушателя в этом мире, а затем механизм ray tracing определяет пути распространения звуковых волн для завершения работы по созданию реалистичной акустической окружающей среды. На практике, тем не менее, такое применение геометрической модели в мире интерактивного компьютерного звука имеет несколько серьезных недостатков.

Полный расчет отражений от множества объектов для нескольких источников звука является сложной задачей. Не смотря на то, что физические принципы лежащие в основе геометрической модели просты (и обеспечивают лишь аппроксимацию реальных отражений звука) для ее расчета требуется серьезные вычислительные ресурсы. Главное следствие, в 3D играх, это то, что техника расчета распространения акустических волн (ray tracing) может оперировать лишь ограниченным числом отраженных звуков и не может быть использована для воспроизведения затухания запаздывающей реверберации. Чтобы понять, почему это так, рассмотрим источники звука в реальном мире.

Источники звука испускают звуковые волны, которые отражаются от первого объекта, которого достигнут, затем от второго объекта, затем от третьего, и т.д. В обычном помещении существует бесконечное число непрямых путей распространения звуковых волн от источника звука через отражение к слушателю. Когда эти отраженные звуковые волны достигают слушателя, запаздывающие отражения все больше и больше ослабляются, и следуют друг за другом все ближе и ближе по времени. Эти запаздывающие отраженные звуки быстро формируют континуум (сплошную среду), известный как "реверберация". Так как сложность полной модели увеличивается экспоненциально с течением времени, на практике моделирование геометрической акустики в реальном времени должно быть ограничено одним "отскоком" от препятствия ("первоочередные" ранние отраженные звуки) с целью экономии ресурсов CPU. Следовательно, механизм расчета распространения акустических волн в реальном времени не может использоваться для расчета затухания запаздывающей реверберации, которая является составной частью отраженных звуков в типичной акустической среде. В результате 3D звуковой окружающей среде не хватает живости и ощущения реалистичности. Это также приводит к несовместимости, так как первоочередной отраженный звук может стать явным, а затем исчезнуть, согласно физической модели - появляется чувство разочарования, потому что ожидаемого эффекта нет, так как нет запаздывающей реверберации для заполнения свободного акустического пространства, когда первоочередные отраженные звуки исчезают. Для избавления от этой проблемы, в интерфейсе EAX от Creative используется статичная модель распространение звуков, которая оперирует ранними отражениями и затуханием запаздывающей реверберации, и, следовательно, обеспечивает более полное и сильное ощущение звуковой окружающей среды.

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

Создание эффективной акустической модели это не простая задача, как об этом могут говорить дизайнеры акустики в реальном мире. Дизайнер может потратить месяцы, и даже годы для создания холла с приемлемой акустикой, но даже тогда он может не добиться успеха. Разработчики игр оказались перед этой проблемой дизайна в виртуальном мире при использовании геометрической модели: правильно ли они определили коэффициент поглощения звука для этой стены? Достаточно ли прозрачен для звука этот объект? Им приходится произвести массу настроек, чтобы все было правильным, даже если геометрический API обеспечивает их списком материалов, из которых программист может выбирать. Кроме того, в дополнение к необходимости определения свойств материалов, обычно существует необходимость преобразования графической геометрической информации в форму, которую может использовать звуковой механизм (движок). И то и другое не является простой рутинной задачей.

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

Использование EAX реверберации позволяет создавать в играх виртуальную акустическую окружающую среду, которая отличается от среды, изображаемой на мониторе. В этой виртуальной акустической среде персонажи или объекты звучат так, будто они находятся ближе или дальше от слушателя, чем это выглядит на экране, т.е. плоскому изображению сообщается объем. API EAX создан с целью обеспечить именно такую форму звучания, в тоже время, все задачи по внедрению интерактивности в игру перекладываются на процесс звукового дизайна, т.е. это дело разработчика, как, и в каких объемах использовать и добиваться интерактивности звучания.

Разработчики игр, как и режиссеры фильмов, хотят управлять степенью выразительности и качеством своих 3D звуковых сред окружения, а значит, хотят найти соответствующий инструментарий в EAX. Их потребности не так просто удовлетворить в геометрических моделях, подобных ray tracing. Например, если вы решили увеличить время затухания реверберации для обеспечения более сильного ощущения благоговения при имитации кафедрального собора, в модели типа ray tracing не существует простой кнопки управления длительностью времени затухания reverb. Вместо этого вы можете увеличить размеры звуковой геометрической модели, отодвинув стены дальше от слушателя, чтобы добиться требуемого эффекта. Это сложно сделать и, что еще хуже, в результате получается модель акустики, отличная от графической модели, вследствие чего могут возникнуть проблемы, например, если вы начнете двигать источники звука и графические объекты внутри созданной модели. И даже если вы справитесь с этими проблемами, вы получите модель акустики, которая не будет соответствовать законам физики. Вы не можете добиться одновременно и психологического реализма и эмоциональности, чего разработчики игр, как и режиссеры фильмов, хотят от создаваемого звучания.

В двух словах, EAX обеспечивает разработчиков лучшими параметрами для звукового дизайна, чем для архитектурного дизайна. И EAX реалистично моделирует ранние отраженные звуки и затухание запаздывающей реверберации, которые создают виртуальные объекты или стены.

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

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

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

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

Creative наряду с другими компаниями работает в IASIG (Interactive Audio Special Interest Group), разрабатывая новый стандарт 3D звука. Какова роль Creative в этих разработках?

IASIG пригласила Creative внести EAX в качестве вклада в IASIG "Level Two Guidelines" ("Принципы управления второго уровня"). Цель этих принципов установить промышленный стандарт на интерфейс звуковой окружающей среды для разработчиков мультимедиа и игр для PC. Creative согласилась сделать EAX 1.0 открытым для промышленного использования и принять во внимание предложения членов IASIG по расширению нашей первоначальной задачи.

Система пространственной обработки звука Environmental Audio eXtensions™ (EAX) используется многими разработчиками игр для создания естественного объемного звука с учетом специфики того помещения или пространства, где развиваются события игры и где находятся источники звуков. EAX можно представить как набор спецификаций, определяющих модели и алгоритмы для создания звуковых эффектов окружающего пространства или помещения, основанных на реверберации (Environmental Audio означает пространственный звук).

Под понятием «реверберация» (от ср.-век. лат. reverberatio - отражение) понимают послезвучание, сохраняющееся после выключения источника звука и обусловленное неодновременным приходом в данную точку отраженных или рассеянных звуковых волн. Реверберация оказывает значительное влияние на слышимость речи и музыки в помещении.

EAX также включает в себя набор функций API, позволяющих программисту воспользоваться аппаратной поддержкой EAX. На момент подготовки этой статьи уже появилась четвертая версия EAX, которая доступна на сайте Creative Labs в разделе для разработчиков .

EAX API является расширением базовой системы создания объемного звука DirectSound3D. Во время работы EAX приложения процесс обработки звука разделяется: DirectSound3D управляет местоположением, скоростью движения в 3D пространстве источников звука и слушателя, а EAX вносит в звук такие изменения, которые характеризуют окружающее источник звука пространство.

Поддержка системы EAX обеспечивается на аппаратном уровне встроенными аудиопроцессорами звуковых плат (звуковыми акселераторами). Разумеется, что в первую очередь такая поддержка реализована на платах Creative.В основу EAX положена технология E-mu Environmental Modeling, поддерживаемая аудиопроцессором EMU10K1, установленном на серии звуковых карт SBLive! В моделях EAX учитывается тип звукоизлучателей: наушники, стерео- и квадросистема. Аудиоакселератор EMU10K1 раскладывает любой звуковой поток на множество каналов, а потом на каждый канал в реальном времени накладывает реверберации. Благодаря чему создаются новые звуки, более близкие к их естественному звучанию в реальном пространстве.

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

Изначально предполагалось, что EAX не будет использовать геометрическую модель сцены, то есть источники звука могли быть не связаными с графическими объектами. Главное было создать звуковую атмосферу игровой сцены, то есть воздействовать на эмоциональное состояние игрока подобно тому, как в кинофильме звуковое сопровождение всегда подчеркивает остроту переживаний, акцентируясь на самом важном и пренебрегая незначительными звуковыми подробностями. Руководствуясь этим подходом, создатели EAX в качестве основы выбрали статическую модель звуковой среды, а не ее геометрические параметры. В статической модели автоматически рассчитываются эффекты реверберации и отражения относительно слушателя с учетом размеров помещения, направления звука и других параметров, которые программист может устанавливать для каждого источника звука. Расчет статической модели требует меньших вычислительных ресурсов, чем моделей, основанных на геометрическом подходе. EAX использует подготовленные заранее звуковые модели, которые представляют собой набор числовых значений параметров помещения или пространства. Параметры эти характеризуют не расположение предметов в помещении, как это бывает в геометрической модели, а поведение звуковых волн в таком помещении или пространстве, то есть задержки распространения, степень затухания, звукопоглощение и звукоотражение на разных звуковых частотах. Если по сюжету игры необходимо сменить длинный коридор на большой ангар, то достаточно сменить одну статическую модель (модель коридора) на другую (модель ангара). Модели различных помещений (их числовые значения) представлены в EAX в виде пресетов (предустановок). Такой подход обеспечивает более простое программирование 3D звука в игре, позволяет уменьшить объем вычислений при моделировании звуковой панорамы. Получаемый звук обладает весьма реалистичным звучанием. С другой стороны, статичность метода может служить причиной того, что выбранный пресет в процессе игры может перестать соответствовать графическому (геометрическому) представлению сцены. Например, в геометрической модели, если, например, рухнули стены помещения, то звук изменится в силу самой модели, а не принудительно, исходя из каких-то иных флагов или признаков. В случае статической модели звук будет оставаться таким же, как и до обрушения стен, пока не будет выбран другой пресет.

EAX 1.0 Поддерживает изменение места реверберации и отражений; имеет большое количество пресетов; позволяет (с некоторыми ограничениями) изменять реверберационные параметры помещения; автоматически менять интенсивность реверберации, в зависимости от положения источника звука. EAX 1.0 строит звуковую сцену на основе заранее созданных пресетов, учитывая дистанцию между источниками звука и слушателем.

В EAX 2.0 Обновлена реверберационная модель; добавлены эффекты звуковых преград (Occlusions) и препятствий (Obstructions); реализовано отдельное управление ранними и поздними отражениями; возможен продолжительный контроль размеров помещений; учитываются акустические свойства воздуха (поглощение звука). Теперь для использования эффектов Environmental Audio не требуется описание геометрии помещения. EAX 2.0 построен на возможностях первой версии и создает еще более реалистичные эффекты.

EAX 3.0 позволяет осуществить контроль за началом реверберации и ранними отражениями для каждого источника звука; реализует динамический переход между моделями пространства; содержит улучшенную дистанционную модель для автоматического управления реверберацией и начальными отражениями в зависимости от положения источников звука относительно слушателя. В этой спецификации уже происходит некоторый отход от статической модели и в ее состав включены методы, свойственные для геометрических моделей: Расчеты Ray-Tracing (отражение лучей) для получения параметров отражения для каждого источника звука. Кроме того, реализованы отдельные отражения для дальних эхо. Улучшенное дистанционное представление, призванное заменить статические реверберационные модели. EAX 3.0 совмещает вторую версию с новыми возможностями. Более высокий уровень реализма достигается благодаря поддержки местных отражений, изолированных отражений, продолжительных переходов между звуковыми сценами и др.

Средства FMOD для работы с EAX

Популярная среди многих разработчиков (особенно среди энтузиастов, создающих некоммерческое программное обеспечение) библиотека функций работы со звуком FMOD (разработчик Firelight Technologies Pty) предоставляет ряд возможностей для работы с системой EAX. О них далее и пойдет речь.

Для того чтобы получить определенное представление о библиотеке FMOD, рекомендуется прочитать статью Использование FMOD в звуковых играх , в которой рассказано об основных принципах работы с этой библиотекой, а также изложена последовательность действий (вызовов функций API FMOD) для создания источников объемного звука и расчета звуковой панорамы.

На данный момент (речь идет о версии FMOD 3.74) библиотека поддерживает EAX 2.0 и 3.0 (однако, предполагается, что спецификации EAX совместимы "снизу вверх", то есть настройки для EAX 2.0 будут корректно поддерживаться звуковыми картами, реализующими EAX 3.0 и т.д.).

Проверка наличия аппаратной поддержки EAX

Прежде чем использовать EAX в целях создания реалистичной звуковой панорамы, необходимо определить, есть ли такая поддержка у звуковой карты. Для этой цели в библиотеке FMOD предназначена функция FSOUND_GetDriverCaps(). В качестве параметра эта функция получает целое число, указывающее номер звуковоспроизводящего устройства в системе. Нулевое значение соответствует устройству принятому по умолчанию. На компьютерах с одной звуковой картой устройство по умолчанию и есть эта звуковая карта. В качестве второго параметра функция получает указатель на целочисленную переменную, то есть на адрес в памяти, по которому будет записано целое число, представляющее собой набор битовых полей. Эти битовые поля указывают, какие режимы работы поддерживает звуковая карта. При удачном выполнении функция возвращает TRUE, при ошибке - FALSE.

В файле fmod.h определены три константы: FSOUND_CAPS_HARDWARE, FSOUND_CAPS_EAX2, FSOUND_CAPS_EAX3, которые задают битовые поля, свидетельствующие о поддержке аппаратного 3D звука, EAX 2.0 и EAX 3.0 соответственно.

/* Пример анализа возможностей звуковой карты */ /* для win32 */ ... UINT caps = 0; UINT device_id = 0; //устройство по умолчанию char msg_buf ; //буфер для сообщения FSOUND_GetDriverCaps(device_id, &caps); msg_buf = 0; if (!caps) sprintf(msg_buf, "Нет аппаратной поддержки 3D звука и EAX.\r\n"); if (caps & FSOUND_CAPS_HARDWARE) strcat(msg_buf, "* Поддержка 3D звука\r\n"); if (caps & FSOUND_CAPS_EAX2) strcat(msg_buf, "* Поддержка EAX 2 \r\n"); if (caps & FSOUND_CAPS_EAX3) strcat(msg_buf, "* Поддержка EAX 3 \r\n"); // Вывод сообщения MessageBox (NULL, msg_buf, "Информация", MB_OK); ...

Функция FSOUND_GetDriverCaps () должна вызываться до вызова функции FSOUND_Init () или после вызова функции FSOUND_Close ();

Структуры FSOUND_REVERB_PROPERTIES и FSOUND_REVERB_CHANNELPROPERTIES

С точки зрения программиста спецификацию EAX можно представить как структуру, описывающую реверберационные параметры помещения (пространства). Таких параметров может быть более двух десятков.

Структура FSOUND_REVERB_PROPERTIES содержит параметры, общие для всех существующих источников звука. Структура FSOUND_REVERB_CHANNELPROPERTIES характеризует отдельно взятый источник (канал). Ниже представлены списки членов этих структур: сначала для FSOUND_REVERB_PROPERTIES, а затем FSOUND_REVERB_CHANNELPROPERTIES. Подробное рассмотрение физического смысла указанных параметров выходит за рамки статьи. По всем вопросам следует обращаться к документации по EAX.

/* FSOUND_REVERB_PROPERTIES */ / Числа отражают диапазон значений и значение, установленное по умолчанию. */ /* Целые числа, как правило, представляют децибелы, */ /* вещественные числа представляют линейную зависимость. */ unsigned int Environment /* 0 , 25 , 0 , sets all listener properties (WIN32/PS2 only) */ float EnvSize /* 1.0 , 100.0 , 7.5 , Размер помещения (пространства) в метрах(WIN32 only) */ float EnvDiffusion /* 0.0 , 1.0 , 1.0 , Проницаемость (диффузность) пространства(WIN32/XBOX) */ int Room /* -10000, 0 , -1000 , Уровень выраженности эффекта комнаты (на средних частотах) (WIN32/XBOX/PS2) */ int RoomHF /* -10000, 0 , -100 , Относительный уровень выраженности эффекта комнаты на высоких частотах(WIN32/XBOX) */ int RoomLF /* -10000, 0 , 0 , Относительный уровень выраженности эффекта комнаты на низких частотах(WIN32 only) */ float DecayTime /* 0.1 , 20.0 , 1.49 , Время затухания реверберации на средних частотах(WIN32/XBOX) */ float DecayHFRatio /* 0.1 , 2.0 , 0.83 , high-frequency to mid-frequency decay time ratio (WIN32/XBOX) */ float DecayLFRatio /* 0.1 , 2.0 , 1.0 , low-frequency to mid-frequency decay time ratio (WIN32 only) */ int Reflections /* -10000, 1000 , -2602 , Уровень раннего отражения относительно эффекта комнаты(WIN32/XBOX) */ float ReflectionsDelay /* 0.0 , 0.3 , 0.007 , Время задержки начальной реверберации(WIN32/XBOX) */ float ReflectionsPan /* , , Панорамный вектор раннего отражения (WIN32 only) */ int Reverb /* -10000, 2000 , 200 , Уровень позднего отражения относительно эффекта комнаты (WIN32/XBOX) */ float ReverbDelay /* 0.0 , 0.1 , 0.011 , Время задержки позднего отражения относительно начальной реверберации (WIN32/XBOX) */ float ReverbPan /* , , Панорамный вектор позднего отражения (WIN32 only) */ float EchoTime /* .075 , 0.25 , 0.25 , echo time (WIN32/PS2 only. PS2 = Время запаздывания для эхо/DELAY modes only) */ float EchoDepth /* 0.0 , 1.0 , 0.0 , Глубина эха (WIN32/PS2 only. PS2 = Feedback level for ECHO mode only) */ float ModulationTime /* 0.04 , 4.0 , 0.25 , Время (период) модуляции(WIN32 only) */ float ModulationDepth /* 0.0 , 1.0 , 0.0 , Глубина модуляции(WIN32 only) */ float AirAbsorptionHF /* -100 , 0.0 , -5.0 , Изменение уровня на единицу длины (поглощение) на высоких частотах(WIN32 only) */ float HFReference /* 1000.0, 20000 , 5000.0 , reference high frequency (hz) (WIN32/XBOX) */ float LFReference /* 20.0 , 1000.0, 250.0 , reference low frequency (hz) (WIN32 only) */ float RoomRolloffFactor /* 0.0 , 10.0 , 0.0 , Подобно FSOUND_3D_SetRolloffFactor но для эффекта комнаты(WIN32/XBOX) */ float Diffusion /* 0.0 , 100.0 , 100.0 , Value that controls the echo density in the late reverberation decay. (XBOX only) */ float Density /* 0.0 , 100.0 , 100.0 , Value that controls the modal density in the late reverberation decay (XBOX only) */ unsigned int Flags /* FSOUND_REVERB_FLAGS - Модифицирует поведение вышеуказанных членов структуры (WIN32/PS2 only) */ /* FSOUND_REVERB_CHANNELPROPERTIES */ int Direct /* -10000, 1000, 0, direct path level (at low and mid frequencies) (WIN32/XBOX) */ int DirectHF /* -10000, 0, 0, relative direct path level at high frequencies (WIN32/XBOX) */ int Room /* -10000, 1000, 0, Уровень выраженности эффекта комнаты (на низких и средних частотах) (WIN32/XBOX/PS2) */ int RoomHF /* -10000, 0, 0, Относительный уровень эффекта комнаты на высоких частотах(WIN32/XBOX) */ int Obstruction /* -10000, 0, 0, Основное управление обструкцией (attenuation at high frequencies) (WIN32/XBOX) */ float ObstructionLFRatio /* 0.0, 1.0, 0.0, Уровень обструкции на низких частотах re. main control (WIN32/XBOX) */ int Occlusion /* -10000, 0, 0, main Управление окклюзией (attenuation at high frequencies) (WIN32/XBOX) */ float OcclusionLFRatio /* 0.0, 1.0, 0.25, occlusion low-frequency level re. main control (WIN32/XBOX) */ float OcclusionRoomRatio /* 0.0, 10.0, 1.5, relative occlusion control for room effect (WIN32) */ float OcclusionDirectRatio /* 0.0, 10.0, 1.0, relative occlusion control for direct path (WIN32) */ int Exclusion /* -10000, 0, 0, main exlusion control (attenuation at high frequencies) (WIN32) */ float ExclusionLFRatio /* 0.0, 1.0, 1.0, exclusion low-frequency level re. main control (WIN32) */ int OutsideVolumeHF /* -10000, 0, 0, outside sound cone level at high frequencies (WIN32) */ float DopplerFactor /* 0.0, 10.0, 0.0, like DS3D flDopplerFactor but per source (WIN32) */ float RolloffFactor /* 0.0, 10.0, 0.0, like DS3D flRolloffFactor but per source (WIN32) */ float RoomRolloffFactor /* 0.0, 10.0, 0.0, like DS3D flRolloffFactor but for room effect (WIN32/XBOX) */ float AirAbsorptionFactor /* 0.0, 10.0, 1.0, multiplies AirAbsorptionHF member of FSOUND_REVERB_PROPERTIES (WIN32) */ int Flags /* FSOUND_REVERB_CHANNELFLAGS - modifies the behavior of properties (WIN32) */

Пресеты

Как уже говорилось, фирма Creative Labs предоставляет наборы числовых значений для членов, входящих в указанные структуры. Эти числовые значения присутствуют в библиотеке FMOD как предустановки (пресеты). Благодаря пресетам отпадает необходимость самостоятельно проводить физические эксперименты по определению параметров того или иного помещения, а также звукопоглощения и звукоотражения материала, из которого сложены стены. Пресеты составлены только для структуры FSOUND_REVERB_PROPERTIES. Числовые параметры пресетов можно посмотреть в файле fmod.h, в котором они объявлены посредством инструкции #define. В силу этого пресеты можно использовать только для инициализации структур при их объявлении, например:

FSOUND_REVERB_PROPERTIES prop = FSOUND_PRESET_AUDITORIUM;

Вот список пресетов, используемых при работе с DirectSound3D в системе Windows:

  • FSOUND_PRESET_OFF - обработка реверберации отключена
  • FSOUND_PRESET_GENERIC - параметры по умолчанию
  • FSOUND_PRESET_PADDEDCELL - "келья (палата), обитая материалом"
  • FSOUND_PRESET_ROOM - "комната"
  • FSOUND_PRESET_BATHROOM - "ванная комната"
  • FSOUND_PRESET_LIVINGROOM - "жилая комната"
  • FSOUND_PRESET_STONEROOM - "комната с каменными стенами"
  • FSOUND_PRESET_AUDITORIUM - "аудитория"
  • FSOUND_PRESET_CONCERTHALL - "концертный зал"
  • FSOUND_PRESET_CAVE - "пещера"
  • FSOUND_PRESET_ARENA - "арена"
  • FSOUND_PRESET_HANGAR "ангар"
  • FSOUND_PRESET_CARPETTEDHALLWAY - "коридор (прихожая), выложенный коврами"
  • FSOUND_PRESET_HALLWAY - "коридор" ("прихожая")
  • FSOUND_PRESET_STONECORRIDOR - "коридор с каменными стенами и полом"
  • FSOUND_PRESET_ALLEY -"аллея"
  • FSOUND_PRESET_FOREST - "лес"
  • FSOUND_PRESET_CITY - "город"
  • FSOUND_PRESET_MOUNTAINS - "скалы"
  • FSOUND_PRESET_QUARRY - "карьер"
  • FSOUND_PRESET_PLAIN - "степь"
  • FSOUND_PRESET_PARKINGLOT - "автостоянка"
  • FSOUND_PRESET_SEWERPIPE - "канализационная труба"
  • FSOUND_PRESET_UNDERWATER - "под водой"
  • FSOUND_PRESET_DRUGGED - "заторможенный"
  • FSOUND_PRESET_DIZZY - "головокружительный"
  • FSOUND_PRESET_PSYCHOTIC - "психотический"

Установка и чтение пространственных параметров

Для назначения определенных пространственных параметров источнику объемного звука в библиотеке FMOD предназначены функции FSOUND_Reverb_SetProperties () и FSOUND_Reverb_SetChannelProperties (). Для получения установленных параметров, служат обратные функции FSOUND_Reverb_GetProperties () и FSOUND_Reverb_GetChannelProperties (). Установку параметров реверберации можно выполнять и во время воспроизведения звука. Для того чтобы новые параметры вступили в силу, необходимо вызвать функцию FSOUND_Update().

Функции FSOUND_Reverb_SetProperties () и FSOUND_Reverb_GetProperties () предназначены для установки и получения общих параметров окружающего пространства соответственно. Обе функции получают один единственный параметр - указатель на структуру FSOUND_REVERB_PROPERTIES , соответствующую спецификации EAX. В случае FSOUND_Reverb_SetProperties () этот указатель должен адресовать уже инициализированную структуру, заполненную необходимыми числовыми значениями. В случае FSOUND_Reverb_GetProperties () указатель адресует область памяти, предназначенную для сохранения числовых значений. При успешном завершении функции возвращают TRUE, в противном случае - FALSE.

/* Пример установки параметров реверберации */ FSOUND_REVERB_PROPERTIES props = FSOUND_PRESET_STONEROOM; if (!FSOUND_Reverb_SetProperties (&props)) { /* обработка ошибки */ ... }; FSOUND_Update(); ...

Отдельному источнику звука (каналу) можно назначить параметры реверберационной модели (в том числе и такие, как обструкция и окклюзия) посредством функции FSOUND_Reverb_SetChannelProperties (), а прочитать их с помощью FSOUND_Reverb_GetChannelProperties (). Эти функции получают два параметра. Первый, как и для всех функций FMOD, работающих с каналами, это номер канала, через который идет воспроизведение звука. Второй параметр - это указатель на структуру FSOUND_REVERB_CHANNELPROPERTIES. При вызове FSOUND_Reverb_SetChannelProperties() он должен адресовать уже инициализированную структуру, а при вызове FSOUND_Reverb_GetChannelProperties () - свободное место в памяти, достаточное для сохранения полученных значений. Для функции FSOUND_Reverb_SetChannelProperties () bбиблиотека FMOD не располагает пресетами, поэтому выбор числовых значений для тех или иных членов структуры FSOUND_REVERB_CHANNELPROPERTIES ложится на плечи программиста.

/* Пример установки параметров реверберации */ /* для отдельного источника звука */ ... int channel; // номер канала FSOUND_SAMPLE *samp = NULL; // указатель на звуковой буфер // инициализация структуры необходимыми значениями FSOUND_REVERB_CHANNELPROPERTIES channel_props = {... }; // загрузка звуковых данных samp = FSOUND_Sample_Load (FSOUND_FREE, "motor.wav", FSOUND_HW3D | FSOUND_LOOP_NORMAL, 0, 0); // открытие канала воспроизведения channel = FSOUND_PlaySound(FSOUND_FREE, samp); // установка параметров реверберации if (!FSOUND_Reverb_SetChannelProperties (channel, &channel_props)) { /* обработка ошибки */ ... }; FSOUND_Update(); ...

Пример программы

В качестве примера работы с функциями FMOD и системой EAX предлагается программа на языке программирования Си (ANSI C), создающая приложение Windows в форме диалогового окна, в котором можно выбрать из списка один из пресетов и прослушать, как изменится звучание источника объемного звука. При запуске приложения выводится диалог для выбора звукового файла. Кроме того, приложение позволяет просмотреть параметры звуковой карты: наличие аппаратной поддержки для 3D звука и EAX (разумеется, что эффекты пространственного звучания будут иметь место только, если звуковая карта поддерживает EAX). Программа написана и откомпилирована при помощи пакета lccwin32, однако программисту, использующему иную среду разработки, не составит труда адаптировать исходный код для своих нужд. Следует учесть, что в состав FMOD входят несколько библиотек (.lib), каждая из которых предназначена для своего компилятора.

  • fmodbc.lib - для Borland C Builder
  • fmodlcc.lib - для lccwin32
  • fmodvc.lib - для Microsoft Visual C/C++
  • fmodwc.lib - для Watcom C++

В предлагаемом примере используются функции Win32 API и библиотеки FMOD. Для работы программы вы должны установить у себя на компьютере библиотеку fmod или поместить в папку с исполняемым файлом (eaxdemo.exe) файл библиотеки fmod.dll.

  • Не забудьте разархивировать файлы.
в августе 2005 года .

Там же описание версий https://ru.wikipedia.org/wiki/Environmental_Audio_Extensions

Ниже таблица компьютерных игр, звуковые движки которых используют технологию звуковых эффектов окружающей среды Environmental Audio eXtensions.

Из данного списка игр могу выделить: Aliens versus Predator, The Lord of the Rings: The Battle for Middle-earth II, Bioshock , Call of Duty 2, The Chronicles of Riddick: Escape from Butcher Bay , Diablo 2, Doom 3 (patch 1.3 added EAX 4 support ), F.E.A.R. (EAX 4), Far Cry, Grand Theft Auto 3, Grand Theft Auto: Vice City, Grand Theft Auto: San Andreas, Grand Theft Auto 4, S.T.A.L.K.E.R. все части(EAX works through OpenAL. Do not use ALchemy.), Half-Life 2 , Driver, Driver: Parallel Lines , Hitman 2: Silent Assassin, Hitman: Blood Money, Max Payne 2 , Tom Clancy"s Splinter Cell, Unreal, Unreal Tournament 2003 & 2004, Warcraft III, Stubbs the Zombie, The Matrix: Path of Neo (google it: EAX option in INI. Use ALchemy ), Prey , Quake 4 (EAX 4, EAX 5 via OpenAL), Outcast , Condemned (EAX 2.0, EAX Advanced HD), Mafia, Need for speed 3 и High Stakes, S.W.A.T 4 (For EAX, requires use of Creative Alchemy. Also, you must edit Swat4.ini and set the following parameters to true: UseEAX and Use3DSound).

Нативная поддержка EAX в карточках реализована только в Windows XP, поскольку аппаратное ускорение DirectSound и DirectSound3D больше не поддерживается в Windows Vista , поэтому для этой ОС и старше приходится прибегать к помощи сторонней утилиты Creative ALchemy .

Скачать Creative ALchemy с оф. сайта:

Подробнее об утилите:


Что такое 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», выбрать только что добавленную игру и нажать на ">>".

Как понять, что все работает
1. На слух .
2. По активировавшимся опциям в игре (если они есть).
3. По файлу dsoundlog.txt, который создается в папке игры (если игра установлена в подпапку «Program Files», то при включенном UAC он обычно попадает в папку C:\Users[Пользователи]\<имя пользователя>\AppData\Local\VirtualStore\ <реальный путь к папке игры>). В случае работы в режиме транcлятора и задействования 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-разрядных версиях приложений. Также он не работает с играми, написанными для XAudio2. Для них используются другие механизмы 3D-позиционирования и эффектов.

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

В догонку видео по настройке:

И еще одна наглядная статья по поводу аппаратной vs хардварной обработки звука на аудиокартах Creative:

В последнее время в Creative успели существенно нарастить сферу применения софтовой версии X-Fi. То, что началось с одной-единственной карты, XtremeAudio, сейчас используется и с гарнитурами и с внешними USB-устройствами и даже устанавливается на встроенные кодеки под названием X-Fi MB. Последний вариант чаще всего встречается на топовых платах Gigabyte или в виде отдельной платки Supreme FX X-Fi в комплекте с материнскими платами ASUS.

Во всех этих случаях слой программной обработки и звуковые движки устанавливаются поверх драйвера основного устройства. Это происходит прозрачно для пользователя в случае устройств Creative, но заметно на встроенных кодеках, на которые подобный комплект ставится в два этапа: драйвера кодека, а затем X-Fi MB. Таким образом, сам пакет везде одинаков, отличия имеются только на уровне файлов лицензирования и активации.

Почему я все это пишу? Да потому что есть нормальные аппаратные X-Fi со своим аудиопроцессором и в Creative их до сих пор не забыли, время от времени обновляя линейку. Проблема же состоит в том, что большинство пользователей твердо уверены, что разница между программной и аппаратной реализацией только в загрузке процессора, которая их давно не беспокоит. Некоторые попродвинутей знают, что программная реализация ограничена EAX 4, тогда как аппаратная имеет и пятую версию, но не считают это важным под предлогом того, что игр с EAX 5 весьма мало (в чем они правы).

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

Кто-то может возразить, что топовые современные CPU в 4-6 раз мощнее X-Fi. Но это подсчитано на примитивных операциях сложения, в то время как в обработке звука используются довольно специфичные алгоритмы, которые в рамках узкоспециализированной архитектуры оптимизируются гораздо проще, чем на x86. Достаточно вспомнить, что в 2002-2003 годах топовые процессоры были мощнее аудиопроцессора Audigy (предшественник X-Fi представленный в топовой линейке Creative тех времен) в 15-20 раз. И даже в таких условиях Audigy легко опережал по качеству игрового звука любые программные решения.

На этом я заканчиваю слегка затянувшуюся вводную часть и перехожу к наглядной демонстрации. Методика простая. Все настройки звуковых устройств стоят по умолчанию. Звук писался со входа What U Hear, на нем присутствует сигнал в том виде, в каком он попадает на ЦАП. Таким образом, в роликах не отражена разница в уровне преобразователей, вся присутствующая разница в звуке обязана своим существованием исключительно разнице в обработке звука программной и аппаратной версий X-Fi. Выбраны две наиболее показательные игры. Показательные не потому, что разница там по какой-то причине слышна сильнее, а по используемым самой игрой возможностям. Очень важно не отключать HD-видео, а смотреть в максимальном качестве, т.к. битрейт картинки и звука связаны.

Doom 3 в программном и аппаратном исполнении. Игра использует наспех прикрученный патчем EAX 4 (а по реально задействованным фичам скорее EAX 2.5). За что и была выбрана, ее нельзя обвинить в заточке под аппаратный Creative или наличии поддержки недоступных в программной реализации функций. Здесь в программной реализации в первую очередь заметны существенные искажения звука на высоких частотах, а также явная завышенность уровня, неестественность и вообще низкое качество имитации изменения звука в зависимости от помещений (это как раз и есть EAX). Кстати, на всех программных картах любых производителей именно верхние частоты начиная уже с 5 кГц страдают сильнее всего. Вызвано это тем, что чем ближе звук к максимуму текущей опорной частоты (при частоте 44 кГц максимумом является 22, т.е. в 2 раза меньше), тем сложнее его обработать качественно, т.к. нужно все больше и больше наращивать степень интерполяции, потребность в вычислительных ресурсах растет в геометрической прогрессии. Аппаратный X-Fi из-за заложенных в его архитектуру особенностей может позволить себе не только высокие степени, но и работу в игровом режиме с постоянной опорной частотой в 96 кГц для всех 128 потоков. И если вдруг кто-то из гордых пользователей встроенного звука решил сейчас проверить эту старинную игру у себя, то могу сразу подтвердить впечатления. Да, на чистом встроенном звуке без надстроек из-за отсутствия попыток изобразить какие-то эффекты звук в итоге заметно лучше, чем на программном X-Fi. выложена запись этого же фрагмента игры с использованием встроенного аудиодвижка, который используется игрой на встроенном звуке. Ситуация повторяется часто, встроенные кодеки существенно лидируют среди других программных карт по качеству звука в играх, какие бы чудесные технологии не рекламировались на разноцветных коробках. Вернее, чем больше обещают, тем худшего звука следует ожидать. В этом плане хороши профессиональные звуковые интерфейсы, которые никаких игровых эффектов просто не поддерживают. Ну и аппаратные X-Fi, способные их воспроизводить, не вызывая отвращения.

Oblivion в программном и аппаратном исполнении. Эта игра вообще не подозревает о существовании каких-то там непонятных EAX и потому еще более показательна. Очевидно (или может быть «ухослышно»?), что разница имеется и здесь. В программной версии персонажи буквально шепелявят, а удары зачарованным мечом и магией попросту перегружают микшер и звучат неразборчиво, хотя и более басовито, чем на аппаратной версии. Излишняя басовитость, кстати, это еще одна характерная черта любых программных звуковых карт любых производителей. Она исходит напрямую от искажений на высоких частотах. Стремясь сделать их менее заметными производители попросту снижают уровень самого сигнала, «заваливая верха». Аппаратный X-Fi позволяет легко поднять уровень баса или снизить верх без последствий, если кому-то так больше нравится. Чего нельзя сказать о возможности избавиться от неразборчивости верха на программной карте.

О суррогатах от Creative. «Встроенные» X-Fi, XtremeAudio и прочие поделки в играх

Эта запись является продолжением «О суррогатах от Creative. „Встроенные“ X-Fi, XtremeAudio и прочие поделки в играх» . В предыдущий раз были рассмотрены основные тенденции в качестве звучания программных решений по обработке игрового звука. Почему и как они в своей основной массе звучат. Тогда сравнение было прямым, аппаратные Creative против своих программных «сородичей».

Сегодня я закрываю небольшой пробел в той записи. Связан тот пробел с отсутствием примеров записей с достаточно популярной линейки звуковых карт ASUS Xonar.
Как и в прошлый раз записано все через What U Hear (для Xonar через аналогичный по назначению Stereo Mix), что исключает влияние различий аналогового тракта карт, вся разница обусловлена только чипом и используемыми алгоритмами обработки. Обе карты переведы в игровой режим, на Xonar включен GX, на X-Fi при необходимости применяется Alchemy . Битрейт картинки и звука в записях связаны, поэтому HD-режим отключать не следует.

Первой игрой снова становится Doom 3 с его наспех подкрученным EAX 4. Запись с аппаратного X-Fi не переделывалась, на всякий случай продублирую ссылку на нее , а заодно и версию с программного X-Fi . А вот так это звучит на Xonar. Здесь необходимо сделать несколько комментариев. Вцелом, качество звука заметно уступает аппаратному X-Fi и даже встроенному аудиодвижку игры , но чуть комфортнее, чем у программного X-Fi. В действительности программный X-Fi обрабатывает звук чуть качественнее Xonar, но в данном случае на Xonar полностью отсутствуют реверберации EAX, т.е. он производит чуть меньше насилия над звуком. Связано это с тем, что Xonar поддерживает лишь EAX 2, плюс сообщает играм о наличии у него поддержки EAX 5. При этом вызовы к EAX 5 он обрезает до возможностей EAX 2, а о EAX 3 и 4 на этой карте забыли (напоминиаю, что Doom 3 использует EAX 4). Ситуация не изменяется уже несколько лет и уже врядли когда-либо будет исправлена. Тем не менее, игра работает в режиме OpenAL и вся обработка переложена на карту, нет только ревербераций EAX, но о несущественности EAX для игрового звука уже было написано .

Второй игрой стал Fallout 3. Игра на обновленной версии движка Oblivion, использованного в предыдущем тестировании. В Fallout 3 куда больше экшена, а потому и услышать отличия проще. Как и в Oblivion, здесь вообще не используется никакой EAX. Запись для Xonar от аппаратного X-Fi отличается главным образом низким качеством верхних и средних частот, сильным провалом верхних частот (вплоть до того, что это уже симулятор сильно простуженного персонажа с заложенными ушами) и непонятно откуда взявшимися реверберациями в местах, где их быть не должно. Откуда берется большинство этих проблем было подробно рассмотрено в предыдущий раз.

В моей три звковые от Creative коллекции: Creative Audigy SE sb0570 (EAX3_software, ASIO нет) чипсет CA0106-DAT LF, Sound Blaster Audigy Rx sb1550 (EAX4_hardware, ASIO 2.0 ) чипсет (E-MU) CA10300-IAT LF*, Creative X-Fi Titanium sb0880 (EAX5_hardware, ASIO 2.0 ) чипсет CA20K2-2AG-HF.

*(E-MU) CA10300-IAT LF ле гендарный чипсет, который был установлен в Sound Blaster Audigy 4 sb 0610 (2004), он же вернулся в новом Sound Blaster Audigy Rx (2013).



Еще важный момент! Относительно новые модели Sound Blaster Z (70sb150000001) и Sound Blaster ZX (70sb150600001) не используют EAX эффекты в полной мере на аппаратном уровне. Участник форумов Creative пишет следующее:

«X-fi was the last sound card with full featured hardware acclerated 3D sound. After that is got downhill with hardware 3D sound. The newer cards have an outstanding sound quality (better than most X-fi cards) but lack the advanced hardware acceleration. Please note that hardware accelerated 3D sound is used less and less nowadays which is really a shame.»

Причем речь идет именно о программной обработке эффектов EAX, а не эмуляции, как скажем в какой-нибудь звуковой карте от ASUS. Хороший пост

Заинтересовался вопросом: актуальна ли поддержка технологий аппаратной обработки звука, типа EAX? Есть ли смысл апгрейдить свою Creative X-Fi с разъемом PCI на нечто более современное? Или с появлением Windows Vista, лишенной поддержки аппаратного ускорения DirectSound/DirectSound3D можно забыть про покупку дорогих звуковых карт? Погуглил EAX 5.0, с удивлением узнал, что эта технология записана в устаревшие самим разработчиком: "cогласно спецификации OpenAL 1.1 компании Creative, EAX должен считаться устаревшим. Новые разработки должны использовать интерфейс OpenAL EFX". Погуглил игры с поддержкой OpenAL и увидел весьма скорбный список (http://connect.creativelabs.com/alchemy/Lists/Games/AllItems.aspx):
Americas Army,
ARMA (но не ARMA2, где обработка звука полностью софтовая, силами самой игры),
Battlefield 2,
Battlefield 2142,
Bioshock,
Brian Lara"s International Cricket 2007,
Call of Juarez,
Cold War,
Colin McRae Rally DiRT,
Doom3,
El Matador,
Gears of War,
GRID,
Mage Knight Apocalypse,
Mass Effect,
Prey,
Quake 4,
Red Orchestra: Ost Front,
S.T.A.L.K.E.R,
Serious Sam 2,
Spaceforce II: Rogue Universe,
Star Wars Republic Commando,
Star Wars Jedi Knight: Jedi Academy,
Star Wars Jedi Knight II: Jedi Outcast,
The Regiment,
Tom Clancy"s Ghost Recon: Advanced Warfighter,
Trackmania Nations Forever,
Unreal Tournament 2003,
Unreal Tournament 2004,
Unreal Tournament 3,
Vanguard: Saga of Heroes.
Большинство вышеперечисленных игр очень старые, например Quake 4 вышел в 2005 году, а Doom 3 - в 2004. Игры, в которые кто-то станет играть сегодня, можно пересчитать по пальцам одной руки. Покупать дорогую звуковую карту ради них нет смысла. Получается, что игр, поддерживающих OpenAL и гарантированно работающих в Windows 7 на сегодняшний день очень мало, а те, что использовали DirectSound3D (более 80% игр) запускаются с аппаратной поддержкой звука как бог пошлёт - через программные костыли третьих разработчиков, которые не всегда работают. Причем у всех костыли свои: у Creative - ALchemy, перехватывающая обращения игры к DirectSound3D и конвертирующая их в свой OpenAL. У Realtek есть аналогичная технология 3D SoundBack, у C-Media - Xear3D EX и т.д.
Очевидно, что ни DirectSound3D, ни OpenAL в будущих играх поддерживаться не будут. Благодаря Microsoft, разработчики сделали 2 шага назад и вернулись в 1995 год, когда не существовало стандартов аппаратной обработки звучания и эта работа ложилась на процессор. DirectSound3D, EAX и OpenAL отправлены в мусорное ведро, а покупателю теперь выгоднее потратить деньги на хороший ЦАП, усилитель и высокоомные наушники, чем покупать дорогую звуковую карту, которая даст лишь ЦАП среднего качества.



Рекомендуем почитать

Наверх