Если 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, по созданию открытого и универсального интерфейса очень важны.
Какая самая лучше схема воспроизведения: наушники, две колонки, четыре колонки...?
Лучшая схема воспроизведения звука та, что вам нравится; та, что дает вам необходимую полноту ощущений.