Вопросы и ответы по EAX


 

На вопросы по интерфейсу Environmental Audio Extensions (EAX) отвечает Жан-Марк Джот (Jean-Mark Jot) специалист по 3D звуку и эксперт с мировым именем из компании Creative, занимающийся исследованиями в Creative-Emu Technology Center.





Для тех, кто не в курсе, расскажите, что такое EAX (Environmental Audio Extensions)? Как EAX улучшает ощущения от игры, по сравнению с DiresctSound3D (DS3D)?

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) будет сделан значительный шаг вперед с целью улучшения интерфейса программирования и акустической модели используемой для создания звуковой окружающей среды.

Что говорят разработчики приложений об EAX 1.0 API?

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

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

Мы полагаем, что причина для скорого и быстрого принятия EAX среди разработчиков это возможность EAX значительно усилить ощущения от 3D звука в играх, — и достигается это с небольшими усилиями со стороны программистов. EAX предоставляет очень эффективный интерфейс программирования, который очень интуитивен в использовании. Он предоставляет три различных типа управления:

  1. Обширный выбор заранее сделанных установок звучаний окружающей среды ("presets"), который дает возможность очень просто выбрать требуемый тип окружающей акустики.
  2. Набор параметров интерфейса, которые дают возможность делать собственные настройки для заранее установленной акустики окружающей среды, применяется к любому индивидуальному источнику звука или ко всем источникам звука одновременно.
  3. Автоматическое изменение важнейших параметров в зависимости от местоположения источников звука. Когда источники звука двигаются относительно слушателя, EAX автоматически моделирует естественное поведение реверберации и отраженных звуков с целью улучшить восприятие того, что источник звука удаляется или приближается и правильного воспроизведения процесса перемещения источников звуков в акустической окружающей среде.

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

Что будет нового в EAX 2.0 по сравнению с EAX 1.0?

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

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

Что такое окклюзии и обструкции, и как они улучшают ощущения от игр?

EAX окклюзии (occlusions — звуки, проходящие через препятствия) применяются для моделирования источников звука, расположенных в другом помещении или в пространстве с другой стороны стены. Окклюзии имеют свойства, при изменении параметров которых меняются характеристики звукового сигнала, проходящего сквозь препятствия, в результате моделируются различные типы стен, состоящие из разных материалов и имеющие различную толщину. Например, если слушатель находится внутри дома, т.е. в помещении, а источник звука находится снаружи, тогда приложение может использовать свойства окклюзии для воспроизведения реалистичного звучания голоса или шума, так если бы они действительно слышались из-за двери или снаружи дома, в котором находится слушатель.

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

Используется ли в EAX геометрическая модель окружающей среды? Можете ли вы дать нам простое объяснение, как работает модель геометрической акустики, и является ли такой метод эффективным решением для интерфейса 3D игр?

Модель распространения света, основанная на геометрии пространства, повсеместно используется в графическом мире и известна под названием "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 автоматически вычисляет параметры реверберации и отраженных звуков, в зависимости от расположения слушателя относительно источников звука, размеров помещения, направленности источников звука и в зависимости от дополнительного набора параметров, которые может изменять программист.

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 по расширению нашей первоначальной задачи.

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

Но, несмотря на то, что новый стандарт основан на нашей исходной спецификации EAX 2.0, он не будет обратно совместимым с EAX 1.0.

Creative легко реализует поддержку стандарта от IASIG, когда он будет закончен (так как он полностью основана на механизме EAX) и будет поддерживать совместимость с EAX 1.0 в своих драйверах. В действительности, такой стандарт может рассматриваться в качестве некоторого представления "EAX 2.0". Более того, мы продолжаем расширять EAX, с целью получить дополнительные преимущества от использования возможностей продуктов семейства SoundBlaster Live! не только при использовании EAX 1.0 или стандарта IASIG. Будущая версия EAX будет работать без проблем в качестве расширенного набора стандартов EAX 1.0 и IASIG. Для разработчиков игр это означает, что EAX будет больше чем когда-либо, тем API, выбор которого будет гарантировать оптимальную производительность на наиболее распространенном оборудовании.

Оригинальную версию этого материала можно найти на сайте Creative.

 

Дополнительно

EAX FAQ

Вопросы и ответы по EAX

 

На вопросы по интерфейсу Environmental Audio Extensions (EAX) отвечает Жан-Марк Джот (Jean-Mark Jot) специалист по 3D звуку и эксперт с мировым именем из компании Creative, занимающийся исследованиями в Creative-Emu Technology Center.





Для тех, кто не в курсе, расскажите, что такое EAX (Environmental Audio Extensions)? Как EAX улучшает ощущения от игры, по сравнению с DiresctSound3D (DS3D)?

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) будет сделан значительный шаг вперед с целью улучшения интерфейса программирования и акустической модели используемой для создания звуковой окружающей среды.

Что говорят разработчики приложений об EAX 1.0 API?

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

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

Мы полагаем, что причина для скорого и быстрого принятия EAX среди разработчиков это возможность EAX значительно усилить ощущения от 3D звука в играх, — и достигается это с небольшими усилиями со стороны программистов. EAX предоставляет очень эффективный интерфейс программирования, который очень интуитивен в использовании. Он предоставляет три различных типа управления:

  1. Обширный выбор заранее сделанных установок звучаний окружающей среды ("presets"), который дает возможность очень просто выбрать требуемый тип окружающей акустики.
  2. Набор параметров интерфейса, которые дают возможность делать собственные настройки для заранее установленной акустики окружающей среды, применяется к любому индивидуальному источнику звука или ко всем источникам звука одновременно.
  3. Автоматическое изменение важнейших параметров в зависимости от местоположения источников звука. Когда источники звука двигаются относительно слушателя, EAX автоматически моделирует естественное поведение реверберации и отраженных звуков с целью улучшить восприятие того, что источник звука удаляется или приближается и правильного воспроизведения процесса перемещения источников звуков в акустической окружающей среде.

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

Что будет нового в EAX 2.0 по сравнению с EAX 1.0?

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

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

Что такое окклюзии и обструкции, и как они улучшают ощущения от игр?

EAX окклюзии (occlusions — звуки, проходящие через препятствия) применяются для моделирования источников звука, расположенных в другом помещении или в пространстве с другой стороны стены. Окклюзии имеют свойства, при изменении параметров которых меняются характеристики звукового сигнала, проходящего сквозь препятствия, в результате моделируются различные типы стен, состоящие из разных материалов и имеющие различную толщину. Например, если слушатель находится внутри дома, т.е. в помещении, а источник звука находится снаружи, тогда приложение может использовать свойства окклюзии для воспроизведения реалистичного звучания голоса или шума, так если бы они действительно слышались из-за двери или снаружи дома, в котором находится слушатель.

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

Используется ли в EAX геометрическая модель окружающей среды? Можете ли вы дать нам простое объяснение, как работает модель геометрической акустики, и является ли такой метод эффективным решением для интерфейса 3D игр?

Модель распространения света, основанная на геометрии пространства, повсеместно используется в графическом мире и известна под названием "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 автоматически вычисляет параметры реверберации и отраженных звуков, в зависимости от расположения слушателя относительно источников звука, размеров помещения, направленности источников звука и в зависимости от дополнительного набора параметров, которые может изменять программист.

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 по расширению нашей первоначальной задачи.

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

Но, несмотря на то, что новый стандарт основан на нашей исходной спецификации EAX 2.0, он не будет обратно совместимым с EAX 1.0.

Creative легко реализует поддержку стандарта от IASIG, когда он будет закончен (так как он полностью основана на механизме EAX) и будет поддерживать совместимость с EAX 1.0 в своих драйверах. В действительности, такой стандарт может рассматриваться в качестве некоторого представления "EAX 2.0". Более того, мы продолжаем расширять EAX, с целью получить дополнительные преимущества от использования возможностей продуктов семейства SoundBlaster Live! не только при использовании EAX 1.0 или стандарта IASIG. Будущая версия EAX будет работать без проблем в качестве расширенного набора стандартов EAX 1.0 и IASIG. Для разработчиков игр это означает, что EAX будет больше чем когда-либо, тем API, выбор которого будет гарантировать оптимальную производительность на наиболее распространенном оборудовании.

Оригинальную версию этого материала можно найти на сайте Creative.