Технология

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

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

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

EAX используется во многих популярных компьютерных играх, в том числе Half-life, Counter-Strike, Grand Theft Auto IV, S.T.A.L.K.E.R., Doom 3 и многих других. Эти игры поддерживают EAX версий 4.0 и 5.0, если на компьютере установлено аудиоустройство, драйвер которого поддерживает OpenAL. Поскольку аппаратное ускорение DirectSound и DirectSound3D больше не поддерживается в Windows Vista , технология OpenAL, очевидно, наберёт популярность среди разработчиков, которые хотели бы использовать EAX в своих играх.

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

Версии EAX

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

EAX 1.0

EAX 1.0 представлен в звуковых картах Sound Blaster Live!.

  • Аппаратная поддержка 8 одновременно звучащих каналов.
  • Аппаратная поддержка 32 индивидуальных каналов.
  • Аппаратный DSP Rendering.
  • Поддерживает изменение места в игре реверберации и отражений.
  • Имеет большое количество пресетов.
  • Позволяет (ограниченно) изменять реверберацию окружения.
  • Позволяет автоматически изменять интенсивность реверберации, в зависимости от положения источника звука относительно слушателя.

EAX 1.0 строит звуковую сцену на основе заранее созданных пресетов, учитывая дистанцию между источниками звука и слушателем. Соответственно, EAX 1.0 предоставляет большой набор пресетов «на все случаи жизни». Также имеется возможность изменять параметры поздней реверберации (дэмпинг, уровень) и автоматическое изменение уровня в зависимости от расстояния. Благодаря этому происходит улучшенное восприятие расстояния до источника.

EAX 2.0

  • Обновлена реверберационная модель.
  • Добавлены эффекты звуковых преград (Obstructions) и поглощений (Occlusions).
  • Отдельное управление начальными отражениями и поздними реверберациями. Непрерывный контроль размеров помещений. Улучшенная дистанционная модель для автоматического управления реверберациями и начальными отражениями, основанными на местоположении источника звука относительно слушателя.
  • Возможность учитывать звуковые свойства воздуха (поглощение звука).
  • Теперь для использования эффектов Environmental Audio не требуется описание геометрии помещения.

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

EAX 3.0

  • Аппаратная поддержка 64 индивидуальных каналов.
  • Контроль за ранними реверберациями и отражениями для каждого источника звука.
  • Динамический переход между окружающими моделями.
  • Улучшенная дистанционная модель для автоматического управления реверберацией и начальными отражениями в зависимости от положения источников звука относительно слушателя.
  • Расчёты Ray-Tracing (отражение лучей) для получения параметров отражения для каждого источника звука.
  • Отдельные отражения для дальних эхо.
  • Улучшенное дистанционное представление, призванное заменить статические реверберационные модели.

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

EAX 4.0

EAX 4.0 представлен в звуковых картах Sound Blaster Audigy 2.

  • Аппаратные эффекты реального времени
  • Множество одновременных окружений
  • Flange (Флэнжер)
  • Echo (Эхо)
  • Distortion (Дисторшн)
  • Ring modulation effects (Эффект кольцевой модуляции)

EAX 5.0

EAX 5.0 представлен в звуковых картах Sound Blaster X-Fi и ASUS ROG Xonar Phoebus.

  • Аппаратная поддержка 128 индивидуальных каналов по 4 эффекта на каждый канал.
  • EAX Voice (обработка входящего сигнала микрофона).
  • EAX PurePath (повышение точности позиционирования виртуальных источников звука).
  • Environment FlexiFX (4 слота для эффектов на каждый канал).
  • EAX MacroFX (реалистичные эффекты позиционирования на близком расстоянии).
  • Environment Occlusion (эффект создаёт впечатление, что источник звука находится в другом месте, за стеной).

Будущее

Согласно спецификации OpenAL 1.1 компании Creative, EAX должен считаться устаревшим. Новые разработки должны использовать интерфейс OpenAL EFX, который более плотно интегрирован со всей средой OpenAL.

Эмуляция EAX

В дополнение к аппаратным устройства, Creative выпустила драйвера эмуляции EAX для компьютеров со встроенной звуковой картой.

Различия заключаются в комплекте поставки программного обеспечения. Sound Blaster Audigy ADVANCED MB включает Creative Audio Center, Creative MediaSource 5 Проигрыватель/Органайзер, Creative WaveStudio 7, Creative ALchemy; Sound Blaster X-Fi MB включает «Консоль развлечений» (англ. Entertainment Console), Creative Karaoke Player, Creative MediaSource 5 Player/Organizer, Creative WaveStudio 7, Creative Audio Console, Creative ALchemy.

Sound Blaster Audigy ADVANCED MB

Также известен как Sound Blaster Audigy ADVANCED MB, он похож на Audigy 2 SE, а программное обеспечение поддерживает EAX 3.0, который поддерживает 64-канальные программные таблицы волн с DirectSound ускорением, но без аппаратного ускорения синтеза таблицы волн. ЦАП оценен как 95дБ по отношению сигнал/шум.

Он доступен как встроенная опция для ноутбуков Dell Inspiron, Studio and XPS.

Последняя версия драйверов поддерживает EAX 4.0.

Sound Blaster X-Fi MB

Возможности:

  • Поддержка EAX 4.0 и OpenAL
  • Кристаллизатор
  • CMSS-3D
  • SVM
  • Графический эквалайзер
  • Creative ALchemy (только Windows Vista, дает возможность использовать EAX в Vista)
  • Console Launcher (Entertainment Mode)
  • Audio Console
  • Karaoke Player
  • Creative WaveStudio
  • Creative MediaSource

В отличие от своего предшественника, Audigy Advanced MB, X-Fi MB не включает в себя программный синтезатор SoundFont. Другое отличие состоит в том, что она имеет возможность участвовать в 30-дневном испытательном режиме.

Предыстория

Как известно, технология EAX (Environmental Audio Extensions), являющаяся расширением DirectSound3D, была разработана компанией Creative Labs и впервые представлена с выходом карты Sound Blaster Live! в 1998 году. На то время аппаратная обработка звука позволяла не только получить некоторые эффекты окружения, но также и разгрузить центральный процессор (который в противном случае сам выполнял обработку звука в соответствии с заложенными в игре алгоритмами). Этот момент активно использовался компаниями в ходе маркетинга.

Последняя версия EAX 5.0 впервые появилась в картах поколения X-Fi, выпускаемых с 2005-го года. Некоторые из карт X-Fi даже оснащались встроенной памятью размером 64 МБ (у других карт также было ОЗУ, но размером всего 2 Мб), что позволяло еще больше повысить быстродействие и производительность.

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

Таким образом качественный звук в играх остался уделом лишь небольшой группы энтузиастов, и всего лишь одной из галочек в характеристиках той или иной звуковой карты. Остается радоваться хотя бы тому, что производители Creative, ASUS и Realtek позаботились (хоть и с различным успехом) о возможности получить аппаратное ускорение звука в новых ОС.

Creative, ASUS и Realtek

Итак, сегодня у меня в распоряжении одни из лучших представителей модельного ряда аудиокарт Creatve и ASUS — Creative X-Fi XtremeGamer и ASUS Xonar Essence STX.

Картами фирмы Creative я пользуюсь очень продолжительное время. Помнится, моя первая интегрированная карта даже не могла раскачать наушники с импедансом 32 Ом — звук был тихим, а всё что ниже 100 Гц — отсутствовало напрочь. По совету одногруппников «купить любую дискретную карту» и по счастливому стечению обстоятельств, я приобрел тогда за 32$ карту SoundBlaster Audigy SE. Звучала она на порядок лучше встроенной, да еще и обладала поддержкой EAX 3.0, которая с обновлением драйверов расширялась до 4.0. Поддержка хоть и не аппаратная, но с технологией EAX я познакомился именно так. Затем была карта Audigy 2 Value, которую я купил на барахолке. Она уже поддерживала полноценную аппаратную обработку звука (также EAX 4.0).

В 2007 году я наконец приобрел венец творения Creative — карту с чипом X-Fi. Тогда я в общем-то и начал обращать пристальное внимание на 3D звук в играх.

Итак, вышла Vista, аппаратная обработка звука канула в лету вместе с DirectSound. Но разработчики аудиокарт нашли выход из этого положения — использовать OpenAL. Creative выпустила ALchemy, даже Realtek соорудили утилиту 3DSoundBack. ASUS также воспользовались OpenAL, но реализовали всё это дело несколько иначе. О том, что у них получилось — далее.

Windows XP

Ситуация оказалась весьма интересной. Начнем с Windows XP, где карты должны работать без всяких мостов, непосредственно через DirectSound. Для X-Fi RightMark докладывает о поддержке всех версий EAX вплоть до 5 со 128 буферами через оба интерфейса (DS и OpenAL):

Тоже самое говорит и AIDA64:

Для Xonar Essence STX в обычном режиме ситуация следующая. RightMark также показывает поддержку всех версий EAX со 128 буферами:

AIDA64 же показывает поддержку только до EAX 2.0 в режиме DS, и дополнительно эмуляцию EAX 3.0 и 4.0 (но всего 64 буфера) для OpenAL:

Теперь включим режим GX в панели карты. В RightMark результаты не изменились:

Device: ASUS Xonar Essence STX Audio (cmudaxp.sys)

Features:
DirectSound 2D Hardware: Yes
DirectSound 3D Hardware: Yes
EAX 1.0: Available
EAX 2.0: Available
EAX 3.0: Available
EAX 4.0: Available
EAX 5.0: Available
Rates:
dwMinSecondarySampleRate 100
dwMaxSecondarySampleRate 192000
Free buffers stats:
dwFreeHw3DAllBuffers 128
dwFreeHw3DStaticBuffers 128
dwFreeHw3DStreamingBuffers 128
dwFreeHwMixingAllBuffers 128
dwFreeHwMixingStaticBuffers 128
dwFreeHwMixingStreamingBuffers 128
Max buffers stats:
dwMaxHwMixingAllBuffers 129
dwMaxHwMixingStaticBuffers 129
dwMaxHwMixingStreamingBuffers 129
dwMaxHw3DAllBuffers 129
dwMaxHw3DStaticBuffers 129
dwMaxHw3DStreamingBuffers 129
Misc stats:
dwFreeHwMemBytes 0
dwTotalHwMemBytes 0
dwMaxContigFreeHwMemBytes 0
dwUnlockTransferRateHwBuffers 0
dwPlayCpuOverheadSwBuffers 0
Device: ASUS Xonar Essence STX Audio
OpenAL 1.1
Features:
Hardware 2D Buffers 62
Hardware 3D Buffers 62
EAX 1.0: Available
EAX 2.0: Available
EAX 3.0: Available
EAX 4.0: Available
EAX 5.0: Available
X-RAM: N/A

AIDA64 теперь для DirectSound показывает дополнительно поддержку EAX 5.0 (3 и 4 не поддерживаются!):

Для OpenAL устройства также появилась поддержка EAX 5.0:

Теперь что касается реальной ситуации с EAX. Очевидно, данные из RightMark оказались неверными — на деле карта поддерживает только EAX 1.0 и 2.0 без режима GX, а вот EAX 5.0 поддерживает очень небольшое количество игр. Таким образом Medieval II: Total War, работавший на X-Fi в режиме EAX 4.0, на ASUS заработал только с EAX 2.0.

Еще одним сюрпризом стало то, что после установки карты ASUS игра перестала определять поддержку EAX (любой версии) у X-Fi. Хотя тот же RightMark 3DSound Positioning Accuracy test успешно работает в режиме EAX 4.0.

S.T.A.L.K.E.R.: Call of Pripyat, работающий через OpenAL с поддержкой EAX 5.0, в режиме GX под XP работает некорректно (отсутствуют некоторые звуки).

Windows 7

Теперь посмотрим, как обстоят дела под Windows 7. Для карты X-Fi без использования Creative ALchemy поддержка EAX (всех версий) есть только через OpenAL:

Device: Динамики (2- Creative SB X-Fi) ({0.0.0.00000000}.{8bbfd6e2-e337-4e2d-8ee8-059774f0372a})
Features:
Device has not enough hardware 2D buffers
Device has not enough hardware 3D buffers
EAX 1.0: N/A
EAX 2.0: N/A
EAX 3.0: N/A
EAX 4.0: N/A
EAX 5.0: N/A
Rates:
dwMinSecondarySampleRate 100
dwMaxSecondarySampleRate 200000
Free buffers stats:
dwFreeHw3DAllBuffers 0
dwFreeHw3DStaticBuffers 0
dwFreeHw3DStreamingBuffers 0
dwFreeHwMixingAllBuffers 0
dwFreeHwMixingStaticBuffers 0
dwFreeHwMixingStreamingBuffers 0
Max buffers stats:
dwMaxHwMixingAllBuffers 1
dwMaxHwMixingStaticBuffers 1
dwMaxHwMixingStreamingBuffers 1
dwMaxHw3DAllBuffers 0
dwMaxHw3DStaticBuffers 0
dwMaxHw3DStreamingBuffers 0
Misc stats:
dwFreeHwMemBytes 0
dwTotalHwMemBytes 0
dwMaxContigFreeHwMemBytes 0
dwUnlockTransferRateHwBuffers 0
dwPlayCpuOverheadSwBuffers 0
Device: SB X-Fi Audio
OpenAL 1.1
Features:
Hardware 2D Buffers 127
Hardware 3D Buffers 127
EAX 1.0: Available
EAX 2.0: Available
EAX 3.0: Available
EAX 4.0: Available
EAX 5.0: Available

X-RAM: N/A

При подключении к приложению библиотеки Alchemy появляется поддержка четырех версий EAX для устройства DirectSound:

Device: Динамики (2- Creative SB X-Fi) (ct_oal.dll)
Features:
DirectSound 2D Hardware: Yes
DirectSound 3D Hardware: Yes
EAX 1.0: Available
EAX 2.0: Available
EAX 3.0: Available
EAX 4.0: Available
EAX 5.0: N/A
Rates:
dwMinSecondarySampleRate 1
dwMaxSecondarySampleRate 192000
Free buffers stats:
dwFreeHw3DAllBuffers 121
dwFreeHw3DStaticBuffers 121
dwFreeHw3DStreamingBuffers 121
dwFreeHwMixingAllBuffers 121
dwFreeHwMixingStaticBuffers 121
dwFreeHwMixingStreamingBuffers 121
Max buffers stats:
dwMaxHwMixingAllBuffers 128
dwMaxHwMixingStaticBuffers 128
dwMaxHwMixingStreamingBuffers 128
dwMaxHw3DAllBuffers 128
dwMaxHw3DStaticBuffers 128
dwMaxHw3DStreamingBuffers 128
Misc stats:
dwFreeHwMemBytes 0
dwTotalHwMemBytes 0
dwMaxContigFreeHwMemBytes 0
dwUnlockTransferRateHwBuffers 0
dwPlayCpuOverheadSwBuffers 0

Что касается поддержки 5.0 — устройству вовсе необязательно о ней сообщать, так как в картах X-Fi расширения 5.0 включаются вручную в панели (X-Fi CMSS 3D, MacroFX, Elevation Filter) и работают во всех приложениях, использующих DirectSound 3D.

Под Windows 7 на X-Fi с EAX прекрасно работают все игры, в т.ч. Medieval II (через Алхимию) и S.T.A.L.K.E.R.: Call of Pripyat (OpenAL). Но, к сожалению, некоторые игры (например, Rome II: Total War) отказываются подхватывать файл ALchemy, и в итоге звук мимо микшера Windows Audio Session пустить не удаётся. Таким образом, даже при установке в игре многоканального звука, сводиться в стерео он будет операционной системой.

Для карты ASUS RightMark, опять же, даже в обычном режиме, по непонятным причинам показывает поддержку всех версий EAX — как через DS, так и через OpenAL:

Device: Динамики (ASUS Xonar Essence STX Audio Device) ({0.0.0.00000000}.{ec672047-d48e-4cf1-ad84-ee228e5d188e})
Features:
DirectSound 2D Hardware: Yes
DirectSound 3D Hardware: Yes
EAX 1.0: Available
EAX 2.0: Available
EAX 3.0: Available
EAX 4.0: Available
EAX 5.0: Available
Rates:
dwMinSecondarySampleRate 100
dwMaxSecondarySampleRate 192000
Free buffers stats:
dwFreeHw3DAllBuffers 128
dwFreeHw3DStaticBuffers 128
dwFreeHw3DStreamingBuffers 128
dwFreeHwMixingAllBuffers 128
dwFreeHwMixingStaticBuffers 128
dwFreeHwMixingStreamingBuffers 128
Max buffers stats:
dwMaxHwMixingAllBuffers 129
dwMaxHwMixingStaticBuffers 129
dwMaxHwMixingStreamingBuffers 129
dwMaxHw3DAllBuffers 129
dwMaxHw3DStaticBuffers 129
dwMaxHw3DStreamingBuffers 129
Misc stats:
dwFreeHwMemBytes 0
dwTotalHwMemBytes 0
dwMaxContigFreeHwMemBytes 0
dwUnlockTransferRateHwBuffers 0
dwPlayCpuOverheadSwBuffers 0
Device: ASUS Xonar Essence STX Audio Device
OpenAL 1.1
Features:
Hardware 2D Buffers 62
Hardware 3D Buffers 62
EAX 1.0: Available
EAX 2.0: Available
EAX 3.0: Available
EAX 4.0: Available
EAX 5.0: Available
X-RAM: N/A

AIDA64 отображает более реальные данные. Отсутствие аппаратного ускорения через DS:

И поддержка EAX 1.0/2.0, а также эмуляция 3.0/4.0 (как на XP):

В таком режиме аппаратное ускорение звука в играх не работает вообще, за исключением тех, что используют непосредственно OpenAL.

В режиме GX RightMark сообщает всё те же данные, не вполне отражающие реальное положение вещей:

Device: Динамики (ASUS Xonar Essence STX Audio Device) ({0.0.0.00000000}.{ec672047-d48e-4cf1-ad84-ee228e5d188e})
Features:
DirectSound 2D Hardware: Yes
DirectSound 3D Hardware: Yes
EAX 1.0: Available
EAX 2.0: Available
EAX 3.0: Available
EAX 4.0: Available
EAX 5.0: Available
Rates:
dwMinSecondarySampleRate 100
dwMaxSecondarySampleRate 192000
Free buffers stats:
dwFreeHw3DAllBuffers 128
dwFreeHw3DStaticBuffers 128
dwFreeHw3DStreamingBuffers 128
dwFreeHwMixingAllBuffers 128
dwFreeHwMixingStaticBuffers 128
dwFreeHwMixingStreamingBuffers 128
Max buffers stats:
dwMaxHwMixingAllBuffers 129
dwMaxHwMixingStaticBuffers 129
dwMaxHwMixingStreamingBuffers 129
dwMaxHw3DAllBuffers 129
dwMaxHw3DStaticBuffers 129
dwMaxHw3DStreamingBuffers 129
Misc stats:
dwFreeHwMemBytes 0
dwTotalHwMemBytes 0
dwMaxContigFreeHwMemBytes 0
dwUnlockTransferRateHwBuffers 0
dwPlayCpuOverheadSwBuffers 0
Device: SB X-Fi Audio
OpenAL 1.1
Features:
Hardware 2D Buffers 127
Hardware 3D Buffers 127
EAX 1.0: Available
EAX 2.0: Available
EAX 3.0: Available
EAX 4.0: Available
EAX 5.0: Available
X-RAM: N/A

AIDA64 теперь отображает ускорение и поддержку EAX, EAX 2.0/5.0 для интерфейса DS и дополнительно поддержку EAX 5.0 для OpenAL:

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

Однако, у ASUS под Windows 7 есть одно преимущество. В панели управления картой имеется отедльный выбор количества каналов, сообщаемого ОС (сама карта стерео и имеет физически только два канала). Таким образом можно сообщать играм о поддержке звука 5.1, пропускать многоканальный поток через ОС, а затем сводить звук в стерео алгоритмами звуковой карты (с использованием технологий Dolby). Эта возможность оказалась очень полезной для Rome II, который отказался подхватывать файл ALchemy (а на X-Fi настройки конфигурации каналов синхронизируются с количеством каналов в ОС), и потому в эту игру приятней играть с использованием карты ASUS.

В целом, для ASUS можно отметить довольно неплохое позиционирование и локализацию источников в пространстве, хотя у X-Fi из-за технологий, входящих в EAX 5.0, позицинирование несколько лучше.

И, опять же, как и на XP, драйвера карты ASUS вошли в конфликт с X-Fi (видимо, эо связано с совместным использованием OpenAL) и теперь в том же Medieval II EAX для X-Fi недоступен даже при подключении ALchemy.

Рубрики: IT

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *