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

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование

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

Далее, будем считать, что разные методы реализации имеют сильные и слабые стороны.

Получается, что наушники, в связке с соответствующим бинауральным процессом обработки звука (слишком часто называемым просто HRTF) относительно хорошо справляются с созданием ощущения, что звук расположен сзади нас или над нами. Тем не менее, я еще ни разу не слышал такого звучания (а слышал я все), где бы убедительно осуществлялось расположение источника звука справа и впереди слушателя. (Флойд Тул /Floyd Toole/, занимающийся 3D звуком в компании Harman International и в течение долгого времени проводящий исследованиями по этой теме, один из немногих людей, который обобщил и изложил эту проблему в печатном виде.)

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

При использовании двух акустических колонок, основная зона эффективного размещения источников звука (т.н. sweet spot) находится спереди от слушателя и покрывает пространство в 180 градусов по азимуту, т.е. в горизонтальной плоскости. Ощущения, что звук расположен сзади и над слушателем, очень слабые, если нет поддержки в виде дополнительных сигналов. Особо отметим то, что использование алгоритмов HRTF, обеспечивающих воспроизведение звука для бинаурального прослушивания (т.е. в наушниках) и алгоритмов cross-talk cancelation (или для краткости CC; технология позволяющая воспроизводить звук, например из левой колонки так, что бы слышно этот звук было только левым ухом) не является успешным решением проблемы, неважно как хорошо цифры выглядят на бумаге или как крута рекламная компания.

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

API и Rendering Engine - это две разные вещи!

Играя в игры, вы используете API и rendering engine (рендерин энджин). API (application programming interface или, для краткости, интерфейс) это, по сути, просто набор команд, используемых разработчиком при написании игры -- это не технология 3D звука или чего-то другого.

Rendering engine или механизм воспроизведения звука (далее просто звуковой движок) представляет собой процесс взаимодействия алгоритмов 3D звука со звуковыми потоками с целью расположения источников акустики в пространстве. Если API (например, DS3D или наш QMDX) поддерживает множество звуковых движков, тогда в одном и том же приложении будет воспроизводиться звук немного отличающийся при использовании разных звуковых движков, почти так же, как и звуковая дорожка MIDI (другой набор команд) будет звучать немного иначе на разных аппаратных синтезаторах от различных производителей.

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

Люди, которые делаю заявления типа "эта игра поддерживает только DS3D" совершенно не понимают сути вещей. Если игра написана под интерфейс DS3D - это отлично! Она будет работать со всеми 3D звуковыми картами в любой последовательности. На каждой звуковой карте, игра будет использовать имеющийся звуковой движок, неважно, кем он сделан QSound, EMU, Aureal или кем-то еще.

Существует масса звуковых интерфейсов, таких, как DS3D, QMDX, QMixer, A3D 1.x и 2.0 и звуковые API третьих фирм, таких как HMI, EAR, Diamondware и другие. Если программист выбрал для использования интерфейс "Фирмы Х" (при этом он может также использовать более чем один API для конкретного приложения) это совсем не означает, что вы должны обязательно использовать аппаратное обеспечение "Фирмы Х" что бы все работало.

Что сбивает с толку, так это знание того, какой звуковой движок поддерживает данный API.

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

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