Проходит время, и с его течением приходит новый опыт. На днях перечитал свою статью «Организация качественного вывода звука на компьютере» — вспомнил, как начинал (в далёком 2009-м году, будучи студентом первого курса — тогда эта статья стала фундаментом для всего последующего развития сайта)... Но главное — понял, что часть информации в статье устарела, несколько важных моментов не освещено, и поэтому материал требует обновления.
Итак, кроме мелких корректировок, появились серьёзные поправки, связанные как с обновлением ПО, выходом нового оборудования, так и с опытом настройки вывода с использованием нового железа и софта. Лучше обо всём по порядку.
- В последнее время я отдал предпочтение выводу ASIO (при наличии хорошего, не глючного драйвера) — непосредственное общение с железом устройства (драйвер докладывает плееру о поддержке разрядности и частоты), настройка буферизации, разрядности, автоматическое переключение опорной частоты на многих устройствах (хотя иногда это работает и для WASAPI Exclusive) — преимуществ довольно много. Хотя, например, для моей ASUS Xonar Essence STX нормальных драйверов под Windows 10 так и не вышло — звук при использовании компьютера во время воспроизведения трещит, если только не установить для ASIO Host и foobar2000 приоритет реального времени. Впрочем, это может наблюдаться только на некоторых конфигурациях и зависеть от слаженности работы ОС и железа (ЦП, чипсета). Для тех же, у кого щелчков нет — рекомендую именно ASIO (в статью добавлены рекомендации по настройке).
- Давно баловался дополнительными настройками плеера (Advanced settings->Playback), но только сейчас покопался и выяснил, что MMCSS работает и действительно повышает приоритет критичных по времени процессов в foobar2000 (может иногда спасти от этих злополучных щелчков), причём работа не зависит от выбранного плагина вывода. Если кто помнит, MMCSS рассматривалась в разборе WASAPI и PlayPcmWin. Также добавил информацию по повышению приоритета и размера буфера WASAPI.
- По результатам моих раскопок в сторону вывода DSD отразил на блок-схеме тракта плеера новшества, позволяющие выводить DSD мимо всех обработчиков (т. н. DSD pass-through).
- Добавил также инфу по поводу очень полезного плагина SoX Resampler mod, позволяющего ресемплировать только то, что нужно. Кстати, mod2 теоретически позволяет вообще «программировать» ресемплинг, выбирая, что во что ресемплировать (например, если вы параноик, предпочитаете только кратное ресемплирование, и при этом любите апсемплинг) — для этого нужно добавить в DSP несколько экземпляров с разными настройками.
Из значительных изменений вроде бы всё. Если есть вопросы и замечания — добро пожаловать в обсуждение на форуме.
Информация от спонсора
Human Emulator: автоматизация работы в браузере. Тут можно посмотреть примеры применения и скачать программу, позволяющую полностью эмулировать действия пользователя в браузере: публиковать данные, собирать данные, выполнять комбинированные задачи разной сложности.
ps. ситуация с тестированием ведроида пока под вопросом?