Технология создания 3D звука

         

Проверка в работе и тесты



Проверка в работе и тесты

Тестовая ситема:

  • Intel Celeron 300A o/c 450 MHz
  • Chaintech 6BTM (i440BX)
  • RAM 256 Mb PC100 от SEC, CAS2
  • Chaintech Desperado RI41 (RIVA TNT2, 32 Mb) drv. Ref. 3.56
  • HDD Fujitsu 6.5 Gb UDMA33
  • DVD ROM Hitachi GD2000
  • Sound Cards: Diamond MX300 (drv. 2048b14), Creative SB Live! Player 1024 (Liveware 3.0), Aztech PCI 368DSP (drv. 1.25), Terratec DMX (drv. 4.05.00.0802)
  • Speakers: Cambridge Sound Works FPS1000 (4.1), Genius SP-330
  • Headphones: Sennheiser HD590
  • Windows98+DX7

Начнем с проверки воспроизведения MIDI. Карта DMX поддерживает на аппаратном уровне 64 голосовую полифонию. И это все. Поддержки DLS1 нет, т.е. загрузить звуковые банки возможности нет. Остается ждать поддержки DLS2, которая обещана после выхода Windows2000 и WDM драйверов. Либо воспользоваться программным синтезатором, например от Yamaha.

Если вас расстроило положение дел с MIDI, то в качестве маленькой компенсации вот полезная информация из руководства к DMX:

При воспроизведении звука от аналоговых источников, например от FM тюнера или CD Audio работает только один ЦАП STAC9704, но звук воспроизводится через четыре колонки (если они все подключены). В этом случае стерео сигнал, предназначенный для фронтальных колонок просто дублируется на тыловых, благодаря особенности данного кодека от SigmaTel. При этом звучание через 4 колонки вполне приличное.

Нет никакой возможности наложения эффектов реверберации при проигрывании аналогового (например, CD Audio) или цифрового (например, mp3) звука.

Предусмотрена возможность подключения CD/DVD ROM через цифровой интерфейс, благодаря наличию на дочерней карте CD-S/PDIF входа. Многим такая опция придется по душе.

Начали мы тесты с того, что измерили АЧХ карты с использованием теста Sound Analyser, для чего линейный выход и вход были соединены петлей. Каждое измерение проводилось по пять раз и в итоге был выбран наилучший результат.



Как видно, график АЧХ у карты DMX практически идеальная прямая. Так как при размыкании петли сигнал пропадал, значит тест Analyser измерил именно параметры аналогового тракта. Хотя, чтобы не возникало споров вокруг графиков, звуковые карты лучше всего тестировать субъективно, опираясь только на собственный слух. Кстати, на мою просьбу прокомментировать полученный график специалисты из Terratec заявили, что так и должно быть, что у них на аппаратуре от Rohde & Schwarz получается такой же результат.

Был запущен тестовый пакет Minerva 1.08, который подтвердил аппаратную поддержку 32 потоков DS3D. Тест на субъективное восприятие микширования различных источников звука нареканий не вызвал.

Тестовый пакет ZD AudioWinbench99 продемонстрировал очень высокий процент загрузки CPU при микшировании потоков DS3D, что довольно странно. Вот результаты теста на загрузку CPU для частоты дискретизации 44.1 КГц с точностью 16 бит:

MX300SB Live! Player368DSPDMX
 
Static: Voice 82.413.225.079.51
Static: Voice 162.533.495.0116.1
Static: Voice 322.675.116.0429.3
Streaming: Voice 82.593.45.019.73
Streaming: Voice 162.593.525.0816.4
Streaming: Voice 322.715.115.9929

Отмечу, что мы использовали самые свежие драйверы, которые есть на сайте Terratec. На драйверах, идущих в комплекте с картой DMX, процент загрузки CPU был еще выше. При этом тест на загрузку CPU при использовании DirectSound потоков с частотой 44.1 КГц и точности 16 продемонстрировал более ожидаемые результаты:

MX300SB Live! Player368DSPDMX
 
Static: Voice 80.8860.6891.271.94
Static: Voice 160.9380.8161.322.58
Static: Voice 321.040.7371.673.85
Streaming: Voice 80.8250.7021.371.94
Streaming: Voice 160.9370.7021.362.55
Streaming: Voice 321.090.5542.023.86

Замечу, что тест объявил о том, что DMX вообще не поддерживает на аппаратном уровне потоки DirectSound. В общем, результаты синтетического теста явно не адекватны в случае с DMX, особенно, если принять во внимание результаты тестов в реальных приложениях, которые мы приведем чуть ниже.

Тесты из состава ZD Audio WB'99 на субъективное восприятие звучания были пройдены успешно. Звук позиционировался хорошо. Никаких замечаний у нас не возникло.

Вместе с картой DMX поставляются несколько демо программ, в которых можно оценить работу EnvironmentFX, MacroFX и MultiDrive.

Отметим демо Donuts, в которой очень хорошо слышно, как работает MacroFX.

Чтобы оценить уровень загрузки CPU в реальных приложениях мы воспользовались игрой Heretic II, которая поддерживает интерфейсы A3D 2.0 и DS3D+EAX 1.0.

Мы использовали демо ntdemo и игру Heretic II с патчем 1.4 (с более старшими патчами демо не работает).

Замечу, что с помощью этого теста мы оценивали только загрузку CPU, а не качество реализации поддержки EAX 1.0 или A3D 2.0. На самом деле EAX 1.0 в игре Heretic II работает некорректно, т.е. реверберация есть, но пресеты включаются/выключаются невпопад и очень часто уровень громкости реверберации очень низок. Тем не менее, в качестве теста на загрузку CPU эта игра и демо вполне применимы.

Сначала мы запустили игру с использованием режима Software Rendering в разрешении 320х240 при 16 bpp, т.е. когда расчет всей графики возложен на CPU системы и вот какие результаты получились:

Без звука368DSP EAX 1.0SB Live! Player 1024 EAX 1.0MX300 A3D 2.0DMX EAX 1.0
 
Software Rendering 320x240@16bpp39.8 fps37.5 fps37.5 fps32.6 fps34.9 fps

Теперь включим аппаратное ускорение для вывода графики через API OpenGL и посмотрим, как изменяться цифры:

Без звука368DSP EAX 1.0SB Live! Player 1024 EAX 1.0MX300 A3D 2.0DMX EAX 1.0
 
OGL 640x480@16bpp82.1 fps74.6 fps73.8 fps63.3 fps70.9 fps
OGL 1024x768@16bpp58.8 fps58.1 fps58.1 fps56.9 fps57.3 fps

Итак, все звуковые карты, которые использовались при тестировании в той или иной степени загружают CPU системы. Это известный факт. Сильнее всех загружает CPU воспроизведение звука с использованием A3D 2.0. В разрешении 640x480 производительность видеокарт ограничивается возможностями CPU, тут разница в степени загрузки CPU при воспроизведении звука заметна на глаз и составляет от 5% до 15%. Зато в разрешении 1024х768 ограничивающим фактором производительности в графике является сама графическая карта и разница в значения fps при использовании разных звуковых карт становится минимальной, в пределах 2%-3%. Мораль: играйте в игры в высоких разрешения и с использованием современных графических ускорителей :=).

Мы также послушали работу EnvironmentFX, MacroFX, и MultiDrive в следующих играх: Half Life, Unreal, Unreal Tournament, Baldur's Gate, Need For Speed4 HS и TestDrive 6.

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

Карта DMX поддерживает на программном уровне A3D 1.0, т.е. это работает за счет перевода вызовов A3D 1.0 в вызовы функций из DS3D. Эту работы выполняет библиотека от Sensaura под именем audio3d.dll. Мы проверили поддержку A3D 1.0 в игре Thief и убедились в ее работоспособности на должном уровне.

Что интересно, при запуске игры Heretic II автоконфигуратор звука включал поддержку A3D 2.0, правда в игре половина эффектов не было слышно и ранних отраженных звуков тоже, как в принципе и должно быть ввиду поддержки картой только A3D 1.0.

Реверберация через EnviornmentFX (EAX 1.0) нам понравилась. По качеству она не уступает звучанию при использовании SB Live!. Вообще, у меня есть стойкое подозрение, что Creative лицензировала по крайней мере часть технологий Sensaura, но просто не афиширует этого.

Звучание через EAX 2.0 и I3DL2 нам проверить не удалось. Дело в том, что игр с поддержкой EAX 2.0 или I3DL2 у нас нет под рукой, а единственная демо EAX 2.0 запускается только на картах SB Live!. Тем не менее, можно уверенно прогнозировать, что все будет в порядке, тем более, что EAX 2.0 отличается от EAX 1.0 лишь наличием большего числа параметров управления (размер помещений, тип поверхностей), а также расчетом окклюзий и обструкций при воспроизведении реверберации.

Тем не менее, в текущих драйверах для DMX поддержки EAX2.0/I3DL2 вообще может не быть, а вот в драйверах для MX400 эта поддержка заявлена.

Работа MacroFX производит благоприятное впечатление. По сути это выглядит так: если источник звука находится в ближнем поле (near field), то громкость звука повышается. В результате создается полноценное ощущение того, что источник звука находится действительно рядом с вашей головой. Будь то пролетающая ракета, жужжащая муха или осколки бочки, разлетающиеся за вашей спиной. Замечу, что для полноценной работы MacroFX необходимо иметь запас по уровню громкости. Если вы играете в игры при максимальной громкости вашей акустики, то вы не услышите MacroFX. Можно только предположить, насколько реально будет воспроизводиться звук от источников в near field, если разработчики игр будут тратить силы на специальную оптимизацию под алгоритм MacroFX. В существующих играх MacroFX работает, но очень шаблонно.

В наушниках звучание в играх понравилось. На наш взгляд звук в наушниках лучше, чем при воспроизведении через Live!, но несколько уступает по ощущениям от звучания, воспроизводимого картами на Vortex2. Ситуация может измениться, если появится возможность загрузки HRTF под конкретного слушателя. К сожалению, технология Digital Ear, которая как раз будет обеспечивать такую возможность, пока только анонсирована. К слову, аналогичную возможность нам обещает Aureal после выхода A3D 3.0.

Звук при воспроизведении через 2 колонки нас не впечатлил. Нельзя сказать, что он был плохой, но ничего особенного. Это не сильная сторона DMX.

Зато звучание при воспроизведении через 4.1 акустику, т.е. при использовании MultiDrive произвело очень хорошее впечатление. Если акустика расставлена правильно, т.е. по углам воображаемого прямоугольника вокруг вас, то фильтры HRTF работают корректно. Вы попадаете в зону sweet spot, т.е. зону наилучшего восприятия звука. Использование HRTF фильтров на всех четырех звуковых каналах в паре с алгоритмами TCC позволяет довольно хорошо воспроизводить источники звука в вертикальной плоскости (т.н. elevations) и при движении источника звука по оси фронт/тыл. Неудобством является необходимость довольно точной расстановки колонок. Так что если у вас нет возможности соответствующим образом установить тыловые колонки, то MultiDrive не произведет на вас ожидаемого эффекта.

Тут уместно сделать небольшое отступление. Некоторые истинные любители звука предпочитают подключать свои звуковые карты к внешним DAC. При этом, они не имеют возможности слушать многоканальный звук, т.к. внешние ресиверы понимают только форматы типа AC-3 или DTS. При этом бытует мнение, что панацеей может служить кодирование (программное или аппаратное) 3D звука в играх в многоканальный формат звука, который понимает бытовой ресивер с декодером, например, AC-3 (Dolby Digital). Говорят, что технологических препятствий нет. На самом деле нет никакого смысла пытаться переводить в AC-3 динамично формируемый звук в играх. Представьте, вы выстрелили из ружья в игре, DSP вашей звуковой карты с использованием специальных алгоритмов рассчитал основной звук, ранние отражения и реверберации. Теперь все это нужно закодировать в AC-3, передать по крутому 3-х метровому кабелю из стекловолокна до вашего ресивера с AC-3 декодером, который декодирует данные и воспроизведет через крутые колонки шестиканальный звук. Представили?

Как вы думаете, успеет ли CPU или аппаратный кодер перевести звук в формат AC-3, а декодер в ресивере все это декодировать за то время, как вы нажали на спусковой крючок и ожидаете услышать звук выстрела и его последствия? Мы еще не учитываем время на передачу цифрового потока. Надеюсь, вы понимаете, что пока такого рода решения просто бессмысленны. Получается, что AC-3 мы не услышим в играх? Нет, услышим. Только в формате AC-3 будет кодироваться звуковое сопровождение к игре, например фоновая музыка, сопровождение к заставкам и видео роликам. Дело в том, что AC-3 и другие многоканальные звуковые форматы рассчитаны на то, что все каналы создаются заранее звукорежиссером. Они не рассчитаны на динамическое позиционирование истоников звука с учетом различных спецэффектов. Говоря простым языком, эти форматы не рассчитаны на 3D звук. Так что AC-3 в играх будет, но несколько в другом виде и без мультимедиа акустики мы все равно не обойдемся. Кстати, в A3D 3.0 есть поддержка декодирования Dolby Digital.

Содержание раздела