Назад в библиотеку

Позиционируемый 3D-звук: иллюзия пространства

Авторы: С. Асмаков

Источник: http://old.computerra.ru/...

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

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

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

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

3D на оба уха

Наверное, многие обращали внимание на парадокс: обладая всего двумя ушами, человек способен определить положение источника звука в окружающем его пространстве, имеющем три измерения. Как же нам это удается?

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

Наибольшую значимость для определения направления на источник звука имеют два параметра — разница по интенсивности (громкости) и по времени между сигналами, воспринимаемыми правым и левым ухом. Предположим, что некий источник звука расположен точно перед слушателем. Сигнал от этого источника распространяется с равной скоростью во всех направлениях, поэтому звуковая волна достигнет обоих ушей одновременно, а интенсивность воспринимаемых сигналов будет одинаковой. Теперь сместим источник в какую-либо сторону по горизонтали, например влево. В этом случае картина несколько изменится: путь звуковой волны до левого уха стал короче, вследствие чего в правое ухо она попадает с некоторой задержкой. Кроме того, правое ухо в данной ситуации оказалось частично закрыто головой, и, огибая ее, звуковая волна потеряла часть своей энергии; таким образом, интенсивность сигнала, принятого этим ухом, оказалась меньше.

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

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

Теперь рассмотрим механизм определения расстояния. Как известно, звуковые волны распространяются в воздушной среде по определенным законам. И именно свойства этой среды используются слуховым аппаратом человека для определения удаленности источника звука. Очевидно, что чем большее расстояние преодолевает звуковая волна, тем меньшей энергией она обладает. Проще говоря, интенсивность (громкость) звука будет тем меньше, чем дальше находится его источник от слушателя. Но достичь иллюзии удаления простым уменьшением громкости источника звука, увы, не получится. Объясняется это довольно просто: степень затухания и скорость распространения звуковой волны в воздухе напрямую зависят от ее частоты (чем выше частота, тем больше скорость), вследствие чего при удалении от источника изменяется как амплитудно-частотная (АЧХ), так и фазо-частотная характеристика (ФЧХ) звукового сигнала: по мере удаления от источника звука сигнал теряет все больше высокочастотных составляющих, а его низкочастотная составляющая начинает запаздывать. Так что если увеличение или уменьшение громкости сигнала не сопровождается соответствующими изменениями его АЧХ и ФЧХ, то слуховой аппарат человека интерпретирует это именно как изменение громкости, а не как приближение или удаление его источника.

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

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

Cреди отраженных звуков различают ранние и поздние отражения. Ранние отражения (early reflections) хорошо различимы на слух (они достаточно редки, и их можно четко отделить друг от друга), тогда как поздние (late reflections) сливаются и образуют характерное послезвучие (гулкость). Интенсивность и длительность отраженных звуков зависят как от размеров и формы помещения, так и от акустических свойств материалов, которыми отделаны его внутренние поверхности.

Таким образом, оценить расстояние от слушателя до источника звука можно по отношению громкости прямого звука к громкости отраженного: чем оно больше, тем ближе располагается источник. Можно создать весьма реалистичную иллюзию приближения или удаления объекта, управляя всего двумя параметрами — уровнями прямого и отраженного звука. Исключение составляет тот случай, когда источник звука расположен в ближнем поле, то есть уровень его сигнала много выше уровня реверберации.

До сих пор мы рассматривали ситуацию, когда источник звука находился в прямой видимости слушателя. Но что будет, если они разделены небольшим препятствием? Предположим, что между источником звука и слушателем находится мраморная колонна. Поскольку звуковые волны не могут проникнуть сквозь препятствие, они его огибают. Соответственно изменяется и АЧХ воспринимаемого слушателем сигнала. Данное явление называется обструкцией. Наиболее простой способ имитации обструкции — частичное заглушение прямого сигнала с сохранением в неизменном виде ранних и поздних отражений. Для более реалистичной имитации данного эффекта используется не только изменение уровня его сигнала, но и дополнительная частотная обработка (уменьшение доли высокочастотных составляющих).

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

HRTF и СС: обман слуха

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

HRTF (Head-Related Transfer Functions) — система бинаурального синтеза, имитирующая особенности пространственного слухового восприятия при использовании двух звуковых каналов (левого и правого). В качестве эталона при создании HRTF использовалась так называемая искусственная голова: специальный манекен с двумя микрофонами, расположенными в ушных раковинах. В результате сравнения сигналов, которые излучаются источником из различных точек пространства и воспринимаются микрофонами, установленными внутри манекена, была получена сферическая диаграмма. На основе этой диаграммы разработана довольно сложная система фильтров, которые позволяют имитировать соответствующие изменения звуковых сигналов при перемещении их источников относительно головы слушателя.

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

Обнадеживающие результаты экспериментов с HRTF заставили разработчиков задуматься о переносе этой технологии на обычные акустические системы. Главная проблема заключалась в том, что реализация HRTF требует строгого распределения сигналов: звук левого канала должен поступать строго в левое ухо, а звук правого канала — в правое. При использовании наушников так и происходит, но с колонками дело обстоит иначе: часть звукового сигнала левого канала огибает голову слушателя и попадает в правое ухо, и наоборот. Для устранения этого нежелательного эффекта используется алгоритм CC (Cross-talk Cancellation), позволяющий сделать так, чтобы сигнал из левого канала поступал только в левое ухо, а из правого — в правое. В случае использования четырехканальной акустической системы алгоритм CC должен быть реализован и для фронтальной, и для тыловой пары громкоговорителей.

API и процессоры 3D-звука

Важной вехой на пути становления современных технологий трехмерного позиционируемого звука стало появление специализированных интерфейсов прикладного программирования (API). Если говорить упрощенно, то API представляет собой стандартизованный набор команд, посредством которых приложение может управлять работой аппаратных ресурсов (в нашем случае — специализированным процессором, или sound engine1).

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

В настоящее время полностью программная обработка 3D-звука используется лишь в наиболее дешевых моделях звуковых адаптеров. В этом случае роль sound engine выполняет программный процессор — HEL (Hardware Emulation Layer). Следует отметить, что HEL использует упрощенные алгоритмы обработки и микширования, вследствие чего качество звучания будет несколько хуже, чем при использовании специализированных аппаратных процессоров.

Чтобы лучше понять схему взаимодействия программных и аппаратных компонентов, участвующих в формировании звукового ряда, рассмотрим упрощенный пример. Приложение подгружает необходимые в данный момент исходные звуковые фрагменты и посредством команд соответствующего API описывает их положение в виртуальном пространстве («вертолет там-то, шум водопада там-то»), а также необходимые средства обработки (частотные фильтры, реверберация и т.п.). Команды API обрабатываются драйвером звуковой карты, который, в свою очередь, управляет работой установленного на ней процессора (sound engine). В зависимости от заданной конфигурации акустической системы процессор по определенным алгоритмам обрабатывает и микширует звуковые потоки, формируя готовые сигналы звуковых каналов на физических выходах звуковой карты. Далее эти сигналы усиливаются и воспроизводятся через громкоговорители акустической системы.

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

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

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

DirectSound3D

Этот API был разработан компанией Microsoft и включен в качестве одного из стандартных компонентов в DirectX — аналогично тому, как это было сделано с графическим API Direct3D. Важным преимуществом DirectSound3D (DS3D) является возможность использования различных расширений (extensions), созданных сторонними разработчиками.

DirectSound3D предусматривает использование как специализированных аппаратных ресурсов, так и программного звукового процессора — HEL. Стоит отметить, что HEL задействуется не только тогда, когда установленный в системе звуковой адаптер не имеет аппаратной поддержки 3D-звука, но и в том случае, если количество используемых приложением позиционируемых в виртуальном пространстве звуковых потоков превышает возможности звукового процессора.

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

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

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

В DirectX7 возможности DS3D были расширены: появились более совершенное средство управления звуковыми потоками (voice manager) и новый программный звуковой процессор (3D sound engine). Для оптимизации работы программного процессора с учетом общей производительности ПК предусмотрено три различных режима: стереофоническое панорамирование, упрощенный HRTF и полный HRTF.

В DirectX8 появился реализованный на программном уровне механизм моделирования реверберационных эффектов I3DL2, разработанный Interactive Audio Special Interest Group, который по своей функциональности схож с EAX 2.0 (см. раздел «EAX»).

A3D

Первоначально работы по созданию и развитию семейства API трехмерного позиционируемого звука под общим названием A3D вела компания Aureal. Однако вследствие ряда серьезных маркетинговых просчетов руководства к середине 2000 года Aureal обанкротилась и вместе с правами на все разработки была приобретена компанией Creative Labs.

По набору функций A3D 1.0 подобен DirectSound3D (DS3D), но в дополнение к возможностям DS3D в A3D 1.0 имеется более гибкое средство управления звуковыми потоками (resource manager), а также более совершенные возможности по созданию эффектов приближения/удаления источников звука (в частности, учитывается затухание высокочастотной составляющей сигнала) и имитации характера распространения звуковых волн в различных средах, например под водой или в плотном тумане.

Набор команд A3D 1.0 оптимизирован с учетом особенностей разработанного инженерами Aureal звукового чипа Vortex. С одной стороны, аппаратно-зависимый API оказался более эффективным, а с другой — неизбежной платой за это стала ограниченная совместимость со звуковыми адаптерами других производителей.

На аппаратном уровне A3D поддерживается звуковыми адаптерами, построенными на базе чипов Vortex, Vortex 2 и Advantage. Что касается остальных моделей звуковых карт, то там поддержка этого API реализована путем трансляции команд A3D в DS3D.

Основным новшеством A3D 2.0 стала разработанная и запатентованная Aureal технология wavetracing, отличительной особенностью которой является механизм физического моделирования распространения звуковых волн в пространстве. Позиционирование источников звука в пространстве осуществляется с использованием HRTF, а распространение отраженных звуковых волн просчитывается на основе физической модели виртуального помещения, для чего используется мощный аппаратный геометрический процессор (geometry engine). Рассмотрим принцип работы wavetracing более подробно.

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

Вполне очевидно, что создание детальной акустической модели помещения посредством описания всех составляющих его полигонов является весьма долгим и трудоемким процессом. Поэтому для обеспечения большей гибкости в A3D 2.0 был встроен специальный модуль, названный менеджером сцены (scene manager). Используя менеджер сцены, разработчик может оперировать готовыми высокоуровневыми объектами: стенами, проходами и даже целыми помещениями, не прибегая к подробному описанию их геометрии. При этом приложение может взаимодействовать с geometry engine как напрямую, так и через менеджер сцены. Конечно, использование scene manager дает менее точный результат по сравнению с детальным геометрическим моделированием, однако значительно упрощает задачу разработчиков. Следует отметить, что сложность реализации геометрического моделирования акустических условий в A3D 2.0 стала одной из причин того, что многие разработчики игровых приложений не полностью использовали потенциал данного решения, ограничиваясь лишь возможностями scene manager.

A3D 2.0 является аппаратно-зависимым API, который оптимизирован специально для звуковых адаптеров, построенных на базе чипа Vortex 2 (AU8830). Чтобы как-то исправить данный недостаток и обеспечить более широкую совместимость своего API, компания Aureal разработала средство трансляции команд A3D 2.0 в DS3D. Благодаря этому средству, приложения, использующие A3D 2.0, могут воспроизводить 3D-звук и через любые DS3D-совместимые звуковые адаптеры, однако в этом случае доступны только функции позиционирования источников звука в виртуальном пространстве и окклюзии, в то время как расчет и воспроизведение отраженных звуковых волн по технологии wavetracing будут недоступны.

Самыми заметными улучшениями, появившимися в A3D 3.0, стала поддержка эффектов реверберации, многоканального формата Dolby Digital, сжатого формата MP3. Кроме того, помимо точечных стало возможно использование объемных источников звука.

Environmental Audio eXtensions (EAX)

Аббревиатура EAX получила широкое распространение одновременно с выпуском в 1998 году новой серии звуковых адаптеров SB Live!. Строго говоря, EAX (Environmental Audio eXtensions) не является самостоятельным API трехмерного позиционируемого звука, а представляет собой открытое расширение разработанного Microsoft API DirectSound3D, включенного в качестве одного из стандартных компонентов в DirectХ. Следовательно, говоря об использовании EAX, стоит иметь в виду, что для управления позиционированием звуковых потоков в виртуальном пространстве используется API DirectSound3D. В свою очередь, EAX позволяет дополнить звуковую картину такими пространственными эффектами, как реверберация, эхо и т.п.

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

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

Стоит ли говорить, что практическое использование EAX для разработчиков приложений оказалось намного проще, чем кропотливое воссоздание физической модели виртуальных помещений, необходимое для полноценной реализации потенциала A3D 2.0/3.0. Кроме того, EAX 1.0 поддерживается гораздо более широким спектром звуковых адаптеров, причем как на аппаратном, так и на программном уровне. Эти причины, в совокупности с ростом популярности новых поколений звуковых адаптеров от Creative Labs, обусловили широчайшее распространение EAX в игровых и мультимедийных приложениях.

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

Вопреки циркулировавшей на протяжении некоторого времени неофициальной информации, следующая за EAX 2.0 версия получила не порядковый номер (3.0), а собственное имя — EAX Advanced HD. Появление в конце 2001 года новой эволюции EAX было тесно связано с выпуском нового семейства звуковых адаптеров Audigy. Аббревиатура HD, расшифровывающаяся как High Definition (высокая четкость), недвусмысленно указывает на значительно возросшую точность обработки цифрового сигнала: если процессоры многочисленных представителей семейств SB Live! и SB Live! 5.1 обрабатывали сигнал с частотой дискретизации 48 кГц и разрядностью 16 бит, то у Audigy эти параметры возросли соответственно до 96 кГц и 24 бит.

Наличествующее в названии слово Advanced (продвинутый, улучшенный) подчеркивает революционный характер новаций, внедренных в этой версии EAX.

Пожалуй, наиболее примечательным улучшением стала поддержка так называемой многопространственности (Multi-Environment). В отличие от предыдущих версий EAX, позволяющих оперировать в каждый момент времени лишь одним акустическим пространством, EAX Advanced HD дает возможность одновременно имитировать акустические условия четырех различных помещений. Благодаря этому стало возможно моделирование акустических условий не только той комнаты, где в данный момент находится слушатель, но и смежных помещений (с соответствующей обработкой расположенных там источников звука).

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

Функция Environment Morphing позволяет имитировать плавное перемещение между двумя пространствами, обладающими различными акустическими свойствами. При использовании EAX 1.0/2.0 акустические условия при переходе из одного виртуального помещения в другое можно было изменять только мгновенно, и это звучало весьма неправдоподобно. В EAX Advanced HD данный недостаток был исправлен, и появление Environment Morphing следует признать значительным достижением разработчиков Creative Labs.

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

По сравнению с EAX 2.0 в EAX Advanced HD были значительно улучшены средства управления ранними отражениями (еnvironment reflections), что позволило получить более выразительные пространственные эффекты. Кроме того, в распоряжении разработчиков появились средства частотной фильтрации отраженного звука (Environment Filtering) для более правдоподобной имитации акустических условий открытых пространств.

Негативной стороной EAX Advanced HD является довольно ограниченная совместимость этого API с аппаратными средствами. В настоящее время полная аппаратная поддержка функций EAX Advanced HD имеется лишь в звуковых адаптерах семейств Audigy и Audigy 2. На программном же уровне ограниченная поддержка EAX Advanced HD имеется и у внешнего звукового модуля SB Extigy. Вопрос о том, будет ли реализовано какое-либо программное решение для воспроизведения эффектов EAX Advanced HD на звуковых адаптерах сторонних производителей, пока остается открытым.

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

Qmixer и Q3D

API под названием Qmixer был разработан компанией Qsound, сотрудники которой уже на протяжении длительного времени ведут исследования в области технологий обработки звука для различных применений — от бытовой техники и ПК до профессионального студийного оборудования. В отличие от рассмотренных выше решений, технологии Qsound доступны для лицензирования сторонним разработчикам аппаратного и программного обеспечения.

Qmixer позволяет приложению управлять позиционированием источников звука в виртуальном трехмерном пространстве, а также пространственными эффектами (реверберацией). Позиционирование звуковых потоков осуществляется процессором Q3D, который может быть реализован как на программном (Qsoft3D), так и на аппаратном уровне. Q3D поддерживает работу со стереофоническими АС и наушниками, а также с многоканальными АС форматов 4.1 и 5.1. Кроме того, Qmixer совместим с DS3D и имеет средства трансляции команд A3D 1.0 в DS3D.

Для воспроизведения пространственных эффектов (в частности, реверберации) используется процессор QEM, совместимый с EAX 1.0 (а в более поздних версиях — и с EAX 2.0).

В отличие от описанных выше решений Aureal и Creative, в основу работы Q3D положены не HRTF и CC, а самостоятельно разработанные QSound алгоритмы Q1 (воспроизведение окружающего звука через обычные стереоколонки) и Q2 (для решения аналогичной задачи с использованием наушников).

Технологии Sensaura

Одним из направлений деятельности компании Sensaura является разработка различных технологий обработки звука. Как и в случае QSound, решения Sensaura доступны для лицензирования всем заинтересованным в этом компаниям.

Sensaura предлагает широкий спектр различных решений в области обработки звука, но в рамках этой статьи мы рассмотрим лишь те из них, которые имеют непосредственное отношение к трехмерному позиционируемому звуку (в терминологии Sensaura — 3D Positional Audio, или 3DPA).

К настоящему времени лицензиями на право использования технологий Sensaura 3DPA обладают многие компании, имеющие непосредственное отношение к производству компонентов аудиоподсистемы ПК, в частности Yamaha, ESS Technology, Analog Devices, Cirrus Logic, CMedia и nVIDIA. Звуковой процессор Sensaura 3DPA совместим с API DS3D, а также с A3D 1.0 путем трансляции команд последнего в DS3D.

Работая над улучшением восприятия окружающего звука при воспроизведении через многоканальные акустические системы специалисты Sensaura разработали собственную технологию MultiDrive. В ее основе лежит использование алгоритма HRTF для позиционирования звуковых потоков в виртуальном пространстве и системы фильтров TCC2 для каждой пары колонок (фронтальной и тыловой). Нужно отметить, что технология MultiDrive предусматривает средства для настройки работы TCC с учетом индивидуальных особенностей слушателя. Для реализации этого решения необходима специальная утилита VirtualEAR, входящая в комплект поставки некоторых звуковых адаптеров, построенных на базе технологий Sensaura, а также доступная для приобретения непосредственно на Web-сайте разработчика.

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

Как известно, при использовании DS3D разработчик может оперировать лишь точечными источниками звука. Однако в ряде случаев (например, при размещении слушателя вблизи крупных объектов) такой подход не позволяет достичь реалистичного звучания. Понятно, что проезжающий в нескольких метрах от вас железнодорожный состав на слух воспринимается уже как совокупность множества распределенных в пространстве источников звука. Созданный в 2000 году алгоритм ZoomFX позволяет разработчику приложения описывать подобные объекты как совокупность нескольких точечных источников звука, что дает возможность гораздо более реалистично имитировать звучание крупных объектов, расположенных вблизи слушателя. В отличие от описанного выше MacroFX, использование ZoomFX, реализованного в виде расширения DS3D, возможно только при поддержке данного расширения со стороны приложения.

Для имитации пространственных эффектов в Sensaura 3DPA используется компонент под названием EnvironmentFX, позволяющий имитировать реверберацию виртуального помещения на основе пресетов (аналогично тому, как это реализовано в EAX), а также эффекты обструкции и окклюзии. Управление работой EnvironmentFX может быть реализовано через API EAX 1.0/2.0 и I3DL2. Посредством команд выбирается пресет, соответствующий акустическим условиям виртуального помещения, в котором находится слушатель в данный момент. По умолчанию уровень реверберации для каждого из источников звука устанавливается автоматически в соответствии с расстоянием до слушателя, однако при использовании дополнительных функций разработчик может самостоятельно задавать величину этого параметра.