On-Line Библиотека www.XServer.ru - учебники, книги, статьи, документация, нормативная литература.
       Главная         В избранное         Контакты        Карта сайта   
    Навигация XServer.ru






 

Звуковое письмо A3D vs EAX

Забелин / Фремен

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

Причем здесь любовь?
(с) Тина Тернер

Однако же, почему именно сейчас, спросите вы, нужно снова поднимать этот набивший (что он там набивший, дайте подумать - морду? чучело? чемодан?) оскомину вопрос, о котором и так уже все известно? Именно сейчас, когда Creative купила Aureal со всеми его потрохами и алгоритмами, включая A3D и собачьи ошейники питомцев сотрудников фирмы?

А вот почему. Люди, небезразличные к звуку, в том числе и к звуковому оформлению в играх, понимают, что со слиянием двух этих компаний ситуация на компьютерном звуковом фронте не может не измениться. Пока еще разработчики игр пишут свои продукты с расчетом на оба API - и EAX, и A3D, но что будет с этими алгоритмами завтра? Сольются ли они в один, который станет безусловным лидером, каким долгое время был стандарт SB16/32? Или Creative возьмет наработки A3D и включит их в следующую версию EAX?

Как бы то ни было, Creative в любом случае будет использовать A3D - в том или ином виде, ведь не зря же она покупала Aureal? Но пока этого не случилось, мы бросим последний взгляд на конкурирующие интерфейсы и разберемся, чем каждый из них хорош и чем плох. Однако же, мы рассмотрим A3D и EAX не с теоретической, а практической стороны, то есть подведем итог, как эти алгоритмы ведут себя в современных играх, и зададимся вопросом, чего можно будет ожидать от звукового сопровождения в играх недалекого будущего.

Кто самый ушастый?

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

Если же бывало, то знайте, что на разных частотах звук воспринимается по-разному. Так, низкие частоты вообще плохо позиционируются большинством ушей на Земле, именно поэтому часто делают две колонки, воспроизводящие средние и высокие частоты, и всего один сабвуфер, который советуют запихнуть куда-нибудь под стол - все равно куда. Очень высокие частоты также плохо позиционируются - вам может показаться, что звук исходит отовсюду.И у каждого человека эти пороги разные.

Чтобы не терять время, сделайте небольшой тест - попросите друга (жену, собаку - на ваш вкус) постучать по потолку, полу, стенам, а сами закройте глаза и встаньте в середину комнаты. Ежели положение источника звука вы определяете, что называется, "на раз", то у вас все в порядке, и толк от галочки в играх напротив "A3D" или "EAX" вы услышите, а ежели нет, то не тратьте время и тем более, драгоценные ресурсы системы на всякую белиберду. 

Ну а теперь, когда самотестирование подошло к концу, и вы убедились, что четко различаете мышиное поскребывание из-под стола на кухне через две стены от вас, переходим к следующему разделу.

У всех свои недостатки
EAX

Для того, чтобы понять разницу между EAX и A3D, сначала подумаем о том, что именно под понятием "3D-звук" понимают разработчики каждого из этих стандартов. 

Начнем с EAX. Creative, разработчик EAX, до того, как купила Aureal, считала, что при нынешних мощностях DSP качественно просчитать геометрию пространства, со всеми изменениями звука, соответствующим этому пространству, практически невозможно. То есть, можно, конечно, припахать DSP звуковой карты заниматься этим, но пользователь все равно ничего путевого не услышит, а система потеряет приличное количество ресурсов на обработку звука.

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

С появлением стандарта EAX 2.0 стало возможным рассчитывать искажения звука после прохождения через преграды (occlusions) и препятствия (obstructions), учитывать звуковые свойства воздуха (звучит довольно сомнительно, но так заявлено производителем), а также была применена усовершенствованная модель реверберации.

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

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

На практике это выглядит так, что в большом помещении (в игре, разумеется) эхо от шагов либо иных звуков, издаваемых различными предметами, находящимися в его пределах, больше, чем в маленьком, а на открытом пространстве его практически нет. 
Кроме всего прочего, следует отметить, что EAX (в тех или иных его версиях) могут поддерживать практически все звуковые карты, но при этом результат всегда будет отличаться, и на сегодняшний день, положа руку на сердце, нужно признаться, что у карт серии SB Live! это получается лучше, чем у других.

И это неудивительно. Также следует отметить, что алгоритмы реверберации в разных играх используются разные - и это зависит от разработчиков этих игр. Так, например, в Unreal и Half Life используются собственные реверберационные движки, которые к "креативовским" имеют отношение весьма опосредованное - они просто пользуются мощностями DSP-процессора E-MU 10K1. В принципе, так и было задумано: Creative своими пресетами и аглоритмами не ограничивает разработчиков в их изысканиях - если они не хотят писать собственный звуковой движок, то пожалуйста, пусть пользуются "креативовским". Хотят - пусть пишут свой. В этом и есть суть EAX. И не более того.

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

A3D

С A3D все намного интереснее. Основной изюминкой A3D является технология Aureal Wavetracing, которая, если говорить вкратце, занимается расчетами акустических отражений, ревербераций и эффектами от прохождения звука через препятствия. "В чем же тогда отличие A3D от EAX?" - спросите вы. А вот в чем. В основе моделирования звука лежит геометрическая модель, состоящая из звуковых полигонов (audio polygons), которые имеют координаты в пространстве и содержат сведения о форме, размере и материале, из которого он сделан.

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

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

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

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

Получается, что если DSP станут намного мощнее, то в EAX мы увидим еще массу надстроек, а A3D наконец-то сможет потратить процессорное время на поздние отражения.

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

Я однажды проиграл часа два в Half Life с SB Live! в наушниках при перепутанных каналах - левый у меня был включен в правый и наоборот - и ничего не заметил! Поменяв штеккера, я заново проиграл пару эпизодов - эффект был точно таким же.

Не говоря уже о тех случаях, когда враг сверху или сзади. Верх-низ в EAX вообще никак не позиционируется, а объект позади можно определить лишь при наличии четырех колонок. При A3D ситуация выглядит строго наоборот: положения "сверху" и "сзади" (похоже на учебник по сексу, не правда ли?) позиционируются хорошо, равно как и положение "за углом". А вот с реверберацией в звуковых картах на чипах Aureal (да и других, поддерживающих A3D, тоже) все значительно хуже, чем в SB Live! В играх это воспринимается как неестественность звука. То есть, когда в Half Life идешь по коридору, кажется, что ты в большом зале, а когда спускаешься по железной лестнице, такое впечатление, что ты танцуешь в ботинках с подковами в тесном железном ящике.

Что касается игр, сопровождающихся красивыми ландшафтами и большими путешествиями, то реверберации, реализованные в картах SB Live!, здесь как нельзя более кстати. Программисту остается лишь определить, где какой пресет указать, а все остальное будет делать механизм EAX. Внедрить в такую игру поддержку A3D куда труднее - придется создавать геометрическую модель пространства с точными координатами источников звука, а работа это нелегкая. Но зато и эффект получается куда более интересный.

Итого

Какие же выводы можно сделать из всего вышесказанного? Если Creative пойдет по правильному пути и внедрит технологию A3D в своих будущих разработках EAX (от которого она, конечно же, ни за что не откажется), то в играх мы получим и правильное позиционирование источников звука, и хорошую реверберацию, и, как следствие - реалистичное представление о помещениях, в которых "находится" игрок.

И это будет еще одним шагом к приближению игр к реальности. Что касается других областей применения звуковых алгоритмов, то можно отметить звуковое сопровождение в фильмах и в музыкальных произведениях. То есть, то, что сейчас выпускается на DVD в стандартах Dolby Digital 5.1 или dts, будет доступно при прослушивании через наушники - звук также будет правильно позиционироваться, и даже более того - мы услышим самолеты в небесах и шипение змей под ногами. Согласитесь, это куда более интересно (и экономно), чем то, что мы имеем сейчас.



Компьютеры - аудео