Directsound или wasapi что лучше?

Как вернуть качественный звук в Windows 7 — побитовый вывод, аппаратные эффекты (EAX и пр.)

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

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

Windows XP

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

В данном случае через интерфейс DirectSound ПО имело прямой доступ к аппаратным ресурсам звуковой карты — микширование, преобразование частоты дискретизации, различные эффекты (включая 3D позиционирование) — в общем, всё, что было необходимо, как для музыки/фильмов, так и для игр.
Конечно, были свои проблемы, в частности с микшером Windows (неточная регулировка громкости, принудительная некачественная передискретизация всего и вся до 48 кГц), но они вполне легко обходились с помощью Kernel Streaming (тот самый поток, идущий мимо kmixer), а иногда даже с помощью хороших драйверов (у Creative например таковые появись только в линейке X-Fi. На аудиокартах Audigy микшер ведет себя не вполне адекватно, но, при желании, справиться с этим не сложно).

Vista, Seven

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


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

Теперь поясню. Суть такова: все программы, заточенные под вывод на DirectSound и ничего не знающие о новом интерфейсе, подключаются к WASAPI в общем режиме (WASAPI Shared), далее происходит следующее:
Составляющие WASAPI (используя только ресурсы центрального процессора), выполняют все нужные (и не очень) преобразования:

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

Плюс к этому надо добавить возможность наложения в процессе обработки программных эффектов (алгоритмы которых заложены в драйверах звуковой карты). Например, для звуковых карт Creative X-Fi есть убогая эмуляция эффекта CMSS-3D.
Качество всех этих обработчиков, само собой, не самое высокое.
Далее всё это отправляется через Kernel Transport на звуковую карту.
Теперь давайте попытаемся объективно оценить преимущества и недостатки новой системы:

+ базовые возможности обработки для звуковых карт не умеющих обрабатывать звук «своими силами»
+ поддержка на входе практически любого формата аудио — многоканальное аудио с частотой дискретизации до 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.
И так, для тех, кто, может быть, еще не в курсе: выход найден — OpenAL. Эта библиотека имеет доступ ко всему, что касается аппаратных эффектов трехмерного позиционирования источников звука и т.н. Environmental Audio Extension — вплоть до версии 5.0.
Кроме того, что продвинутые разработчики таких игр, как например S.T.A.L.K.E.R: Call of Pripyat построили движки своих игр на OpenAL, для остальных игр, рассчитанных на DirectSound, было разработано две программы, преобразующих вызовы DirectSound в OpenAL:

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

Выводы

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

Hi-Fi и High-End техника или энциклопедия звука и видео

ЗВУКОМАНИЯ

Hi-Fi и High-End техника или энциклопедия звука и видео

WASAPI

WASAPI

WASAPI — это драйвер с низкой задержкой, когда он используется в монопольном режиме и напрямую взаимодействует с драйвером аудиоустройства. Это собственный ASIO от Microsoft.

WASAPI

ASIO является проприетарным протоколом. Вы можете использовать только то, что поддерживает ваше аудиоустройство.

Читайте также  Шины м s что это значит?

WASAPI является неотъемлемой частью Windows (Vista, ХР, 7, 10 и выше).

В принципе это работает со всеми аудио устройствами.

На практике не все комбинации аудиоприложений и драйверов аудиоустройств будут работать правильно с использованием этого интерфейса.

АСИО

В эксклюзивном режиме никакое другое приложение не может использовать ЦАП или звуковую карту.

Нет больше системных звуков и даже на полную громкость в стерео!

скачать WASAPI + музыка во флак можно ЗДЕСЬ

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

  • Приложение, использующее WASAPI, может сделать это, настроив аудиоустройство в соответствии с источником.
  • В этом случае у нас почти идеальное воспроизведение.
  • Это позволяет автоматически переключать частоту дискретизации.
  • Автоматическое переключение частоты дискретизации и аппаратное обеспечение

Ustars_ЦАП + усилитель в классе А

В случае USB-ЦАП (с использованием драйверов основного режима) вы получаете автоматическое переключение частоты дискретизации с использованием эксклюзивного WASAPI.

  • Большую часть времени встроенный звук позволяет автоматически переключать частоту дискретизации.
  • Многие дискретные звуковые карты не допускают автоматического переключения с использованием WASAPI.
  • Если дискретная звуковая карта поставляется с ASIO, лучше использовать этот драйвер, если вы хотите автоматическое переключение частоты дискретизации.
  • Разработчик также может выбрать источник информации о возможностях аудиоустройства.
  • Если источник монофонический, а аудиоустройство 2-канальное, пользователь может решить отправить один и тот же сигнал на оба канала.

Если частота дискретизации источника не поддерживается аппаратными средствами, например, источником 192 кГц с аудиоустройством 96 кГц, программа, использующая WASAPI, должна выполнить SRC (преобразование частоты дискретизации).

Это можно сделать, вызвав SRC, предоставленный Windows, или тот, который предоставлен приложением.

Аудио архитектура Windows начиная с Виста и далее

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

Плюсы аудио движка:

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

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

Концепция конечных точек, а не аудиоустройств — для пользователей Windows проще отправлять звуки в «наушники» или записывать звук с «микрофона», а не требовать от них технической информации о звуковой карте, установленной в их системе.

Группировка аудио потоков

В Vista, ХР и выше вы можете сгруппировать все аудиопотоки из одного приложения и отдельно контролировать их громкость. Другими словами, регулятор громкости для каждого приложения. Это немного сложнее, чем может показаться на первый взгляд, потому что некоторые приложения, такие как IE, содержат все виды процессов и плагинов, которые все воспроизводят звук по-своему.

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

WASAPI

Приложения, плееры отправляющие звук на микшер, должны следить за тем, чтобы частота дискретизации соответствовала частоте микшера по умолчанию. Это значение по умолчанию установлено на вкладке «Дополнительно» в звуковой панели.

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

Если вы не применяете какие-либо эффекты для каждого потока или глобальные эффекты и

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

foobar2000 Wasapi

Эксклюзивный режим ВАСАПИ

  • WASAPI в эксклюзивном режиме обходит аудио движок (микшер).
  • Преобразование в 32 применяемое микшером, исключаются.
  • Он также блокирует аудиодрайвер; никакое другое приложение не может использовать аудиоустройство.
  • Общий режим
  • Это эквивалентно DS (Direct Sound).
  • Весь звук отправляется на микшер.
  • Приложение должно вызывать преобразование частоты дискретизации, если частота дискретизации отличается от значения, установленного на аудио-панели win.

Ustars ЦАПы + 11.28 ЦАПРЕ

Как правило, приложение отвечает за предоставление аудиобуферов Audio Engine в формате, который поддерживается аудио-движком. Форматы аудиосэмпла состоят из частоты дискретизации, битовой глубины и количества каналов. Собственная битовая глубина сэмплов, которую Audio Engine использует для внутреннего использования, составляет 32-битное число с плавающей запятой. Однако Audio Engine принимает большинство целочисленных форматов, которые до 32-бит. Кроме того, Audio Engine конвертирует большинство форматов в представление с плавающей запятой внутри.

Панель управления звуком задает требуемую частоту дискретизации в качестве «Формат по умолчанию». Формат по умолчанию определяет формат, который используется для предоставления контента аудиоустройством. Количество каналов, которые поддерживает Audio Engine, обычно является количеством АС для аудиоустройства.

Изменение частоты дискретизации и глубины в битах данных называется преобразованием частоты дискретизации. Приложение может решить написать свой собственный преобразователь частоты дискретизации. В качестве альтернативы, приложение может решить использовать API-интерфейсы, такие как PlaySound, WAVE, цифровой интерфейс музыкальных инструментов (MIDI) или микшер. В этих API преобразование происходит автоматически. Когда это необходимо, проигрыватель Windows Media выполняет преобразование частоты дискретизации в своем внутреннем конвейере Media Foundation.

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

Релейный предусилитель обзор

WASAPI можно использовать в режиме push и в режиме pull (стиль события).

  • У пары асинхронных ЦАП USB были всевозможные проблемы с использованием режима push из-за проблем с буфером в WASAPI.
  • Это было решено с помощью стиля WASAPI — Event.
  • Звуковое устройство извлекает данные из системы.
  • Большую часть времени вы не можете выбрать режим. Это просто зависит от того, как программист реализовал WASAPI в плеере.
  • Разница между выполнением push и выполнением события заключается только в том, что отвечает за то, когда хост должен отправлять звук на оборудование.

На основе событий:

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

На основе push:

  • Хост сообщает API, что он cообщит, когда наступит подходящий момент для отправки аудио.
  • Хозяева готовят аудио, чтобы он был готов, когда API готов.
  • Хосты спрашивают API, готов ли он.
  • Если он не готов, ждет некоторое время и снова спрашивает
  • Когда API отвечает, что он готов, хост отправляет подготовленный буфер. Он также может подготовить буфер в это время и отправить его.

WASAPI — Стиль события

Режим вывода позволяет звуковому устройству извлекать данные из плеера. Этот метод поддерживается не всеми аппаратными средствами, но рекомендуется при его поддержке.

WASAPI — Event Style имеет несколько преимуществ:

  • Это позволяет аудиоподсистеме извлекать данные (когда установлены события) вместо передачи данных в систему. Это позволяет уменьшить размер буфера задержки и удалить ненадежный слой Microsoft.
  • Он создает, использует и уничтожает все интерфейсы WASAPI из одного потока.
  • Аппаратное обеспечение (или интерфейс WASAPI) никогда не видит паузы или сброса вызовов. Вместо этого, в режиме паузы или сброса тишина подается в тянущую петлю. Это устраняет необходимость в хакерских атаках для карт, окружающих свои буферы при паузе, сбросе и т. д. (ATI HDMI и т. д.).
  • Это позволяет получить более прямой путь передачи данных к драйверу / оборудованию.
  • Основной «цикл извлечения» использует круговой буфер без блокировки (система, которую Дж. Ривер построил для ASIO), так что полное выполнение запроса извлечения выполняется максимально быстро.

Для использования WASAPI требуется плеер, поддерживающий этот драйвер в эксклюзивном режиме.

Я думаю, что эксклюзив WASAPI немного более прозрачен по звуку, чем DS (Direct Sound), аудио-движок Win по умолчанию.

Однако, поскольку все, что отправляется на конечную точку аудио, должно точно соответствовать возможностям этого устройства, WASAPI также более проблематичен. Малейшее несоответствие по количеству каналов, битовой глубине или частоте дискретизации, и вы слышите тишину.

Советы по АСИО и ВАСАПИ

  1. Настройте медиаплеер для WASAPI и DS и выполните тест прослушивания.
  2. Если вы не слышите разницу, придерживайтесь DS.
  3. Если вы слышите разницу, используйте тот, который вы предпочитаете.
  4. WASAPI вообще не работает с дискретными звуковыми картами.
  5. В случае с USB ЦАП это лучший путь качеств.звука.
Читайте также  Сложно ли ездить на механике?

ЦАП 11.38 + ТДС 5

ИТОГИ. WASAPI — это интерфейс с низкой задержкой для драйвера аудиоустройства.

Обход микшера — это все, что он делает. Разработчик или пользователь приложения, использующие WASAPI, должен убедиться, что свойства аудиофайла + плеера и возможности аудиоустройства (внешний ЦАП) совпадают.

Как с максимальным качеством вывести звук из компьютера под ОС Windows

Сохранить и прочитать потом —

Ваш персональный компьютер может располагать CD-приводом или не быть им оснащенным – так или иначе он способен хранить в своей памяти библиотеку аудиофайлов или же получать их путем стриминга с каких-либо ресурсов. В любом случае музыкальный сигнал формата PCM (или реже DSD) может быть выведен для цифроаналогового преобразования сторонними средствами. Чаще всего это делается посредством USB-соединения ПК с внешней звуковой картой или аудио-ЦАП. Музыку можно слушать и с выхода на наушники самого компьютера (его динамики рассматривать не будем), но в таком случае результат будет оставлять желать лучшего. Причин тому несколько, но самая главная – встроенная звуковая карта попросту не обеспечивает качества, соответствующего статусу Hi-Fi. Поэтому самый очевидный способ – доверить эту процедуру специализированному компоненту.

Но простое подключение USB-кабелем еще не гарантирует точной побитовой передачи аудио на внешний ЦАП. Этот режим работы должен быть соответствующим образом настроен.

Установка драйвера ASIO

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

Первичная настройка Foobar2000

Для примера рассмотрим один из самых популярных плееров Foobar2000. Он занимает минимум места, бесплатен и при этом достаточно продвинут для сложной DSP-обработки аудиосигнала. Но сейчас мы поговорим не обо всех возможностях Foobar2000, а о его первичной настройке для работы в ASIO-режиме с вашей звуковой картой.

В платных аудиоплеерах наподобие Audiorvana или JRiver совместимость с ASIO прошита в исходном дистрибутиве, и плеер сам подхватывает доступные ASIO-подключения. Для Foobar2000 понадобится установка модуля ASIO support, которую нужно дополнительная скачать по адресу https://www.foobar2000.org/components/view/foo_out_asio. После этого в разделе плеера Preferences выбираем самую первую строку Components. Нажимаем Install и указываем программе на сохраненный файлик foo_out_asio.fb2k-component. После чего перезагружаем плеер, чтобы изменения вступили в силу.

Программная регулировка громкости

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

Если ваш аудиотракт работает в режиме ASIO, уменьшить громкость с помощью ползунка в углу экрана (на панели задач Windows) уже не получится. Придется использовать собственный регулятор уровня сигнала плеера (Volume Сontrol). При этом имейте в виду, что в случае программного изменения громкости побитовая передача данных оригинала на ЦАП не сохраняется. Это возможно только при максимальном положении громкости на отметке 100%.

Финальные штрихи

В подразделе Output->ASIO можно увидеть два отмеченных галочкой режима повышения производительности. Use 64-bit ASIO drivers и Run with high process priority. Обычно они включены по умолчанию, но нелишним будет их проверить.

Также можно проверить состояние консоли ASIO. Иногда доступ к ней возможен прямо в плеере, а порой ее ярлычок находится на упомянутой панели задач вместе со значками языка раскладки и др. Разрядность должна быть установлена на значениях 24 или 32 бит. Не стоит включать так называемый dither – эта опция нужна лишь для очень старых приемников аудиосигнала, чья разрядность ограничена 16 бит.

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

Как правильно слушать музыку на компьютере – настраиваем Foobar2000

Для компьютера существует множество плееров, но истинно «аудиофильских» можно пересчитать по пальцам. У слушателей разные приоритеты, одним нужен исходный звук без какой-либо обработки, другим приукрашенный звук. В материале пойдет речь о первой категории плееров на примере foobar2000 под Windows 7 (настройки для Windows 10 аналогичны).

Путь звука от файла до ЦАП

Каким требованиям должен удовлетворять плеер? Прежде всего должна быть поддержка вывода звука как минимум через один интерфейс: WASAPI (Exclusive) или ASIO. Остальные требования — это возможность отключения внутренних обработок звука.

Для Windows это:

  • Foobar2000
  • AIMP
  • Album Player

Рассмотрим путь звука от файла до ЦАП звукового интерфейса (звуковой карты или внешнего ЦАП).

Схема максимально упрощена

WASAPI

Плеер отвечает за декодирование файла и передачу в систему через один из интерфейсов, MME или ASIO. MME – это звуковая подсистема Windows, которая используется по умолчанию во всех плеерах и программах (аудио плеерах, видео плеерах, браузерах, Skype, играх и прочих программах). В MME интерфейсе есть отдельный режим WASAPI Exclusive, который позволяет обойти ресемплер и микшер Windows.

Просмотр видео с выводом звука через WASAPI возможен в плеере Light Alloy

При воспроизведении из под WASAPI звук на выходе возможен только от одного проигрывателя (программы), все остальные звуковые потоки будут в режиме «mute». Некоторые программы могут выдать ошибку, что «звуковое устройство недоступно». В профессиональных картах возможно одновременное воспроизведение звукового потока из WASAPI и ASIO, т.к. звуковые потоки обходят микшер Windows, но после попадают в драйвер звукового устройства и далее смешиваются микшером звуковой карты. Там, где ASIO сделано через WASAPI, могту быть различные проблемы со стабильностью работы.

Для того, что бы на выходе получить звук одновременно от нескольких программ, его надо привести в единую сетку разрядности и частоты дискретизации, а потом все потоки просуммировать. В прошлом поколении ОС XP для MME существовал автомат опорной частоты и при воспроизведении звука лишь из одной программы отключался ресемплинг, системный микшер не вносил никаких существенных изменений в звуковой поток. В Windows 7 все работает принудительно, независимо от количества программ, воспроизводящих звук. Автомат опорной частоты возможен только для WASAPI и ASIO при соответствующей поддержке драйвера звукового устройства.

ASIO – это профессиональная звуковая подсистема для программ с обработкой звука от Steinberg. Основным преимуществом ASIO является возможность получить ультранизкие задержки звукового сигнала, которые позволяют обрабатывать звук в режиме реального времени при игре вживую на midi инструментах.

Через ASIO звуковой поток направляется в обход микшера Windows.

ASIO поддерживают не все звуковые карты, в то время как WASAPI все.

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

Что может лишнего делать драйвер звукового интерфейса? Тоже самое, что и микшер Windows – ресемплинг и микширование каналов. Лучше не поленится и изучить внимательно настройки звуковой карты для оптимального вывода звука.

Плеер Foobar2000

Одним из самых популярных был и остается плеер Foobar2000. Если в старые добрые времена Foobar2000 был альтернативой Winamp, то сейчас вместо Winamp популярен AIMP.

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

К сожалению, Foobar2000 скачивается в базовой комплектации, в которую поддержка WASAPI и ASIO не входят. Их надо скачать отдельно со страницы компонентов.

Установка и настройка foobar2000

  • Устанавливаем foobar2000
  • Запускаем скачанные компоненты. В последних версиях необходимо просто запустить скачанные файлы и их foobar2000 автоматически в себя добавит. В старых версиях их надо было вручную добавлять в папку программы
Читайте также  Как сдать горку на автомате?

Плеер можно скачать с официального сайта http://www.foobar2000.org/

Теперь настраиваем foobar2000

Проверяем, что во вкладке эффектов (Active DSPs) пусто.

Теперь выбираем интерфейс (звуковую карту или ЦАП) для воспроизведения.

Без загруженных в foobar2000 плагинов WASAPI и ASIO будет доступен только DS. WASAPI делятся на event и push – принципиальной разницы между ними нет. При выборе ASIO или WASAPI используйте любой вывод, который работает более стабильно. У меня на практике WASAPI чаще работает стабильнее. Причиной является то, что ASIO хорошо работает в основном в профессиональных устройствах, а в бытовых устройствах реализация ASIO формальная.

Вывод звука через WASAPI

Если под WASAPI звуковой интерфейс не поддерживает автомата опорной частоты, то частота семплирования в Windows должна совпадать с частотой дискретизации музыкального файла, иначе будет ошибка при воспроизведении. Дополнительно надо учесть, что частота воспроизведения музыкального файла должна поддерживаться звуковым устройством. Например, если максимальная поддерживаемая частота у ЦАП равна 96 кГц, то файл с частотой дискретизации в 192 кГц напрямую воспроизводится не будет. Для таких файлов необходимо использовать принудительный ресемплинг.

Разрядность сигнала необходимо выбирать в соответствии с разрядностью драйвера, обычно это 24 бит. Некоторые устройства не будут работать, если будет выбрана неверная разрядность, например Audiolab M-DAC понимает только 24 бит. Если есть поддержка как 16, так и 24 бит – лучше выбрать 24 бит.

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

Вывод звука через ASIO

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

По умолчанию foobar2000 показывает доступные драйвера ASIO. Что бы ими можно было воспользоваться, надо создать дополнительную конфигурацию через кнопку «Add New».

Здесь задается название и выбирается драйвер устройства.

Здесь назначается маршрутизация каналов, обычно по умолчанию стоят правильные настройки.

Обзор плагинов для foobar2000 и инструкция по их установке

Для плеера foobar2000 существует множество плагинов для обработки и настройки вывода звука, а также для декодирования множества форматов, которые не поддерживаются базовой версией плеера. Ниже мы рассмотрим самые популярные и дадим рекомендации по пользованию и настройке.

Плагины для foobar2000

Базовая версия программы воспроизводит большинство популярных форматов, но не все. Для некоторых нужно загружать специальные расширения.

Также можно устанавливать плагины и для настройки звука. Стандартно плеер выводит звуковой поток на цифро-аналоговый преобразователь посредством DirectSound, который подгоняет нестандартные значения частоты дискретизации и битности под системные (в большинстве случаев это 16 бит и 48 кГц). При этом при попытке воспроизвести аудиофайл с отличными параметрами качество звука не будет отличаться, т. е. аудио 16 бит/48 кГц будет звучать так же, как 24 бит/192 кГц. Чтобы избежать такого выравнивания, можно использовать сторонние плагины, которые могут дать звучание аудио, близкое к оригиналу.

Плагин ASIO в foobar2000

Несовместим с некоторыми звуковыми картами, хотя таких крайне мало. ASIO – профессиональная звуковая подсистема, используемая во многих программах. Главный плюс ASIO – сверхнизкая задержка сигнала звука. К примеру, это очень полезно при игре на midi-клавиатуре – звук будет обрабатываться в реальном времени.

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

ASIO имеет формат fb2k-component и легко устанавливается в плеер.

Плагин WASAPI в foobar

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

При использовании WASAPI все звуки от других программ будут заглушены, т. е. возможно воспроизведение только из плеера. Для других приложений адаптер будет недоступен. Однако, некоторые дорогие звуковые карты могут одновременно работать со звуком из WASAPI и ASIO.

SACD декодер плагин для foobar2000

SACD – декодер Super Audio CD. Надстройка позволяет прослушивать ISO образы компакт-дисков высокого качества без потерь. Дополнительно поддерживаются форматы DTS, DSD и DSDIFF.

Для установки нужно скачать архив, затем извлечь файлы foo_input_sacd.dll и foo_dsd_processor.dll в папку components. Декодер поддерживает PCM звуковой поток, DSD-поток 2.8/5.6 мГц, 24-битный дизеринг, частоты дискретизации 88.2/176.4 и 96/192 кГц.

DVD-Audio plugin в foobar2000

С помощью данного плагина можно проигрывать защищенные и обычные DVD-аудио диски. Можно скачать с сайта плеера, набрав в поиске «foo_input_dvda», затем перенести dll файл в папку components в корневой директории foobar2000.

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

Плагин DTS в foobar2000

DTS декодер нужен для воспроизведения файлов формата DTS (DTS Coherent Acoustics) и DTSWAV. Также с подключением плагина плеер сможет воспроизводить файлы Matroska, в которых есть дорожки DTS из потоков PCM без потерь с частотами 44,1 и 48 кГц. Плагин поддерживает работу с Wav, audio-CD, FLAC, Wavpack.

APE plugin в foobar2000

Для декодирования аудиофайлов APE и файлов метаданных APL (APE Link) используется расширение Monkey’s Audio Decoder. Компонент можно загрузить с официального сайта плеера, затем перенести файл foo_input_monkey.dll в каталог components в папке foobar2000 (либо просто установить с помощью встроенных средств foobar). В большинстве случаев компонент уже установлен в плеере по умолчанию.

Плагин iZotope Ozone 8 в foobar2000

iZotope Ozone 8 – это плагин для микширования и редактирования звука. Обычно используется как VST-плагин в аудиоредакторах (к примеру, в FlStudio) или секвенсорах, но можно подключить его и к плееру foobar2000. Процесс установки одинаков для всех версий плагина.

Для начала понадобится установить другой компонент, чтобы получить возможность подключать к плееру VST-плагины. Для этого подойдет Foobar2000 VST 2.4 adapter. Скачиваем его и устанавливаем, как любой другой плагин.

После нужно зайти в настройки foobar2000. Там должен появиться новый пункт меню в разделе «Компоненты», если VST-адаптер был установлен правильно. Загружаем плагин iZotope Ozone 8 на компьютер и подключаем файл iZotope Ozone 8.dll в этом подменю с помощью кнопки Add.

Должна появиться новая строка. Если этого не происходит – перезапустите плеер. Теперь можно настраивать звук через DSP manager, так как там появится пункт iZotope Ozone 8. Окно редактирования звука выглядит следующим образом:

Cue plugin в foobar2000

Cue файлы открываются плеером по умолчанию. Cue playlist filter нужен для того, чтобы фильтровать дубликаты файлов, так как иногда в плейлисте получается так, что открыт весь альбом и каждый трек отдельно одновременно. Также фильтр отсеивает поврежденные cue файлы. Последняя на данный момент версия плагина имеет более высокую производительность, чем предыдущие.

Как установить плагины в foobar2000

Перед установкой плагинов для плеера необходимо скачать foobar2000 и все необходимые плагины в один каталог. Почти все популярные расширения есть на официальном сайте плеера. Используйте версию foobar 1.4.6 – она самая стабильная на данный момент.

Есть 2 способа установки.

Первый способ:

  • Если загруженный архив имеет формат zip или fb2k-component, то открываем foobar2000, затем кликаем по пункту File сверху и переходим к Preferences (Настройки).

  • Нажимаем на первый пункт в меню слева – Components.

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

Второй способ:

  1. Если скачанный архив имеет другой формат, его необходимо сначала распаковать (к примеру, с помощью WinRar).
  2. Находим файл с расширением dll и переносим его в папку Components в директории, где установлена программа.
  3. Перезапускаем плеер. Плагин должен появиться в списке компонентов.

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

Полезное видео

Из этого видео вы узнаете, какие бывают режимы вывода звука в foobar2000, и чем они отличаются: