Современные звуковые карты. Методы позиционирования и сжатия звука

Страница 31

В интерфейсе A3D 2.0 окружающая среда определяется свойствами и задается особым образом, описанным ниже. Эти переменные окружающей среды вероятно будут применяться ко всем источникам звука внутри сцены. С аппаратной точки зрения, чипсет Vortex 2 объединяет атмосферные фильтры внутри своего блока реализации A3D звука. По всей вероятности, ввод данных, основанных на переменных окружающей среды осуществляется с применением фильтров, которые должны имитировать различные изменения звука во время прохождения через разные атмосферные среды.

Свойства окружающей среды A3D звука

Заранее задаваемые свойства окружающей среды:

· Воздух и вода.

· Скорость распространения звука.

· Высчокочастотное затухание, зависящее от окружающей среды.

· Степень затухания звукового сигнала с увеличением расстояния от источника до приемника.

Звук, отраженный с запаздыванием (Late Reflections)

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

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

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

Переменные механизма расчета звуков, отраженных с запаздыванием (reverb):

· Варьирование уровней входного и выходного звукового сигнала, отраженного с запаздыванием.

· Предварительная задержка искусственного эха (reverb).

· Время затухания запаздывающего отраженного звукового сигнала.

· Ясность (четкая различимость) запаздывающего отраженного звука.

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

Механизм построения геометрических фигур в пространстве

Геометрический движок или geometry engine в интерфейсе A3D 2.0 это уникальный механизм по своей возможности моделирования отраженных и прошедших сквозь препятствия звуков.

В отличии от менеджера сцены, геометрический движок оперирует с данными на уровне геометрических примитивов: линий, треугольников и четырехугольников. Геометрия может быть определена в двумерном или трехмерном пространстве, соответственно, в случае 3D геометрии, вычисления могут быть очень интенсивными.

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

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

Звуковой полигон (audio polygon) имеет местоположение, размер, форму, а также свойства материала из которого он сделан. Форма полигона и его местоположение в пространстве связаны с источниками звука и слушателем, влияя на определение того, как каждый в отдельности звук отражается или проходит сквозь полигон. Свойства материала, из которого состоит полигон, могут изменяться от полностью прозрачного для звуков до полностью поглощающего или отражающего.

Очень важно иметь минимальную по размерам базу данных акустических полигонов, что бы минимизировать загрузку CPU. В играх должно быть задействовано около 50 звуковых полигонов в любой момент времени. Этого количества достаточно для описания сложной акустики и представления всех важнейших случаев прохождения звуков сквозь препятствия. Более того, звуковые полигоны должны быть так же точно определены, как и их эквиваленты в графике.

Материалы

Каждый раз, когда звук отражается от объекта, материал из которого сделан объект влияет на то, как сильно поглощается каждый частотный компонет звуковой волны и как много компонетов отражается обратно в окружающую среду. Материалы, используемые для звуковых полигонов могут быть определены в интерфейсе A3D 2.0.

Переменные материалов:

· Заранее определенные материалы: дерево, бетон, сталь, ковер.

· Отражающие свойства: меняются от полностью отражающих до совсем неотражающих звуки.

· Свойства звуковых преград: меняются от полностью прозрачных до непрозрачных для звуков.

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

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

Один раз отраженные звуки: вновь, качество реализации может быть принесено в жертву скорости вычислений.

Менеджер сцены

Менеджер сцены использует высокоуровневую базу данных звуковой геометрии и управляет звуковыми полигонами, используемыми в сцене. Приложения создают высокоуровневые объекты, называемые стенами (walls), проходами (openings) и помещениями (rooms), которые могут быть использованы в акустической сцене. Обычно, программа загружает сцену и просто вызывает функцию реализации. Менеджер сцены использует акустическую сцену для определения соседства помещения (т.е. что смежно с помещением) и уровень слышимости. Слышны только те звуки, которые распространяются в помещении, где в данный момент находится слушатель, и звуки в смежных помещениях. Менеджер сцены определяет необходимые для данной сцены полигоны и пересылает их геометрическому движку для построения акустической модели.

Примеры высокоуровневых объектов:

· Стены: имеют свойства материала из которого они сделаны. Они могут двигаться и менять ориентацию в пространстве. Не все сцены должны отражать звук.

· Проходы: это отверстия в стенах; звук перемещается от одной стороны стены к другой стороне. Проходы могут быть открытыми и закрытыми.

· Помещение: это пространство, которое со всех сторон полностью окружено стенами.

· Сцена: это набор из помещений.

Менеджер сцены от Aureal описывет пути распространения звуковых волн для каждого уровня в форме упрощенных полигонов.

Использование технологии Wavetracing в играх

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

Быстрый и простой способ расчета путей распространения звуковых волн

Быстрый и грубый способо добиться этого, это использовать менеджер сцены. По мнению Скипа Макилвейна (Skip McIlvaine) из Aureal, база данных графической геометрии может быть пропущена через конвертер, который преобразует все необходимые графические полигоны в звуковые полигоны за время загрузки уровня игры. Глобальные значения могут быть установлены для параметров объектов отражающих и препятствующих звуку. Кроме того, возможно произвести обработку базы данных графической геометрии заранее, прогнав алгоритм преобразования полигонов и храня базу данных звуковой геометрии в качестве отдельного файла-карты и подгружать этот файл во время загрузки уровня игры.