Windows audio session что это

Обновлено: 07.07.2024

В этом разделе описывается, как управлять громкостью звука при использовании Мфплай для воспроизведения звука и видео.

Мфплай предоставляет следующие методы управления звуковым томом во время воспроизведения.

Метод Описание
Имфпмедиаплайер:: Сетбаланце Устанавливает баланс между левым и правым каналами.
Имфпмедиаплайер:: Сетмуте Выключает или выключает звук.
Имфпмедиаплайер:: Сетволуме Задает уровень громкости.

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

В ВАСАПИ каждый аудиопоток принадлежит только одному сеансу аудио, который представляет собой группу связанных звуковых потоков. Как правило, приложение поддерживает один сеанс звука, хотя приложения могут создавать более одного сеанса. Программа системного управления громкостью (Сндвол) отображает регулятор громкости для каждого сеанса звука. С помощью Сндвол пользователь может настроить громкость звукового сеанса за пределами приложения. Этот процесс показан на следующем рисунке.

В Мфплай элемент мультимедиа может иметь один или несколько активных звуковых потоков (обычно только один). На внутреннем уровне Мфплай использует потоковый рендеринг звука (САР) для отображения звуковых потоков. Если вы не настроите его, то САР присоединяется к сеансу аудио по умолчанию для приложения.

Методы аудио Мфплай управляют только потоками, принадлежащими текущему элементу мультимедиа. Они не влияют на том для других потоков, принадлежащих к одному сеансу звука. С точки зрения ВАСАПИ методы Мфплай управляют уровнями громкости каждого канала , а не главным уровнем громкости. Этот процесс показан на следующем рисунке.

Важно понимать некоторые последствия этой функции Мфплай. Во первых, приложение может настраивать громкость воспроизведения, не затрагивая другие звуковые потоки. Эту функцию можно использовать, если Мфплай для реализации перекрестного затухания звука, создавая два экземпляра объекта Мфплай и настраивая том отдельно.

Если вы используете методы Мфплай для изменения тома или отключения состояния, изменения не отображаются в Сндвол. Например, можно вызвать сетмуте , чтобы отключить звук, но сндвол не будет отображать сеанс как отключенный. И наоборот, если Сндвол используется для корректировки объема сеанса, изменения не отражаются в значениях, возвращаемых имфпмедиаплайер:: или имфпмедиаплайер::-приглушением.

Для каждого экземпляра объекта Player Мфплай эффективный уровень громкости равен фплайерволуме × Фсессионволуме, где фплайерволуме — это значение, возвращаемое методом GetObject , а фсессионволуме — главный том для сеанса.

Для простых сценариев воспроизведения может быть предпочтительнее использовать ВАСАПИ для управления звуковым томом для всего сеанса, а не использовать методы Мфплай.

Пример кода

Ниже приведен класс C++, который обрабатывает основные задачи в ВАСАПИ:

  • Управление томом и выключение его состояния для сеанса.
  • Получение уведомлений при каждом изменении тома или выключении его состояния.

Объявление класса

CAudioSessionVolume Объявление класса реализует интерфейс иаудиосессионевентс , который является интерфейсом обратного вызова для событий сеанса аудио.

Получение указателей интерфейса ВАСАПИ

CAudioSessionVolume использует два основных интерфейса ВАСАПИ:

    управляет сеансом аудио. управляет уровнем громкости и отключением состояния сеанса.

Чтобы получить эти интерфейсы, необходимо перечислить конечную точку аудио, используемую в САР. Конечная точка аудио — это устройство, которое фиксирует или потребляет звуковые данные. Для воспроизведения звука конечная точка — это просто докладчик или другие звуковые выходные данные. По умолчанию в САР используется конечная точка по умолчанию для роли устройства еконсоле . Роль устройства — это назначенная роль для конечной точки. Роли устройств задаются перечислением ероле , которое описано в статье Основные API-интерфейсы для аудио.

В следующем коде показано, как перечислить конечную точку и получить интерфейсы ВАСАПИ.

Управление томом

CAudioSessionVolume Методы, управляющие звуковым томом, вызывают эквивалентные методы исимплеаудиоволуме . Например, CAudioSessionVolume::SetVolume вызывает исимплеаудиоволуме:: сетмастерволуме, как показано в следующем коде.

Хочу поделиться опытом по теме звука в Windows 7.
На самом деле, всё не так плохо, как сначала кажется, и я вам сейчас это продемонстрирую.
Начну сначала.

О звуковых подсистемах

Windows XP

Тут схема звуковой подсистемы примерно следующая:

XP Audio

Vista, Seven

И вот, жили наши энтузиасты-звукари, горя не знали, но тут подоспела новая ОС от Microsoft, которая конечно же обязана была содержать кардинальные изменения (и не так уж важно, в какую сторону).
Таким образом, в рамках новой концепции абстракции от оборудования, Windows Vista, кроме всего прочего, получила полностью переработанную подсистему ввода/вывода звука. И конечно же, переработали её не самым лучшим образом.
Вот, какой вид она приняла в этот раз:

Vista-7 Audio


API — Application Programming Interface
APO — Audio Processing Object
CPT — Cross Process Transport
KST — Kernel Streaming Transport

  1. Приведение звуковых потоков от разных приложений к одному виду (указанному в настройках Windows) — т.е. к одному количеству каналов, частоте дискретизации, глубине квантования.
  2. Микширование потоков.

+ базовые возможности обработки для звуковых карт не умеющих обрабатывать звук «своими силами»
+ поддержка на входе практически любого формата аудио — многоканальное аудио с частотой дискретизации до 192 кГц и глубиной квантования до 32-bit float
+ повышенная стабильность (спорное утверждение, в принципе)

— принудительный ресемплинг сомнительного качества
— микширование каналов без эффектов окружения (или же они очень примитивны)
— сужение динамического диапазона (особенно в режиме 16 бит)
— отсутствие доступа к аппаратному DSP, т.е. потеря всего его функционала, включая эффекты EAX в играх (в т.ч. и на картах, где EAX эмулировался программно — так как в WASAPI такого понятия даже нет нет)
— щелчки, хрипы и прочие последствия связанные с использованием ресурсов ЦП.

Как видно, больше всего не повезло компьютерным меломанам-аудиофилам (надеюсь, никто не обидится) и геймерам.
Люди же, не особо интересующиеся тем, что происходит со звуком на пути к звуковой карте — возможно даже получат определенное улучшение (хотя, опять же, им скорее всего всё равно — лишь бы работало)
А теперь, о том как преодолеть большинство из вышеперечисленных проблем, ибо, к великому несчастью, с выходом так любимой многими Windows 7, Microsoft никакой революции в плане звука нам не устроила.

Меломанам: точный вывод звука

1. Как я писал выше, большинство приложений для вывода звука в Windows 7 (хотят они того, или нет) используют режим WASAPI Shared. Но есть и другой режим — WASAPI Exclusive. Если руководствоваться блок-схемой, то в этом режиме отбрасывается всё, что лежит между Application Programming Interface и Kernel Streaming Transport — грубо говоря, звук идет непосредственно от приложения через интерфейс WASAPI на звуковую карту.
Но надо сделать замечание: так как в этом режиме отключен микшер WASAPI, а к микшеру звуковой карты доступа всё равно нет (ибо нет DirectSound), при использовании приложением эксклюзивного режима, воспроизведение любого другого источника через WASAPI становится невозможным.
Но, так или иначе, мы получаем по-битовый вывод аудио на звуковую карту.

2. Есть и другой способ. Если ваша звуковая карта имеет родной драйвер ASIO — вам крупно повезло. ASIO функционирует совершенно отдельно от WASAPI, так что, при прослушивании музыки системные звуки не будут отключаться — потоки ASIO и WASAPI будут микшироваться самой звуковой картой.
Вывод: если ваш драйвер ASIO не вызывает сомнений, используйте его.
Да, чуть не забыл — ASIO4ALL использовать нежелательно — как и Kernel Streaming, в этой ОС он работает очень нестабильно (судя по всему, из-за того, что другие звуки, идущие через WASAPI, периодически блокируют Kernel Transport).

Теперь непосредственно к делу.

Конечно же, для прослушивания музыки я рекомендую foobar2000 с плагином ASIO Output или WASAPI output support — ни за что другое ручаться я не могу. Подробная настройка вывода звука через foobar2000 описана здесь.

Любителей AIMP я разочарую — WASAPI Exclusive не предполагается даже в AIMP3 beta (только Shared), а ASIO в нем пока что сильно хромает (не умеет выставлять правильное количество каналов вывода, что приводит к нехорошим результатам).

Пользователям Winamp могу предложить плагины ASIO output Plugin или даже такое: OpenAL Output — кстати, еще один способ обхода WASAPI (видно из блоксхемы).

Для кинолюбителей: о видеоплеерах

C видеоплеерами ситуация практически аналогичная. Нам необходимо вывести звук на карту в первозданном виде. Особенно это важно, если вы хотите выполнить преобразование многоканального звука в стерео с использованием аппаратных эффектов вроде CMSS-3D в Creative X-Fi (объемное звучание в наушниках или стерео колонках). Для этого звук должен поступить на звуковую карту в многоканальном виде. Но вот беда: WASAPI в общем режиме преобразовывает каналы до кол-ва указанного в настройках Windows. Но даже если вы укажите там, скажем, 5.1, — этот параметр синхронизируется с настройками драйвера звуковой карты, и DSP не будет преобразовывать звук — так как сигнал на входе соответствует по кол-ву каналов настройкам. Т.е. тут принцип таков: в настройках драйвера звуковой карты должна стоять реальная конфигурация подключенного устройства воспроизведения (наушники, АС), а звук на карту должен поступать не измененным.
И так, тут нам опять понадобится WASAPI Exclusive. Я бы посоветовал использовать Media Player Classic HomeCinema в связке с DirectShow фильтром ReClock (только для 32-битного MPC), который, кроме всего прочего, умеет выводить звук на WASAPI Exclusive.

Геймерам: трехмерное позиционирование, EAX

  • Creative ALchemy (последняя на момент написания статьи версия) для карт Audigy и X-Fi от Creative
  • и даже 3D SoundBack для карт Realtek HDA, которые, кстати говоря, поддерживают EAX 2.0 (хоть и программно)

Выводы

И так, вот вроде бы мы имеем всё, чего нам так не хватало сразу после перехода с Windows XP на Windows 7. Конечно, не без лишней мороки, но, что делать — такие уж задачки подкинула нам фирма Microsoft.

Левчук Александр Николаевич©

Windows представила уже давно новую серию API-интерфейсов для звука под названием CoreAudio, который включает в себя WASAPI (Windows Audio Session API), новый API для захвата и рендеринга аудио. Конечно, всегда были способы работы со звуком в предыдущих версиях Windows. И они все еще доступны в ХР, Vista, 7 и т.д., поэтому нет необходимости двигаться, если вы не хотите.

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

Во-первых, в Vista, ХР и далее появился совершенно новый механизм микширования звука, поэтому WASAPI дает вам возможность подключиться непосредственно к нему, а не проходить через уровень абстракции. Причины нового аудио движка:

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

Группировка аудио потоков ВАСАПИ. Вы можете сгруппировать все аудиопотоки из одного приложения и отдельно контролировать их громкость. Другими словами, регулятор громкости для каждого приложения. Это немного сложнее, чем может показаться на первый взгляд, потому что некоторые приложения, такие как IE, содержат все виды процессов и плагинов, которые все воспроизводят звук по-своему. Во-вторых, предполагалось поддерживать приложения для профессионального аудио, которые должны быть как можно ближе к металлу, и сводить задержку к минимуму.

АСИО

АСИО

Изучаем WASAPI

Документация по WASAPI довольно скудна, несмотря на то, что Vista, ХР, 7 выпускаются уже давно. Так кто-нибудь на самом деле использует WASAPI? Ну, я использую множество профессиональных аудио приложений, каждое из которых предлагает пользователю выбор из множества API, и все же ни одно из них не добавило WASAPI в список. Даже Cakewalk , который, похоже, очень лоялен к Microsoft, придерживался потоковой передачи ядра для доступа к новой модели драйвера WaveRT, а не к использованию WASAPI.

foobar2000 Wasapi

foobar2000 Wasapi

Беда в том, что WASAPI не предлагает ничего такого, чего нет в WDM Kernel Streaming. А поскольку Windows XP,7 не выглядит так, как будто она очень долго не будет использоваться, написание нового приложения на основе WASAPI не имеет особого смысла.

Но как насчет чуть менее профессиональных аудио приложений?

Ustars-ЦАП

Ustars-ЦАП

Режимы рендеринга

Это обеспечивает максимально возможную производительность, как и выбор всех профессиональных аудио приложений, таких как Cubase, SONAR, REAPER, Pro Tools и т. Д. Но, как я уже сказал, они не используют WASAPI. Они используют ASIO или Kernel Streaming.

Ustars ЦАПы

Ustars ЦАПы+ 11.28 РЕ

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

С какой стати Microsoft не могла дать нам SRC, зачем нужен WASAPI?

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

Будущее WASAPI

ЦАП недорого

ЦАП недорого

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

Кабель Supra Dual RCA + ЦАП 11.38

Кабель Supra Dual RCA + ЦАП 11.38

В компьютерной системе, если вам нужно выводить звук, вы должны использовать особый метод для управления звуковыми чипами, такой как кодек, ЦАП и так далее. В процессе мобилизации звукового чипа необходимы некоторые специальные интерфейсы прикладного программирования, то есть аудио API. Используя аудио API, аудио программы, такие как проигрыватели, могут создавать программы вывода непосредственно для API, не используя разные инструкции для разных чипов.

Обычными аудио API являются MME, DS, WDM, KS, WASAPI, ASIO и т. Д.



MME(WaveIn/WaveOut)

MME - это наиболее распространенный Windows Audio API, который называется MutiMedia Extensions, то есть технология расширения мультимедиа. Он имеет долгую историю и хорошую совместимость, и в основном все устройства на рынке могут быть хорошо поддержаны. Он относится к высокоуровневому API и не взаимодействует напрямую с аппаратным обеспечением, ему необходим послойный интерфейс для доступа к аудиооборудованию, что также приводит к высокой задержке. Хотя эта задержка не приводит к ухудшению качества звука при воспроизведении звука, она оказывает большее негативное влияние на обработку и запись звука.

MME использует waveIn **** / waveOut **** API для завершения обработки аудио. После запуска программы используйте функцию серии waveIn ****, чтобы открыть функцию ввода звуковой карты, одновременно установите для буфера достаточно малое значение, а затем начните запись аудиоданных в заданный буфер, а затем в буфер, когда буфер заполнен. (WAVHDR) можно напрямую добавить в очередь вывода функций серии waveOut ****. Этот метод относительно прост в реализации. Недостатком является то, что MME является высокоуровневым API, поэтому ему необходимо пройти через все этапы системной обработки во всем процессе, что приводит к большой задержке. Если буфер слишком мал, он будет вызывать прерывистый звук. Как правило, минимальная задержка может составлять примерно до 120 миллисекунд.

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

DirectSound(DS)

После выпуска Windows95 Microsoft обнаружила, что геймеры по-прежнему готовы использовать DOS в качестве игровой платформы, поскольку разработчики игр обнаружили, что Windows95 не подходит для выполнения видео и аудио задач, поскольку мультимедийные функции, включенные в WinAPI32, слишком медленны для ответа. Затем Microsoft выпустила знаменитый DirectX, DirectX представляет собой набор API аудио и видео DSP (эффект) API аудио. DirectSound является его частью. DirectSound разделен на 2D / 3D. DirectSound имеет эффекторные функции, так что вы также можете добавлять эхо и другие эффекты во время вывода, чтобы имитировать реальную звуковую среду. DirectSound в основном предоставляет сервисы для игр.На некоторых проигрывателях и аудиоредакторах DirectSound также используется в качестве API эффектов в реальном времени. DirectSound фокусируется на выводе, а входные данные отсутствуют. Пока аппаратное обеспечение поддерживает, DirectSound может значительно ускорить ответную реакцию. Скорость отклика звука в Windows была улучшена до нового уровня. За исключением некоторых древних звуковых карт, почти все звуковые карты поддерживают DirectSound, по крайней мере, DirectSound 2D.

В ноябре 2006 года Microsoft выпустила Windows Vista. Vista неожиданно отказалась от поддержки аппаратного уровня DirectSound 3D (HAL), то есть те звуковые карты, которые поддерживают аппаратное ускорение DirectSound 3D, утратили свои возможности ускорения. Недавно выпущенная Windows 7 наследует эту особенность Vista, а аппаратное ускорение DirectSound 3D выходит из исторического прошлого.

DirectX Sound фокусируется на выводе звука и может напрямую обращаться к оборудованию, а скорость отклика была значительно улучшена. Установите режим работы DirectSound на самый высокий уровень, обычно минимальная задержка может составлять около 60 миллисекунд.

WDM

WDM - это аббревиатура от Windows Driver Module, который имеет низкую задержку и поддерживает несколько аудиопотоков. Это новая функция Windows 98 SE / ME / 2000. После появления драйвера WDM люди обнаружили, что звуковые карты, которые ранее не поддерживали несколько аудиопотоков, могут воспроизводить несколько аудиопотоков. WDM также можно рассматривать как набор API. Объектом связи является драйвер, а не обычное приложение. Пока драйвер поддерживает WDM, будет добавлено много функций, таких как таблица мягких волн общего назначения. С точки зрения ввода и вывода, WDM лучше, чем MultiMedia Extensions и DirectSound. Теперь почти все звуковые карты, которые не были исключены, поддерживают WDM. WDM может значительно уменьшить задержку звуковой карты. В некоторых случаях она может быть даже сопоставима с ASIO. В некоторых профессиональных программах для редактирования и создания аудио поддерживается WDM.

MME имеет высокую задержку, а Direct Sound не предназначен для профессионального звука. Появление WDM восполняет эти недостатки. WDM напрямую связывается с драйвером аудиочипа, сокращая большое количество промежуточных каналов и снижая задержку до нового уровня. В настоящее время многие профессиональные аудиопрограммы предоставляют интерфейсы WDM.

Так называемая технология WDM заключается в том, что приложения напрямую вызывают базовые системные службы. Общий процесс - сначала принять данные из буфера, а затем вывести их. Под WinXP аудио WDM также известно как Kernel Streaming (потоковое аудио ядра). Преимущество этой схемы состоит в том, что задержка может быть чрезвычайно низкой, обычно минимальная задержка может составлять от 1 миллисекунды до 10 миллисекунд, и при определенных обстоятельствах память с невыгружаемой памятью, прямой аппаратный IRP и RT могут использоваться для монополизации всех ресурсов звуковой карты.

Kernel Streaming(KS)

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

Тем не менее, Kernel Streaming также имеет свои ограничения: во-первых, использование этого API будет непосредственно занимать аудиооборудование. Когда вы слушаете песню, вы не слышите звук QQ, во-вторых, этот API не имеет функции ввода звука и вы не можете использовать микрофон.

Следует отметить, что с тех пор, как Vista и Win7 начали отказываться от ввода-вывода, зависимого от kmixer и dma, потоковое ядро ​​не применимо к Vista и Win7.

UAA(WASAPI)

UAA - это новейшая звуковая архитектура Windows, которая была представлена ​​при запуске Vista. UAA называется Universal Audio Architecture, то есть универсальной аудио архитектурой, а API для управления звуковыми разговорами - WASAPI (Windows Audio Session API). WASAPI может обрабатывать каждую группу аудио разговоров индивидуально, что имеет большое значение.

Например, при использовании WASAPI, если вы воспроизводите музыку с частотой дискретизации 44,1 кГц, но QQ с частотой дискретизации звука 48 кГц звонит снова, вам не нужно решать ее с реверберацией, и преобразование частоты дискретизации не будет (SRC). Ухудшается качество звука. На самом деле аудио API WASAPI является стандартным для многих любителей музыки.

WASAPI (Windows Audio Session API) - это API-интерфейс, относящийся к аудио-архитектуре UAA (Universal Audio Architecture), которая была добавлена ​​после Windows Vista. WASAPI позволяет передавать немодифицированные битовые потоки на аудиооборудование, тем самым избегая помех SRC (преобразование частоты дискретизации). Для Windows XP каналом, аналогичным WASAPI, является потоковое ядро, упомянутое выше. WASAPI можно использовать только в Vista и Win7 и выше.

Microsoft утверждает, что Vista / 7 начала отказываться от ввода-вывода, зависящего от kmixer и dma, и разработала так называемый WaveRT (Wave RealTime). Их WASAPI, MMCSS и т. Д. Используют WaveRT в качестве ядра, а WaveRT имеет Есть собственный микшер, но вы можете обходить микшер, пока вы запускаете эксклюзивный сенсорный режим, отключите звук всех других программ. MMCSS позволяет вам увеличить приоритет ввода / вывода звука на самые высокие тактовые частоты. Что Microsoft хочет сделать, так это на самом деле использовать таймер управления в реальном времени Аудиопоток, без dma, напрямую обменивается данными с аудиоустройствами UAA или даже позволяет программным часам звуковой карты или аудиоинтерфейса напрямую управлять аудиоданными, эта функция должна быть очень похожа на ASIO, даже если это режим совместного использования WASAPI, SRC больше не существует, но в консоли вы можете свободно устанавливать частоту дискретизации общего назначения, размер бита и каналы после совместного использования микса, чтобы можно было сохранить исходный сигнал 44100 Гц, и это не будет SRC, а теперь все Материнская плата Intel или чипы Intel уже имеют HPET (высокоточный таймер событий), который вы можете сделать Обработка ideo и аудио более точно обрабатывает высокую частоту дискретизации и низкую задержку шины в режиме реального времени, так что число раз, когда на события потока данных можно реагировать в секунду, значительно увеличивается, но я не знаю, есть ли у AMD его.

ASIO

Полное название ASIO - «Audio Stream Input Output», которое представляет собой аудиотехническую спецификацию, предложенную немецкой компанией Steinberg, и является одним из стандартов аудио API. Основными особенностями ASIO являются низкая задержка и многоканальная многоканальная передача. ASIO полностью избавилась от централизованного управления оборудованием операционной системой Windows и может осуществлять многоканальную передачу между программным обеспечением обработки звука и аппаратным обеспечением, одновременно сокращая время реакции системы на аудиопоток до минимального.

Собственный драйвер Windows для MME имеет время задержки 200

500 мс, DirectSound 50

100 мс и Mac OS Sound Manager 20

50 мс. Когда используется ASIO, буфер может быть до Ниже 10 миллисекунд также бывают случаи, когда она меньше 1 миллисекунды из-за лучшей среды. Следовательно, обработка в реальном времени может быть достигнута в операциях записи и производства музыки.

Низкая задержка имеет большое значение для записи звука и пост-производства, но влияние на воспроизведение звука является спорным. Некоторые энтузиасты считают, что низкая задержка ASIO может значительно уменьшить дрожание звука (джиттер), тем самым улучшая качество звука, но есть еще одно высказывание, что ASIO предъявляет строгие требования к аппаратным и программным средам. Если звуковой драйвер написан на общем уровне, Легко создавать такие проблемы, как треск и холодный звук.

EAX

EAX расшифровывается как Environmental Audio Extensions, который не является набором независимых API-интерфейсов, а представляет собой набор 3D-API, созданных на основе DirectSound 3D, его разработчик - известный Creative. Creative запустила EAX, чтобы конкурировать с A3D и в конечном итоге завоевать рынок.После инновационного приобретения Aureal в EAX были внедрены некоторые передовые алгоритмы A3D.

OpenAL

OpenAL - это бесплатный кросс-платформенный аудио-3D API, разработанный Loki Software, но вскоре после этого Loki Software потерпел неудачу: сообщество свободного программного обеспечения заняло дальнейшее развитие, а фактическим лидером стал Creative. Поскольку Vista отказалась от поддержки аппаратного ускорения DirectSound 3D, Creative также оказалась в затруднительном положении: продолжать разработку EAX можно только усилив поддержку OpenAL. Creative надеется на реконструкцию EAX на основе OpenAL. Достичь этого шага несложно, но для широкого использования он нуждается в широкой поддержке со стороны производителей игр. Сегодня поддержка OpenAL по-прежнему не так хороша, как DirectSound 3D, и Creative потребуется время, чтобы воспроизвести его славу. Но если вы попытаетесь добиться успеха, вы можете получить большие преимущества, потому что OpenAL является единственным кроссплатформенным API.

Читайте также: