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

         

Практика



Практика

Прежде чем перейти к испытаниям, приведем конфигурацию тестовой системы:

  • Intel Pentium III 650E (CuMine), 650 MHz
  • Chaintech 6BTM (i440BX)
  • RAM 256 Mb PC100 от SEC, CAS2
  • ELSA ErazorX2 (NVIDIA GeForce 256, 32 Mb DDR SGARAM) drv. 4.12.01.0104-0020
  • HDD Fujitsu MPE3064AT 6.5 Gb UDMA33
  • DVD ROM Hitachi GD2000
  • Sound Cards: Aureal SQ2500 (drv. 2.048 + 3.12), Creative SB Live! Value (Liveware 3.0 + latest w98 drv), AW744Pro (drv. 4.06.2002, 4.06.2013 и 4.07.104)
  • Speakers: Cambridge Sound Works FPS1000 (4.1), Genius SP-330
  • Headphones: Sennheiser HD590
  • Windows98+DX7

Мы начали испытания с синтетических тестов. Пакеты Minerva и ZD Audio Winbench показали, что чип YMF744B поддерживает на аппаратном уровне 8 потоков DS3D и 20 потоков DS. При субъективном прослушивании никаких замечаний у нас не возникло. Позиционирование источников звука и микширование звуковых сигналов осуществляется корректно.

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

AW744Pro 4.07.104AW744Pro 4.06.2013SB Live! ValueSQ2500

Static: Voice 82.62.841.161.34
Static: Voice 163.383.621.271.28
Static: Voice 324.684.942.631.84
Streaming: Voice 82.612.811.11.42
Streaming: Voice 163.443.611.311.3
Streaming: Voice 324.634.982.721.89

Нетрудно заметить, что драйверы 4.07.104, рассчитанные под DirectX 7.0 загружают CPU несколько меньше, правда, разница настолько мала, что ею можно пренебречь. Тесты на загрузку CPU в реальных приложениях, которые будут приведены ниже, подтвердили это.

Отметим, что несмотря на аппаратную поддержку лишь 8 потоков DS3D, величина загрузки CPU при микшировании 32 потоков DS3D у карты AW744Pro находится на довольно низком уровне - менее 5%.

Что интересно, при использовании драйверов 4.07.104 ZD Audio Winbench показала поддержку 20 потоков DS и 8 потоков DS3D, а при использовании драйверов 4.06.2013 была показана аппаратная поддержка 18 потоков DS и 8 потоков DS3D. Видно, что у чипа YMF744B есть внутренние резервы, которые могут быть задействованы в будущем.

Заметим, что по результатам теста ZD Audio Winbench ни в коей мере нельзя судить о величине загрузки CPU звуковой картой в реальных приложениях, если кроме воспроизведения звуков, распространяемых по прямым путям, воспроизводится реверберация и/или ранние отраженные звуки, а также учитываются обструкции и окклюзии. К тесту от ZD следует относиться лишь как к информации об аппаратных возможностях звукового процессора и о качестве поставляемых в комплекте драйверов.

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

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

Перейдем к проверке возможностей карты по воспроизведению MIDI. Карта AW744Pro поддерживает на аппаратном уровне 64-х голосовую полифонию. Это означает, что сам синтез инструментов происходит аппаратно, а образцы инструментов берутся из звукового банка, который загружается в оперативную память компьютера. Для воспроизведения MIDI, карты на чипе YMF744B имеют специально сжатый 2 Мб банк 676 инструментов. Аналогичный ему применён в программном синтезаторе YAMAHA S-YXG100, хотя звучание у банка S-YXG100 явно хуже. Программному синтезатору присуща некоторая смазанность высокочастотных составляющих тембра (есть подозрение, что дело в 44,1 кГц частоте семплов, вместо 48 кГц у аппаратного синтезатора YMF744B). В комплекте к синтезатору S-YXG100 есть и десяток файлов под Sondius-XG. Не забудьте только включить его поддержку в настройках (SoftSinthetsizer VA в положение On).

И это все. Поддержки DLS1 нет, т.е. загрузить звуковые банки возможности пока нет. С этой поддержкой Yamaha тянет так же, как и для 724-го чипа. Там Yamaha, согласно данным на её сайте www.waveforce.com, обещала открыть такую возможность в драйверах к Windows2000. Нет никакой особой необходимости программно увеличивать число голосов (если только на вас не подействовала реклама от Creative). Кстати, не каждый крутой тонгенератор от Yamaha имеет больше 64 голосов. Большинству же пользователей вполне хватит и 64-х голосовой полифонии.

Если судить о качестве звучания MIDI по-сравнению с другими современными звуковыми картами, то тут ситуация следующая. Если брать не оптимизированные под конкретную карту midi-файлы (т.е. обычные караоке, GM, GS и прочие файлы), то звучание YMF744B будет субъективно ровнее и правдоподобнее. А для любителей творчества и больших семплов можно взять, например, профессиональную программу-семплер Gigasampler 1.5. Кто не знает, размер семплов там достигает гигабайта.

На коробке карты AW744Pro есть слова о том, что карта совместима со стандартом Sondiou-XG. Чип YMF744B поддерживает воспроизведение специальным образом подготовленных MIDI-файлов, используя технологю физического моделирования акустики музыкального инструмента Sondius-XG. Это означает, что для данного чипа лицензированы патенты, принадлежащие Стандфордскому университету (Stanford University) и Yamaha, список которых можно посмотреть на сайте www.sondius-xg.com. Технология Sondius-XG позволяет получать реалистичные тембры за счет физического моделирования распространения звука в реальных акустических музыкальных инструментах. В результате удается достичь гораздо более правдоподобного звучания, нежели получаемого при извлечении звуков с помощью синтезаторов, использующих таблично-волновой синтез, или, почти забытый всеми, FM-синтез. При этом у YMF744B имеется возможность использовать только один одноголосый vl-инструмент, и звучать этот инструмент не обязательно будет по центру - любой эффект изменит VA инструмент так, как нужно. К слову, более половины инструментов XG - одноэлементные. При этом остальные голоса довольно неплохо воспроизводятся обычным таблично-волновым синтезом (например, в качестве аккомпанимента на заднем фоне солирующему инструменту). Вообще, Sondius-XG довольно ресурсоёмкая технология и поначалу предполагалась только для встраивания в профессиональную карточку SW1000XG, стоимостью около $700. Там имеется целых два (!) таких голоса аппаратно. Но используется Sondius-XG только, если стоит явное упоминание о использовании определённого vl-банка в MIDI-файле. То есть если указан банк 12530 - получается щипковая деревянная и саксофонная группа, 12528 - медная группа, 0-128 - получается обычный табличный синтез. Демонстрационные файлы, оптимизированные под Sondius, можно найти на www.yamaha-xg.com.

Желающие могут загрузить и послушать не оптимизированный специальным образом (из контроллеров использовался только vibrato) файл, созданный Максимом Лядовым, который использует для демонстрации Sondius-XG соло тенора-саксофона и трубы: tenorsax&trumpet.mid (размер 29 Кб).

Другие интересные вещи можно найти на этом сайте: XG MIDI

В предлагаемом файле первый MIDI-канал идёт на тенор-саксофон. Шестой канал - труба Си. По умолчанию первый канал использует 12530-й vl-банк. Для того, чтобы почувствовать изменения от применения Sondius надо лишь попробовать поиграться с изменением банков в любом midi-редакторе. Можно также задействовать не один, а два (!) vl-голоса - один отдав играть звуковой карточке, а второй - программному синтезатору, соответсвующим образом распределив синтезаторы по MIDI-каналам. Отдав, к примеру, трубу на обработку S-YXG100, не забудьте выставить задержку (где-то 60..65 тиков), чтобы центральный процессор успел заранее обсчитать данные. Чтобы почувствовать прогресс, поставьте затем для контраста 0-й банк табличного синтеза.

Отметим, что программный синтезатор можно поставить в пару к любой звуковой карте и у вас появится поддержка и формата XG, и Sondius-XG.

Итак, продолжим испытния карты.

Карта AW744Pro имеет два линейных выхода и четырехканальный кодек, что позволяет вопроизводить через 4.1 акустику звук в следующих случаях:

  • проигрывание WAV и MIDI файлов
  • звук в играх при работе через DS3D и EAX 1.0
  • проигрывание mp3 файлов и других источников цифрового звука
  • проигрывание звуковой дорожки DVD фильмов при использовании таких программных плееров, как PowerDVD от CyberLink


Чтобы воспроизведение WAV и MIDI файлов было через четыре колонки нужно включить в панели управления карты опцию Special 4CH.

При воспроизведении любого аналогового стерео звука, например CD Audio или FM тюнер, звук воспроизводится только через фронтальные колонки.

Как любая нормальная PCI звуковая карта, плата AW744Pro позволяет воспроизводить одновременно со звуком в игре, звучание CD, MP3 плеера или FM тюнер без каких-либо проблем.

Чтобы оценить уровень загрузки CPU в реальных приложениях мы воспользовались игрой Half Life с патчем 1.0.0.9 (build 893) и установленным add-on Up-Link Lite. В игре Half-Life поддерживается воспроизведение 3D звука через интерфейсы A3D 2.0 и DS3D+EAX 1.0.

Мы использовали демо Survive, которое можно загрузить с сайта Reverend Pulpit. Эта демо довольно сильно нагружает CPU и видеоакселератор.

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

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

No soundSB Live! Value AW744Pro 4.06.2013AW744Pro 4.07.104SQ2500 A3D 2.0SQ2500 EAX320x240
 
50.646.3147.647.139.7248.02

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

No soundSB Live! Value AW744Pro 4.06.2013AW744Pro 4.07.104SQ2500 A3D 2.0SQ2500 EAX640x4801024x7681280x960
 
70.962.4563.9163.7851.7464.37
69.261.1362.9462.2352.0463.26
63.858.657.9457.3249.6260.66

Интересно, что при использовании референс драйверов с картой AW744Pro получились величины fps несколько меньшие, чем с драйверами 2013 от AOpen. Хотя, опять же, разница настолько мала, что ею можно пренебречь, списав на погрешность при измерениях.

Итак, все звуковые карты, которые использовались при тестировании, в той или иной степени загружают CPU системы. Это известный факт. Сильнее всех загружает CPU воспроизведение звука с использованием A3D 2.0. Объясняется это тем, что ранние отражения рассчитываются на основе данных о геометрии акустической среды, а это означает интенсивные расчеты, которые ложатся именно на CPU и интенсивный обмен с оперативной памятью системы. Отметим, что при работе через API DS3D + EAX 1.0, т.е. при воспроизведении прямых звуков и реверберации, карты практически одинаково загружают CPU, что говорит о высокой оптимизации драйверов. Если же вы хотите не просто слышать звуки, а ориентироваться по ним в игре, определяя на слух расстояние до источников звука и их расположение в пространстве, то пока альтернативы A3D 2.0 просто нет. За это придется заплатить потерей около 10-12 fps или около 20% fps. Отметим, что величина падения fps при использовании A3D 2.0 зависит и от конкретной игры. В разных играх поддержка A3D 2.0 выполнена с разным уровнем оптимизации, кроме того, графика в части игр менее сильно нагружает CPU.

Самым важным результатом является уровень загрузки CPU картой AW744Pro в игре, т.к. результаты получились на одном уровне с SB Live!, который имеет на борту звуковой DSP. Напомним, что у AW744Pro на борту находится HSP чип, т.е. расчет всех алгоритмов выполняется CPU системы. Видно, что применение HSP ничуть не хуже аппаратного решения. Это подтверждают и результаты при вопроизведении реверберации на карте SQ2500, где также все алгоритмы реверберации выполняет CPU. В общем, не нужно боятся HSP решений, т.к. они ничем не хуже аппаратных, по крайней мере в случае с воспроизведением реверберации через EAX 1.0.

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

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

На наш взгляд качество реализации поддержки реверберации у карты AW744Pro через интерфейс EAX 1.0 с использованием алгоритмов EnviornmentFX вполне сранимо со звучанием при использовании SB Live! и нам понравилось. Более того, сказать, в драйверах какой карты лучше реализована реверберация в играх очень сложно. Через некоторое время прослушивания очень сложно различить, на какой именно карте воспроизводится в данный момент звук. Это говорит о том, что алгоритмы хорошо оптимизированы и у каждой из карт движки реверберации работают практически одинаково.

В спецификации карты AW744Pro нигде не говорится о поддержке в драйверах интерфейса I3DL2 (или EAX 2.0). Нас это не сильно расстроило, так как для проверки такой поддержки у нас пока нет под рукой соотвесттвующей игры, а единственная демо EAX 2.0 от Creative запускается только на картах SB Live!. Тем не менее, скорее всего в будущем поддержка I3DL2 будет реализована в драйверах для карт на базе YMF744B.

Не смотря на то, что про поддержку A3D 1.0 в спецификации карты AW744Pro нигде не говорится, эта поддержка есть. Поддержка A3D 1.0 реализована на прграммном уровне с помощью специальной библиотеки audio3d.dll от Sensaura. С другой стороны, наличие поддержки A3D 1.0 сегодня становится все менее интересным. Большинство современных игр сразу ориентированы на поддержку A3D 2.0/3.0 и EAX. На практике в демо A3D 1.0 от Aureal звук был таким, как и ожидалось, т.е. на слух ничем не отличался от звучания на картах на базе Vortex/Vortex2.

При прослушивании звука в играх мы использовали наушники, две колонки с сабвуфером и четыре колонки с сабвуфером.

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

Звук при воспроизведении через 2 колонки нас не впечатлил. Нельзя сказать, что он был плохой, но ничего особенного. С другой стороны, если у вас только две колонки и сабвуфер и нет места и/или желания устанавливать тыловые твитеры, то звучание через 2.1 акустику вас вполне устроит. Единственно, когда действительно не хватает тыловой акустики, это при просмотре DVD видео и в некоторых динамичных играх, где враг может зайти со спины :=)

Прежде чем поделиться впечатлениями о прослушивании через 4.1 акустику, сделаем небольшое отступление.

Подключив к AW744Pro колонки FPS1000 от Cambridge мы не услышали четырехканального звука в играх - на тыловых колонках звука не было. С аналогичной ситуацией мы уже сталкивались при тестировании карты DMX от Terratec. Как и в том случае, мы подключили в качестве тыловых колонки Genius SP300 и звук появился, т.е. карта синал выдает. Установка референс драйверов 4.07.104 от Yamaha ничего не изменила, а вот установив самые последние драйверы 4.06.2013 от AOpen, мы услашали полноценный четрехканальный звук в играх через FPS1000. Итак, можно констатировать, что проблема все-таки в колонках, причем, возможно именно в конкретной партии PFS1000 (наш комплект был куплен прошлым летом). Одна из возможных причин, почему нет звука на тыловых колонках следующая: у входного и выходного каскада разные режимы по постоянному напряжению, и если не позаботиться об отсутствии их взаимовлияния (при помощи конденсатора), то они блокируют работу друг друга. Любой конденсатор, являясь нелинейным элементом, вносит свои искажения в сигнал (в том числе он сам "шумит", ухудшая соотношение сигнал/шум). Поэтому, в аудиотехнике стараются как можно меньше использовать разделительные конденсаторы. Но из-за этого возможны проблемы, подобные нашей. Для решения этой проблемы достаточно с помощью драйвера изменить режим работы выходного каскада, убрав постоянное смещение напряжения выходного каскада (которое при несогласовни каскадов выводит входной каскад из рабочей зоны) или уменьшив его на столько, чтобы оно перестало блокировать входной каскад усилителя колонок. Что, вероятно, и было сделано в новой версии драйверов.

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

Если вы счастливый обладатель MD плеера с возможностью записи, то вам будет приятно узнать, что за $22 карта AW744Pro предоставляет вам возможность использовать цифровой оптический выход S/PDIF типа TosLink. Теперь вам не нужно тратить деньги на покупку музыкального центра с оптическим цифровым выходом или идти к другу, чтобы переписать любимы CD на MD диск.

Если ваш CD/DVD ROM поддерживает возможность снятия звука через цифровой выход, то вам нужно лишь обзавестись CD Digtal Audio кабелем и можно приступать к записи. Если цифровой выход у вашего CD/DVD ROM не работает, то придется снимать данные с CD в цифровом виде через PCI шину.

На практике мы проверили работоспособность оптического цифрового выхода AW744Pro, подключив к нему плеер MZ-R55 от Sony. Мы записали несколько дорожек с CD Audio диска и пару MP3 файлов. Все прошло гладко и никаких претензитй у нас не возникло.

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