Современные стандарты 3D-звука - Environmental Audio eXtensions (EAX)

ОГЛАВЛЕНИЕ

 

Environmental Audio eXtensions (EAX)

Environmental Audio - дословно звук окружающей среды. Это новый стандарт, разработанный фирмой Creative Labs, создающий эффекты окружающей среды, основанные на реверберации - эхо, реверберация и многое другое. Рассмотрим, как работает EAX.

Эффекты окружающей среды моделируются при помощи технологии E-mu Environmental Modeling, поддерживаемой аудиопроцессором EMU10K1, установленном на серии звуковых карт SBLive!Технология Environmental Audio разработана с учётом работы на наушниках, двух или четырёх колонках. Чип EMU10K1 раскладывает любой звуковой поток на множество каналов, а потом на каждый канал в реальном времени накладывает эффекты окружающей среды. За счёт этого создаются уже новые звуки, такие, какими они должны быть в природе. На стадии обработки звука кроме его положения в пространстве должны быть учитаны, как минимум, два фактора: размер помещения и реверберация, так как человеческое ухо слышит не просто оригинальный звук, а звук с учётом дистанции, местоположения и громкости. Стандарт Environmental Audio обрабатывает все эти условия для получения высококачественного реального звука.
Environmental Audio использует координаты X, Y, Z, а также реверберацию и отражения звука. Эти координаты используются при базовой подготовке каналов аудио источника и эффектов "окраски" звуковой сцены. Основная мощность аудиопроцессора расходуется на обработку каждогозвукового источника по всем каналам и на добавление эффектов в реальном времени. Как уже говорилось, для создания ощущения реального звука нужно учитывать как минимум 3 фактора: расстояние до источника звука, размер звукового помещения и реверберацию.

Рассмотрим, как работает Environment Audio eXtensions. EAX - это API, разработанный фирмой Creative Labs для достижения реальных звуковых эффектов в компьютерных играх. Этот API представляет собой расширение DS3D - одно из тех самых, о которых я говорил в начале статьи. Во время работы EAX приложения, в отличие от A3D, где все процессы управляются набором команд одного стандарта, процесс обработки звука разделяется.

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

Когда 3D звуковые потоки обработаны, подключается стандарт EAX. Наверное, наиболее легко будет понять его работу на таком примере. Представьте себе лист бумаги, на котором в определённых местах установлены цифры от 1 до 32 (это источники звука). Теперь их надо соединить в определённом порядке линиями. Как мы, ведя карандашом соединим их, так и DS3D обработает каждый из звуковых потоков, учитывая их движение и эффект Доплера. Теперь мы получили картинку (многие в детстве рисовали такие. Вспомнили?). Но картинка наша - чёрно-белая. Не раскрашенная. Теперь, в зависимости от места на картинке, мы будем кистью разными цветами закрашивать области рисунка разного размера. Вот так же и EAX, накладывая, в зависимости от условий сцены (размеров комнаты, реверберации), будет "раскрашивать" наши звуковые потоки. Линии разного цвета будут звучать по-разному, у них будет разное эхо, разная приглушённость, разная громкость. Линии же одного цвета будут иметь одинаковые те же самые параметры. Как результат - цветная картинка на листке бумаги и такая же красочная звуковая картина в игре. И помните, что эти процессы происходят в реальном времени.

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

Но использование пресетов имеет свои плюсы и минусы. Плюсы - в более лёгком программировании 3D звука в игре. В том, что процесс подготовления 3D звука становится менее ресурсоёмким. В том, что получаемый звук обладает высоким качеством и реальностью. Минусы в том, что этот способ является статичным. Пресеты рассчитываются один раз и используются, пока в них не поменять параметры. Другими словами, если в вашей каменной комнате все стены обрушатся, звук останется таким, как и прежде, если программист не задал на этот случай использование другого пресета. Если бы при расчёте использовались данные геометрии, то звук сам бы изменился (как происходит в A3D 2.0).

Фирма Creative выпустила три стандарта EAX.

EAX 1.0

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

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

EAX 2.0

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

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

Технологии Obstructions и Occlusions сродни технологии Wavetracing, только чуть-чуть послабее. В несколько раз. Посмотрите на рисунки. На первом - слушатель, находящийся в центре квадрата. Он слышит звуки с учётом расстояния, без каких-либо преобразований. Далее идут Obstructions и Occlusions. Как мы видим, Obstructions, это препятствия. На средней картинке есть четыре препятствия, перемещаясь за которые источники звука становятся менее слышны. Occlusions - это преграды, которые нельзя обойти, как например, стены, показанные на рисунке 3. Звук за этими преградами становится глухим и менее слышимым. Причём преграды могут иметь разные материалы, каждый со своими аудио свойствами.

EAX 3.0

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

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