kursach (664774), страница 23
Текст из файла (страница 23)
Далее, если игра не нашла аппаратного обеспечения, т.е. 3D звуковой карты в данной системе, тогда DS3D использует свой собственный программный звуковой движок (HEL). Это одна из проблем DS3D; интерфейс DS3D функционален и универсален, но HEL медлителен (поглощая при этом огромное количество ресурсов CPU) и обеспечивает минимальные 3D звуковые эффекты, причем только через головные телефоны. Проблема с ресурсами центрального процессора означает, что при отсутствии аппаратного обеспечения 3D звука производительность может пострадать в такой же степени, как падает значение fps в играх при отсутствии графического акселератора.
Одним из продуктов компании QSound является звуковой движок для производителей звуковых карт. Этот звуковой движок, конечно же, совместим с интерфейсом DS3D. Конечно, процесс воспроизведения трехмерного звука гораздо сложнее, чем то, что может эмулировать DS3D HEL, но в принципе это верно для любой реально существующей на рынке технологии 3D звука. DS3D HEL никогда не был рассчитан на то, чтобы быть эквивалентом 3D звуковому движку, реализованному полностью на аппаратном уровне.
Компанией QSound также созданы комплекты для разработчиков (SDK), такие как QMDX и QMixer. Они похожи на DS3D, так как оба содержат API (набор команд) и модуль работающий в режиме реального времени, который обеспечивает программную обработку и воспроизведение стерео (QMDX) или 3D (QMixer) звука в системах не имеющих соответствующего аппаратного обеспечения. Работающий в режиме реального времени звуковой движок в обоих QM SDK оставляет DS3D HEL далеко позади с точки зрения производительности, поэтому в системах без аппаратного обеспечения для воспроизведения звука игры будут идти с хорошими значениями fps.
Тем не менее, также как и DS3D, вместе QMDX и QMixer поддерживают DS3D-совместимые ускорители, если какой-либо из них присутствует в системе. Оба эти API переводят команды напрямую в формат DS3D с тем, чтобы использовать имеющееся аппаратное обеспечение. Так, в системе с аппаратным ускорителем, интерфейсы QM больше чем просто оболочка DS3D, обеспечивающая удобное использование набора мощных функций и значительно облегчающая задачи программиста, но в то же время эти интерфейсы сохраняют универсальную поддержку аппаратного обеспечения рассчитанного только на DS3D. В действительности, наши интерфейсы идут на шаг дальше, потому что (как было показано выше) их собственные звуковые движки могут быть использованы в дополнение к имеющемуся аппаратному обеспечению, например, если 3D звуковая карта поддерживает слишком мало звуковых каналов.
QSound создала свой собственный движок реверберации звука, который совместим с интерфейсом EAX. Этот движок уже поставляется нашим OEM клиентам для использования в новых Q3D продуктах. Мы также добавили поддержку набора команд EAX в наши комплекты разработчиков (SDK): QMDX и QMixer.
Если QSound не использует HRTF, как вы можете обеспечить позиционирование 3D звука на двух колонках?
Прежде всего, вы должны понять, что любой 3D звуковой процесс это ничто иное, как алгоритм фильтрации. Допустим, что существует "идеальный" или "совершенный" алгоритм фильтрации для точного расположения источника звука в заданном месте в пространстве, однако вполне вероятно, что существует больше чем один способ попытаться создать такой фильтр. HRTF является одним из таких способов.
Если говорить о звуковых движках от QSound в общем (о Q3D, QSoft3D, QMixer и т.д.), то мы никогда не использовали обработку звука алгоритмами HRTF для воспроизведения 3D звука. HRTF обеспечивает превосходное восприятие для бинаурального 3D звука (т.е. рассчитанного на прослушивание в наушниках) и мы применили эти принципы при разработке наших звуковых движков, создающих звук для наушников. Тем не менее, реализация алгоритма cross-talk cancelation, необходимого для преобразования процесса HRTF для воспроизведения на колонках непрост, несовершенен и дорог в реализации. Единственная причина того, что HRTF столь популярный метод в том, что он является общедоступным! Использование в рекламе термина HRTF позволяет легко ввести в заблуждение при объяснении технологии и звучит термин так, что создает ощущение вещи, которая точно должна работать, а значит, продукт легче продавать.
Итак, при создании функций обработки звука, имелась возможность вывести средние и сбалансированные особенности восприятия многих слушателей, при воспроизведении звука через различные типы акустических колонок, а также при различных способах их расположения. Для лучшей оптимизации и перехода на следующий уровень (это явилось толчком к успеху в области профессионального звука) использовалась помощь лучших профессионалов, занимающихся звукозаписывающим бизнесом, поэтому алгоритмы не просто работают, но обеспечивают настолько натуральное звучание, насколько это возможно.
QSound выбрала, по моей искренней оценке, крайне хороший подход, результатом чего стала возможность располагать источники звука как минимум эквивалентно, а в большинстве случаев лучше, чем это позволяет сделать применение стандартной схемы HRTF+CC. Даже при едва различимых звуковых эффектах идущих со стороны, область хорошей слышимости (sweet spot) немного расширена, но самое главное, особенно для реальных пользовательских приложений, это значительно более низкая стоимость реализации технологии. Причина того, что подход обеспечил нам решение типа "кратчайшее расстояние между двумя точками" в том, что процессы HRTF+CC включают в себя гораздо больше вычислений, чем требуется для нашей технологии.
После того, как я сказал все это, могу ли я сказать, что существует значительная разница между тем, как слышится 3D звук при использовании технологии QSound и тем звучанием, которое создается при использовании HRTF+CC? Для того чтобы все работало и работало хорошо, были потрачены годы исследований и куча денег. Отложим на время мою шляпу "профессионала по звуку" и вот что я вам скажу. Я искренне считаю что, особенно в видео играх, средний слушатель не заметит большой разницы.
Единственная вещь, раздражающая меня, заключается в том, что некоторые поставщики 3D звуковых технологий базирующихся на HRTF+CC делают возмутительные заявления о производительности, не просто предполагая, а, твердо заявляя о том, что они могут располагать источники звука идеальным образом, в любом месте трехмерного пространства, например под вашим стулом. Это откровенная ложь. Очень плохо, что некоторые компании испытывают необходимость обманывать любителей поиграть в игры таким вот образом. Все что может обеспечить 3D звук это действительно здорово и гораздо лучше, чем обычное стерео звучание, но когда люди покупаю разрекламированные поделки, не обеспечивающие того результата, который обещал производитель, они начинают думать что 3D звук сам по себе это большой обман. Это удручает.
В чем разница между EAX и Wavetracing?
Кроме основной возможности по позиционированию источников звуков в 3D пространстве, другой уровень реализма может быть обеспечен за счет имитации воздействия окружающей среды на звуки, которые мы слышим. Поэтому, с развитием продуктов позиционирования 3D звука и с ростом мощности настольных компьютеров, мы наблюдаем появление поддержки этих возможностей в современных звуковых картах.
Когда звук распространяется в пространстве, наряду с достижением наших ушей напрямую, он может отражаться от стен и других поверхностей. Звук также может проходить сквозь стены, частично или полностью поглощаясь, и другие объекты. Все это влияет на то, что мы слышим. В обычном случае, отражения звуков на большом пространстве может в реальности создавать ясно различимые эха, но более часто, результатом является то, что мы называем "reverberation" (реверберация, т.е. многократно отраженные звуки) или "reverb" для краткости. Reverb это совмещение множества эхо в тесном пространстве так, что мы слышим их как единую последовательность или "tail", которая следует за исходным звуком и затухает, причем степень затухания напрямую зависит от свойств окружающего пространства, в котором распространяется звук.
Wavetracing и EAX дают разработчикам программного обеспечения два способа создавать звуковые эффекты, связанные со свойствами окружающей среды ("environmental") или виртуальной акустикой ("virtual acoustic"), для воспроизведения взаимодействия звуков с реальной окружающей средой.
Технология Wavetracing является частью API A3D 2.0 и основывается на использовании упрощенной версии геометрии графической сцены игры, передавая данные о геометрии сцены в звуковую карту на чипсете от Aureal. После того, как будут обсчитаны реальные пути распространения нескольких первых отраженных звуков (обычно вычисляют пути распространения лишь нескольких первых отраженных звуков), анализируется то, как звуки проходят сквозь препятствия, частично или полностью поглощаясь. Затем происходит рендеринг звуковой сцены, т.е. точное определение мест расположения источников звука в пространстве и расчет путей достижения звуков (прямых, отраженных и прошедших сквозь препятствие) ушей слушателя.
EAX это гораздо более простой интерфейс, который использует обобщенную модель реверберации, такого же типа, что используется в профессиональной музыке и звуковом сопровождении фильмов в течение многих лет. Это сокращает возможности по управлению reverb до ключевых параметров, которые могут быть использованы для сведения их свойств до значений синтезированной пространственной акустики в терминах размера, типа поверхности и т.д.
Сравнение, насколько качество реверберации влияет на ощущения от игры, по сравнению с качеством такого же важного фактора, как звуковой движок, по моему скромному мнению не выявит явного победителя. Другими словами, оба способа дают возможность создавать хорошие звуковые эффекты.
Самая большая разница между этими двумя способами заключается в интерфейсах, которые пользователь никогда не слышит, зато разработчик должен использовать какой-то из них, или оба сразу, для написания игры, чтобы задействовать звуковую карту!
Интерфейс EAX имеет преимущество в том, что он много, много проще в использовании и дает возможность для простой настройки и манипуляциями ("tweaking") параметрами reverb. Кроме того, EAX это открытый протокол, а это означает, что другие создатели 3D технологий, включая CRL/Sensaura и QSound будут поддерживать EAX одновременно и в своих API и в своих звуковых движках. Итак, с точки зрения разработчика приложений, желающих перейти на следующий уровень в воспроизведении 3D звука, EAX прост в использовании и имеет потенциал в более широкой аппаратной поддержки, чем запатентованная технология Wavetracing от Aureal.
В качестве API, EAX имеет несколько недостатков в своей первой версии, самый явный из которых это отсутствие механизма расчета прохождения звука сквозь препятствия. Правда, в EAX 2.0 этот недостаток должен быть устранен.
Промышленное объединение, называемое IASIG (в него входят QSound, Creative Labs, Aureal и другие поставщики 3D технологий, производители и т.д.) разрабатывает на основе EAX новую спецификацию. Основная идея разработки заключается в создании стандартного открытого интерфейса, который мы все сможем использовать. Есть все основания надеяться, что новый стандартный интерфейс даст разработчикам возможность так же легко создавать приложения, как это обстоит в случае с EAX. При этом новый стандартный интерфейс будет свободен от недостатков присущих EAX.
Aureal участвует в разработках IASIG, поэтому мы можем смело предполагать (или хотя бы надеяться!), что, в конечном счете, драйверы для чипсетов от Aureal будут создаваться совместимыми с новым открытым стандартом. Я ожидаю, что инженеры Aureal будут и в дальнейшем предлагать разработчикам приложений возможности по использованию геометрических расчетов для определения путей распространения звука.
Кстати, нет ничего особо исключительного в звуковых API. Очень много людей даже не представляют, что игра может использовать DS3D, EAX, A3D 2.0 или другие интерфейсы, равно как и то, что хорошее 3D звучание могут обеспечить большинство звуковых плат и лишь расширенные звуковые эффекты и нестандартные возможности будут использоваться только там, где они поддерживаются. Существующее положение вещей, когда разработчикам приходится выбирать, какой интерфейс использовать, создает массу проблем, поэтому разработки IASIG, по созданию открытого и универсального интерфейса очень важны.
Какая самая лучше схема воспроизведения: наушники, две колонки, четыре колонки...?
Лучшая схема воспроизведения звука та, что вам нравится; та, что дает вам необходимую полноту ощущений.
Каждая схема воспроизведения звука имеет сильные и слабые стороны. Наушники хороши для воспроизведения звука, источники которого расположены в вертикальной плоскости, сзади и с боков от слушателя. Однако головные телефоны слабы при воспроизведении фронтального звука, т.е. когда источники звука расположены спереди от слушателя. 3D звук на двух колонках хорошо воспроизводится при расположении источников звука спереди от слушателя и по бокам, но два динамика слабо справляются с воспроизведением звука, источники которого расположены сзади и в вертикальной плоскости. Панорамирование звука на множестве колонок хорошо справляется с расположением источников звука спереди и сзади от слушателя и слабо с боковым расположением, при этом нет воспроизведение звука исходящего из источников в вертикальной плоскости.