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

Страница 29

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

MacroFX предусматривает 6 зон, где зона 0 (это дистанция удаления) и зона 1 (дальнее поле) будут работать точно так же, как работает дистанционная модель DS3D. Другие 4 зоны это и есть near field (ближнее поле) в стиле MacroFX, покрывающие дистанцию рядом с головой слушателя, левое ухо, правое ухо и пространство внутри головы слушателя. При этом здесь также вводятся ограничение на дистанцию, чтобы сократить накладные расходы при вычислениях. Поэтому в зоне 2 используется стандартный алгоритм Near-Field FX, а в зонах 3, 4 и 5, которые начинают работать с расстояния в 20 см, используется как таковой алгоритм MacroFX. Эти три зоны рассчитаны на источники звука, расположенные очень близко к ушам пользователя (левому или правому). Если источник звука должен находится как бы в голове пользователя (например, переговоры авиадиспетчеров в авиасимуляторе), то для этого используется зона 5.

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

ZoomFX

Современные системы воспроизведения позиционируемого 3D звука используют HRTF функции для создания виртуальных источников звука, являющихся точечными. В реальной жизни звук зачастую исходит от больших по размеру источников звука или от композитных источников, объединяющих собой сразу несколько источников звука. Большие по размерам и композитные источники звука позволяют использовать более реалистичные звуковые эффекты, по сравнению с возможностями точечных источников звука. Так, точечный источник звука хорошо применим при моделировании звука от большого объекта удаленного на большое расстояние (например, движущийся поезд). Но в реальной жизни, как только поезд приближается к слушателю, он перестает быть точечным источником звука. В реальной жизни, когда поезд проезжает рядом с нами, мы слышим стук колес, скрип рессор, звук от буферов и т.д. Тем не менее, при моделировании источника звука типа поезд с использованием интерфейса DS3D поезд представляется, как точечный источник звука. В результате звук получается ненатуральным, т.е. мы слышим звук скорее от маленького поезда, нежели от огромного состава громыхающего рядом. Технология ZoomFX решает эту проблему, за счет введения такого параметра источника звука, как размер и сложность. Если вспомнить про наш поезд, то он будет представлен в виде собрания нескольких источников звука, типа шума колес, шума двигателя, шума сцепок вагонов и т.д. Для представления большого по размеру объекта используется набор из нескольких точечных источников звука. Для того чтобы мы слышали отдельные составляющие композитного источника звука используется метод динамической декорреляции (Dynamic Decorrelation), позволяющий выделить отдельные источники, составляющие композитный источник звука.

На рисунке показано, как источник звука типа вертолет представляется в виде нескольких точеных источников. Когда вертолет далеко от нас, все четыре точечных источника формируют единый звуковой сигнал в виде гула. Этот основной звук можно снабдить дополнительными звуковыми сигналами в виде реверберации, чтобы пользователю было проще определить источник звука. Например, что вертолет летит на расстоянии 50 метров на фоне высотного здания из стеклобетона. Как только вертолет приблизится на достаточное расстояние к нам, так, что мы сможем легко его рассмотреть вполне логично ожидать, что мы сможем выделить звук от лопастей (как они рассекают воздух), звук от турбины и звук от хвостового винта. Именно для таких целей и предназначен ZoomFX. На практике все работает следующим образом. В качестве носителя звука вертолета может выступать обычный монофонический wav файл. Затем, когда возникает необходимость выделить составляющие источники звука, начинает работать динамический декоррелятор, который выделяет несколько вторичных звуков, которые затем подвергаются обработке HRTF фильтрами, затем происходит сложение соответствующих каналов (правые с правыми, левы с левыми и т.д.), затем сигнал обрабатывается алгоритмами TCC и воспроизводится через акустическую систему. К слову, возможность создания нескольких виртуальных источников звука с помощью ZoomFX может быть использована, например, для воспроизведения в наушниках многоканального звука типа Dolby Digital.

Технология ZoomFX в отличие от MacroFX не является прозрачной для интерфейсов и игр. Для ее поддержки будет создано расширение для DirectSound3D, подобно EAX, с помощью которого разработчики игр смогут воспроизводить новые звуковые эффекты и использовать такой параметр источника звука, как размер. Пока эта технология находится на стадии завершения.

EnvironmentFX

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

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

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