FAQ по 3D звуку с точки зрения QSound


 

Автор: Скот Виллинг (Scott Willing),
Manager, Tech Info Services, QSound Labs, Inc.

Предисловие

Последние 8,5 лет я работал в компании QSound Labs, Inc. занимаясь разработками в области 3D звука и созданием решений, рассчитанных как на сектор профессиональной звукозаписи, так и недорогих программных и аппаратных продуктов для конечного пользователя.

Моя работа очень разнообразна и по ходу дела я сотрудничаю с известными на весь мир звуковыми студиями в таких городах, как Лондон, Сидней, Лос-Анджелес и Нью-Йорк. Плюс ко всему, по роду занятий, я регулярно посещаю такие шумные места, как выставка Comdex в Вегасе, где зачастую приходится проводить ночи на пролет, готовя образцы прототипов новых продуктов для демонстрации на шоу. Все это дало мне хорошую подготовку для красноречивых рассуждений в различных конференциях.

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

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

Ребята с сайта ALive! попросили меня собрать вместе отредактированные версии некоторых моих публикаций в сети вместо того, чтобы писать отдельную статью, на которую просто нет времени (дело в том, что я очень занят в последнее время!), и вот получился… FAQ по 3D звуку от QSound.

Немного позднее, парни из iXBT Hardware предложили мне перевести получившийся материал на русский. Кстати, еще ни разу я не публиковался на русском языке. Разумеется, я согласился. Поэтому, теперь мой скромный труд доступен на двух языках.

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

3D звук это что, шутка?

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

Я должен побудить вас не верить всему, что вы читаете, не обращая внимания на источник информации (включая меня). Берите все, но отделяя зерна от плевел.

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

Терминология 3D звука

Половина всех дискуссий в ньюсгруппах посвящены вопросу что такое "3D" и что нет, вплоть до бессмысленной семантики. Для протокола, термин "stereophonic" означает трехмерный звук! (От Греческого "stereos", означающего "пространственный, трехмерный, непрерывный, сплошной, цельный", а если вы не представляете себе, что означает "phonic" (акустический, звуковой), то дальше не читайте).

Когда QSound Labs взялась за этот бизнес, мы назвали наш первый процесс обработки звука, ориентированный на акустические колонки, именем "QSound". Не самый лучший выбор, сделав который мы теперь имеем целое семейство алгоритмов, но примечательно то, что мы не выбрали название "3D audio".

На протяжении лет, рынок наводнялся различными видами технологий, которые расширяли возможности аппаратуры убедительно воспроизводить позиционируемый звук в пространстве на ограниченном количестве реальных акустических колонок, и каждый называл все это "3D". Уже давно я перестал бороться с этой проблемой. Извините парни, термин просочился сквозь лабораторные стены и теперь находится в повсеместном употреблении, поэтому все дебаты о том, что должно называться "3D звуком", сейчас в большой степени бессмысленны.

Допустим, что существует нечто, называемое "3D графикой", причем повсеместно под этим термином понимается "визуализация в 2D пространстве 3D модели". Теперь представим, что существует технология, которая позволяет создать подлинное ощущение глубины изображения, и некоторые люди убеждены, что термин "3D", применительно к графике, должен быть зарезервирован для этой технологии. Я полагаю, что пока мы не имеем изображения, протяженностью 360 градусов с воспринимаемой глубиной, его нельзя по настоящему считать "трехмерным" ("3D"), даже если вы хотите выдрать волосы у оппонента.

Есть ли смысл доказывать что-либо из выше сказанного? Может быть лучше понять технологии и то, что они делают, чем суетиться вокруг того, как они называются? Так или иначе, но пытаться что-либо сделать в последнем случае уже поздно.

Типы "3D audio" процессов

Очень важно видеть различия между типами технологий 3D звука, прежде всего по функциям (игнорируя в этот момент то, какого успеха достигли поставщики этих технологий на рынке).

В результате получаем следующее:

  • Stereo Expansion (Расширение стерео):
    технология, которая оперирует с имеющейся избыточной стерео информацией, надлежащим образом расширяя кажущуюся ширину звукового поля (т.е. главным образом удобная для не-3D стерео произведений, таких как записанная музыка).
  • Positional 3D Audio (Позиционируемый 3D звук):
    технология, которая оперирует с множеством индивидуальных звуковых потоков и пытается определить местоположение каждого из них индивидуально в 3D пространстве.
  • Virtual Surround (Виртуальный окружающий звук):
    технология, которая оперирует с декодированными данными в формате surround с целью воспроизведения разнообразных каналов в их истинной перспективе с использованием ограниченного числа источников звука, например воспроизведение пятиканального звука на двух акустических колонках.

Stereo expansion и virtual surround главным образом удобны для применения в бытовой электронике, такой, как стерео системы, домашние кинотеатры и т.д. Однако так как некоторые из этих технологий пересекаются с рынком персональных компьютеров (прослушивание музыки с помощью CD-ROM проигрывателей или прямо из сети Интернет, просмотр фильмов DVD), их применение также допустимо.

Тем не менее, визитная карточка для компьютеров — это позиционируемый 3D звук.

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

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

В чем разница между 3D звуком и панорамированием?

В течение многих лет добавить звук в видео игру можно было только при условии использования панорамирования стерео (stereo panning). Это накладывало ограничение в том, что звук можно было поместить только где-то между акустическими колонками, неважно, где бы они ни находились, перед вами в вашей комнате или на вашей голове в виде головных телефонов.

В первом случае, все звуки слышаться где-то между колонками спереди от вас, а в последнем случае, звуки воспроизводятся внутри вашей головы -- что не имеет никаких аналогов с ощущениями в реальном мире. (Во всяком случае, если вы трезвый и в здравом уме.)

Панорамирование стерео это просто управление уровнями левого/правого звуковых каналов, которое никогда не зависит от частоты звука и напрямую не влияет на его фазу или синхронизацию. Панорамирование на нескольких акустических колонках (Multi-speaker panning) обычно является развитием этой идеи, но при этом может содержать больше манипуляций с преобразованиями.

Преобразование звука в "3D" (т.е. трехмерный) — не имеет значения, какой метод при этом используется — включает дополнительную информацию в звуковой поток в форме амплитуды и разности фаз/задержек между выходными каналами. В этом случае часто присутствует зависимость от частоты звука, хотя некоторые простые эффекты создаются с использованием простых задержек по времени на всем протяжении спектра шумов.

Есть масса способов содрать шкуру с кошки, но кое-где это делать бесполезно. Я слышал утверждение, что в 3D звуке не используется сдвиг по фазе или задержки по времени или что-то в этом роде. Я могу сказать только, "пожалуйста!" возьмите осциллограф и убедитесь во всем сами.

3D звук совершенен?

Сегодня существуют несколько технологий, которые расширяют возможности разработчиков по размещению звука в уникальных местах относительно слушателя. Есть ли какое-то решение действительно совершенное? По-моему, такого решения нет. Означает ли это, что "3D звук" это бесполезная вещь? По-моему, это не так. Истина находится где-то между двумя крайностями.

Почему люди не могут прийти к какому-то общему мнению относительно действенности 3D звука?

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

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

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

Нравится это или нет, но для нормально видящих людей, зрение является основным чувством определения местоположения чего-либо, причем до такой степени, что нас легко одурачить без особых трудов, предоставив противоречивую звуковую информацию. Сколько раз мы смотрели телевизор со звуковым сопровождением, исходящим из паршивого маленького динамика, который мог быть вмонтирован даже не в переднюю панель телика? Волновало ли это нас? Ощущали ли мы большое несоответствие между происходящими на экране событиями и звуком сопровождавшим их? По-видимому, не сильно. Долгое время мы не имели стерео телевизоров и домашних кинотеатров, а популярность они приобрели лишь из-за существенно упавшей на них цены.

Я говорил это везде и говорю это сейчас. Действенность любой технологии позиционируемого звука полностью находится под влиянием таких факторов, связанных с областью применения:

  • использование в качестве дополнительной поддержки, облегчающей визуальное восприятие
  • сопровождение действия (скажем фильм, футбольный матч, игра)
  • усиление интерактивности (например, звуковые эффекты при работе с меню)
  • уместность применения

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

Если вы поместите кого-нибудь в затемненную комнату и проиграете ему незнакомые звуки, воспроизводя их из колонок, расположенных в произвольно выбранных местах помещения, вы увидите, что ни одна из существующих технологий не обеспечивает 100% эффективность — даже близкую!

Теперь, скажем, у нас есть безэховая камера (т.е. помещение, в котором нет реверберации), поместим в нее слушателя, зафиксируем его голову в нужном (правильном) положении и повторим эксперимент. Есть все шансы, что результат будет лучше. Однако все это не относится к делу до тех пор, пока вы не начали всерьез планировать построить безэховую камеру у себя дома, тогда к чему все это?

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

Это вторая самая большая проблема и одновременно обоснование того, что заявления типа "делайте так!" "так не делайте!" никогда не прекратятся до тех пор, пока участники тестов в слепую не подтвердят и не удостоверятся в том, что они одновременно и правы и не правы.

Нет ничего странного в том факте, что иллюзия или обман чувств используется в большинстве создаваемых приложениях. Это как раз то место, где на сцену выходит искусство. Тем не менее, очень важно отдать должное тому, что этого заслуживает. Если в игре нет эффективного использования 3D звука, это не означает, что виновата в этом технология и если звук звучит правдоподобно как в жизни, технология, сама по себе, лишь часть головоломки! Это должно быть так же очевидно, как в случае, если вам попался паршивый текстовый процессор, в этом нет вины компьютера, на котором он запущен, почему же в случае с 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 должен поддерживать как можно больше аппаратного обеспечения и так много функциональных особенностей, насколько это возможно, так, чтобы разработчик игры мог использовать один интерфейс и получить хороший результат на всех звуковых платах.

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

Большинство разработчиков убедились в очевидном преимуществе использования таких API, как DS3D, QMixer и QMDX, которые не являются зависимыми от производителя аппаратного обеспечения и, следовательно, будут прекрасно работать с любой 3D звуковой картой.

Что такое "Panning"?

Panning (панорамирование) — этот термин происходит от простого устройства, изобретенного Лесом Полом (Les Paul) в далеких 50-х годах, которое использовалось для расположения моно фонических звуковых дорожек в явно определенное положение слева/справа в стерео звуковом поле.

"Panoramic Potentiometer" (или для краткости "Pan Pot", панорамный потенциометр) это нечто вроде регулятора баланса в стерео системе. В то время как регулятор баланса управляет всем входящим стерео сигналом и выдает отрегулированный стерео сигнал на выходе, pan pot управляет моно сигналом на входе, а на выходе выдает его разделенным на части, передавая их в выходные каналы, левый и правый.

Любой микшерский пульт стерео звука (использующийся в студии звукозаписи) имеет pan pot для каждого канала. Повернем ручку управления pan pot полностью влево и 100% сигнала (скажем в честь Леса, что это звук гитары) будет направлено в левую колонку. В результате, звук гитары будет явственно исходить из левой колонки. Повернем ручку управления pan pot полностью вправо и 100% сигнала будет исходить из правой колонки.

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

Такая же концепция панорамирования использовалась на протяжении лет в видео играх, с целью динамического расположения источников звука слева/справа в звуковом стерео поле. (Ясно, что физически pan pot не использовался, а применялся его программные эквиваленты). Такой же принцип может быть распространен на любое количество колонок. Панорамирование, использующееся в обработке 3D звука, не изменяет звуковой сигнал (например, его фазу, частоту и т.д.) осуществляя лишь простое управление пропорциями передаваемого сигнала индивидуально в каждое физическое устройство воспроизведения.

Что такое "Voice Manager"?

Термином Voice Manager (менеджер голоса) называют стандартизованный механизм для управления на аппаратном уровне каналами в 3D звуковой карте. Раньше аппаратное обеспечение оперировало всего лишь 5 каналами 3D звука, сейчас стандартным является число в 8 каналов. Основной интерфейс 3D звука DirectSound3D перекладывает работу по распределению этих ограниченных ресурсов между самыми важными звуками (те, что должны звучать в данный конкретный момент) полностью на программиста. Это очень большой объем работы. Программисты обычно предпочитают задать много (20, 30 или больше) звуковых каналов, а затем просто манипулировать ими по своему усмотрению.

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

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

Поэтому, QSound предложила Microsoft, чтобы наша схема управления распределением ресурсов была адаптирована и распространялась в качестве стандартной с тем, чтобы любой производитель мог ее использовать (также как и DS3D). Microsoft согласилась с нашим предложением, немного упростила наш метод и стала распространять систему управления распределением ресурсов под именем Voice Manager.

В чем разница между QSound, DS3D и EAX?

Прежде всего, чрезвычайно важно понимать разницу между API (который всего лишь представляет собой набор команд) и звуковым движком (действительный 3D звуковой процессор). Люди путаются, потому что они думают, что API и звуковые движки это одно и тоже, а это совершенно неверно.

DS3D содержит:

  • API
  • низкоуровневый интерфейс, работающий в режиме реального времени, аппаратноог обеспечения 3D звука
  • программный звуковой движок от Microsoft, работающий в режиме реального времени, носящий имя "Hardware Emulation Layer" (HEL, уровень эмуляции аппаратного обеспечения)

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

Каждый отдельный производитель звуковых карт с поддержкой 3D звука, независимо от того, какая технология 3D звука используется QSound, EMU, Aureal, CRL и т.д. делает свои звуковые карты совместимыми с набором команд DS3D. Это означает, что игра, написанная под DS3D, будет производить базовое позиционирование 3D звука на любой 3D звуковой плате, используя тот звуковой движок, какой имеется. В этом прелесть DS3D; он является универсальным API, который поддерживает звуковые движки многих производителей.

Далее, если игра не нашла аппаратного обеспечения, т.е. 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 звуковая карта поддерживает слишком мало звуковых каналов.

Creative Labs Environmental Audio Extensions (EAX)

EAX является расширением API DS3D. Это маленький набор команд (т.е. опять же, это API) для управления обобщенным процессом воспроизведения эха или реверберации.

Creative предложила протокол EAX для использования в качестве универсального стандарта для всех, также как QSound предложила в свое время Voice Manager. Вероятно, что протокол EAX будет развиваться и распространяться под незарегистрированным, как торговая марка именем, благодаря работе, ведущейся в Interactive Audio Special Interest Group (группа особых интересов по интерактивному звуку или IASIG). IASIG является открытым объединением создателей технологий, производителей и разработчиков, в числе которых QSound, Creative Labs, Aureal и многие другие.

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 позволяет легко ввести в заблуждение при объяснении технологии и звучит термин так, что создает ощущение вещи, которая точно должна работать, а значит, продукт легче продавать.

Мы разработали наш (запатентованный) процесс воспроизведения 3D звука через акустические колонки в то время, когда единственным рынком, где работала наша компания, была профессиональная звукозапись. Четко слышимые эффекты HRTF с боков + crosstalk cancellation (CC) были неприемлемы для этих задач, не смотря на то, что по общему признанию они практически не имели отношения к видео играм, для которых гораздо более низкое качество звука рассматривалось как вполне приемлемое.

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

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

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

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

Я думаю, что множество колонок — это классная вещь, но в своем домашнем офисе я не имею хорошего места для размещения задних колонок. Я не собираюсь переделывать свою прекрасно организованную комнату для их расположения. Совсем другой случай специальная медиа комната. Я терпеть не могу использовать наушники в течение продолжительного времени… Я считаю, что звучание в наушниках церебральное, а как любой старый рок музыкант, я слишком привык к вибрациям тела от волн воздуха создаваемых мощными колонками. В любом случае, я люблю сделать себе чашечку капучино, при этом, разумеется, я забываю о том, что у наушников есть провод и они слетают с моей головы. Так что для меня, когда я работаю на PC, две колонки это лучший выбор, но это для меня.

Другие люди могут установить колонки у себя за спиной и настроить звучание для воспроизведения на четырех колонках. Отлично! Наслаждайтесь!

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

Звуковые карты имеют много разных возможностей, из которых всего лишь одной является поддержка 3D звука. Делая выбор в пользу какой-то технологии или продукта, не забывайте о перспективах дальнейшего использования, и, что более важно, необходимо, чтобы выбор был вашим собственным, не поддавайтесь влиянию мнения ваших друзей.

Звуковые карты с поддержкой AC-3

Почему звуковые карты не воспроизводят AC-3 звук в играх?

AC-3 звук в настоящее время не используется (и даже не предназначался) для интерактивного 3D звука.

Типичный процесс создания многоканального звука следующий:

Сначала производится запись многоканального звука, который может иметь много индивидуальных дорожек -- инструменты, голоса, звуковые эффекты и т.д. Дорожек этих может быть 24, 36, 48 или гораздо больше, особенно если это звуковое сопровождение фильма. Затем многоканальная запись микшируется ("mixed down", микширование с сокращением числа каналов) на специальной аппаратуре в музыкальной или кино студии инженерами по смешиванию звуков. Во время микширования для каждой звуковой дорожки контролируется, уровень громкости, расположение источника звука, баланс, эффекты и т.д с целью получения требуемого результата.

В случае со стерео звуком, результатом такого микширования являются два канала: левый и правый. Микширование с целью получения многоканального surround звука (multi-channel surround) представляет собой просто использования большего числа выходных каналов. В обоих случае, каждый канал состоит из сигналов, которые предназначены для направления в отдельные колонки при прослушивании пользователем. Каждый из этих сигналов представляет собой результат сложного микширования исходных источников, состоящих из многих звуковых дорожек.

Далее, происходит процесс кодирования каналов, полученных после микширования (например, 6 каналов для формата "5.1" Dolby Digital/AC-3) и в результате получается один цифровой поток (bitstream). Процесс кодирования содержит много интенсивных вычислений, в то время как процесс декодирования (все еще не прогулка по парку) требует гораздо меньшего количества ресурсов для выполнения.

Теперь цифровой поток поступает к пользователю, на DVD диске, в виде MPEG файла или в каком-то другом.

Когда вы начинаете проигрывание, декодер обрабатывает цифровой поток в режиме реального времени, разделяя его на индивидуальные каналы и передавая их для воспроизведения на шести акустических колонках. (Или, декодер может делать еще и простой ремикс, т.е. новое микширование, для создания лишь нескольких выходных каналов. Если у вас имеется меньше чем шесть колонок, например, если у вас всего две колонки, тогда канал сабвуфера (низкочастотный) и центральный (диалогов) добавляются одновременно к обоим выходным каналам. Задний левый канал добавляется к левому выходному каналу, задний правый к правому выходному каналу. 3D звуковой процесс может быть использован для "имитации" наличия реально отсутствующих акустических колонок.)

Звуковое содержание "законсервировано". Где бы инженер по микшированию не решил поместить звук, там вы его и услышите. Точка. В такой же мере, что бы инженер ни сделал по отношению к уровню громкости, балансу или любому студийному эффекту, вы услышите это. Точка. Точно как с CD, он всегда один и тот же, каждый раз, когда вы его проигрываете. В игре, единственный случай, когда вы можете использовать законсервированное содержание, это окружающий звук, т.е. создающий атмосферу игры, музыка, видео клипы и т.д., потому что они не могут быть сделаны так, что бы реагировать на ваши действия, за исключением их запуска и остановки, что естественно.

В случае с интерактивным 3D звуком микширование не производится заранее в студии и не может быть там осуществлено. Микширование происходит в режиме реального времени, в момент, когда вы играете в игру. Отдельные звуки ("дорожки") извлекаются с диска и имеют собственный уровень громкости, расположение в пространстве, тональность и т.д., при этом выбор звука зависит от того, в каком направлении вы сдвинули мышку или джойстик. В сущности, в игру встроен собственный робот-инженер по микшированию.

Итак, если вы хотите использовать при игре внешнюю систему проигрывания Dolby Digital звука (что теоретически возможно), вам понадобится звуковая карта, имеющая возможность производить в режиме реального времени не только многоканальное микширование, но и кодирование на лету в цифровой поток. Эта звуковая карта должна ОЧЕНЬ БЫСТРО СЧИТАТЬ, потому что любая заметная задержка между, скажем, нажатием кнопки выстрела и появлением звука вылетающей ракеты, сделает играбельность удручающей.

Итак, предположим, вы можете сделать все это. Тогда вам нужно будет послать кодированный сигнал на расстояние в три фута от вашей карты до декодера, который должен будет снова разделить цифровой поток на множество каналов. Если такой декодер есть на карте, отлично, но это будет по-настоящему глупо, потому что тогда нет никакого смысла осуществлять кодирование в начале.

Как было бы хорошо иметь такую карту, которая могла бы кодировать на лету, правда единственно, что она сможет обеспечить, это удобная возможность управления внешней системой, воспроизводящей окружающий слушателя звук (surround system). Однако стоимость DSP с требуемой для этого вычислительной мощностью взвинтит цену нашей теоретической звуковой карты до уровня стратосферы. Это не является достоинством. Может быть, когда-нибудь это станет реальностью, но не задерживайте свое дыхание.

По иронии, работающий "на лету" Dolby Pro Logic кодировщик очень прост, потому что он основан на очень простой концепции.

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

 

Дополнительно

iXBT BRAND 2016

«iXBT Brand 2016» — Выбор читателей в номинации «Процессоры (CPU)»:
Подробнее с условиями участия в розыгрыше можно ознакомиться здесь. Текущие результаты опроса доступны тут.

Нашли ошибку на сайте? Выделите текст и нажмите Shift+Enter

Код для блога бета

Выделите HTML-код в поле, скопируйте его в буфер и вставьте в свой блог.