Меню Рубрики

Directsound или windows audio session

Тестирование методов вывода звука

Чем отличаются методы вывода звука и какой из них лучше использовать? Попытаемся разобраться…

Подопытные методы вывода звука:

  • DirectSound
  • WASAPI (Shared Mode)
  • WASAPI (Exclusive Mode)
  • ASIO (ASIO4ALL)
  • Kernel Streaming

Конфигурация

  • Подопытный плеер: Foobar v1.1.11
    Он умеет выводить звук через все интересующие нас методы
  • ОС: Windows XP Pro SP3 Rus x86 / Windows 7 Ultimate SP1 Rus x86
    Windows XP добавлена к тестированию поскольку: KernelStreaming не работает на современных версиях ОС; Реализация DirectSound начиная с Windows Vista претерпела серьезные изменения
  • Звуковая карта: Virtual Audio Streaming
    Виртуальная звуковая карта позволяет исключить особенности железа и реализации драйверов к нему. В добавок к этому, нам будет проще списать с нее выходные данные
  • Настройки плеера и ОС: 44.1 кГц, 16 Бит/сэмпл, громкость 100%, эквалайзер и другие эффекты выключены

Методика тестирования
Для замеров я использовал RightMark Audio Analyzer (RMAA). В ней сгенерировал тестовый WAV-файл, со следующими характеристиками: 44.1 кГц, 16 Бит/сэмпл. Далее, воспроизводил этот файл в плеере, выбирая различные методы вывода звука, записывал выходной сигнал напрямую в файл и анализировал с помощью той же RMAA.

Тест1: В поисках побитово точного вывода

Первым делом решил протестировать так называемые «побитово точные» методы вывода — WASAPI Exclusive, Kernel Streaming и ASIO (посредством ASIO4ALL). Ходят мнения, поскольку эти методы обходят микшер Windows, то дают наиболее качественный, чуть ли не идеальный звук. Проверим!

Выходной поток будем сравнивать с входным с помощью RMAA, а так же побитово с помощью утилитки сравнения файлов. Поехали!

Нелинейные искажения + шум (при уровне -3 дБ)

Параметры одинаковые, графики совпали. Вроде можно говорить о побитово точном выводе. Но сравнивая входной и выходной файлы с помощью специальной утилитки — наткнулся на странный факт: для ASIO4ALL файлы абсолютно разные, хотя для WASAPI Exclusive и Kernel Streaming полное совпадение.

Причина оказалась в нелинейной фазочастотной характеристике (ФЧХ), а так же в присутствии фазовых задержек:

ASIO4ALL Фазовая задержка

Выводы
WASAPI Exclusive и Kernel Streaming действительно дают побитово точный вывод звука, а вот при использовании ASIO4ALL, формально, ни о каком побитовом выводе речи быть не может. Да, системный микшер ASIO4ALL обходит, но вносит в сигнал собственные искажения в виде нелинейной ФЧХ и фазовых задержек. С другой стороны — фазовые искажения (если они одинаковы во всех каналах) никак не воспринимаются на слух.

Тест2: Оставшиеся методы вывода звука

Нелинейные искажения + шум (при уровне -3 дБ)

Выводы
Что же мы видим? DirectSound в Windows XP оказался очень крут. Побитовое сравнение входного и выходного файла это подтвердило: файлы одинаковые! Честно говоря, я сам не поверил измерениям, но но два повторных измерения дали тот же результат. DirestSound в Windows XP выдает побитово точный вывод звука! Разумеется, это верно, если микшер не работает (отсутствуют другие системные или программные звуки) и системная громкость установлена на 100%.
Если сравнить Direct Sound Windows 7 и WASAPI — первый немного лучше. Но в общем и целом, оба метода вносят совершенно незначительные искажения в исходный сигнал. Едва ли со среднестатистическим оборудованием эту разницу возможно услышать.

Резюме

Что же мы имеем? А имеем мы вот что: три побитово точных метода вывода звука: DirectSound в (Windows XP), WASAPI Exclusive, Kernel Streaming (последний поддерживается считанными Плеерами). Кроме этого мы имеем ASIO (тот, который настоящий, не ASIO4ALL), который мне протестировать не удалось, да и поддерживается он ограниченным количеством устройств. И ещё мы имеем два метода вывода, которые вносят небольшие искажения в исходный сигнал: DirectSound Windows 7 и WASAPI Shared. Но, подчёркиваю, искажения эти настолько незначительны, что на слух их распознать можно лишь имея отнюдь недешевое оборудование.

Какой же метод вывода включить в Плеере?

  • Windows XP : однозначно DirectSound — отлично работает, не вносит искажений
  • Windows 7 : тут не всё однозначно. Для получения супер-качественного звука можно использовать WASAPI Exclusive или ASIO (при наличии поддержки). Но эти методы блокируют другие звуки в системе, что не всегда удобно. Гораздо удобнее использовать WASAPI или DirectSound.

Kernel Streaming советовать не буду. Пусть этот метод и крут, но его поддержку я встречал лишь у Foobar2000 на уровне «test», и этот метод не работает на ОС начиная с Vista.

Что касается ASIO4ALL : в Windows 7 мы действительно получим небольшое улучшение качества звука (если сравнивать с WASAPI или DirectSound), а вот в Windows XP выгода от использования минимальна: при отсутствии посторонних звуков, идущих на микшер, и 100% системной громкости — местный DirectSound выдает побитово точный звук.

Спасибо за внимание. Надеюсь кому-то данные исследования будут полезны.

Тестирование методов вывода звука : 14 комментариев

А Windows Default это что?

Это вообще не метод вывода, а устройство (наушники или динамики — то, которое вы назначили по умолчанию для вывода звука)

Windows Default — устройство по умолчанию, согласно настройкам ОС. В AIMP-е, для каждого из методов вывода звука (за исключением ASIO), есть свой «Windows Default»

Ну у меня есть выбор или Realtek Hd или DirectSound: Windows Default вот так 🙂 а еще в другом плеере есть DirectSound8 audio slink или это одно и тоже Direct ? 🙂

Покажите лучше скриншоты

А чем можно сделать скриншоты?

Считаю необходимым сделать в AIMP вывод через WSAPI Exclusive. Сейчас для прослушивания lossless использую foobar2000, но один плеер лучше, чем два. Кстати, буду благодарен на ссылку с описанием тракта AIMP3, если таковая информация имеется.

> буду благодарен на ссылку с описанием тракта AIMP3, если таковая информация имеется.
вот http://www.aimp.ru/blogs/?p=88

Попробовал в наушниках послушать FLAC через WSAPI Shared — звук отчётливо чище, особено высокие частоты, но загрузка процессора при этом на уровне 33%, причём 3-е из трёх ядер загружено «в потолок», через DirectSound нагрузка CPU 1-2%. WSAPI Exclusive — к сожалению протестировать не удалось, AIMP виснет, видимо дрова моего SB Audigy для 7-ки не тянут.

Direct Sound однозначно 🙂

Неплохая статья, которая развенчивает многие мифы по поводу суперкачества ASIO

Добавить комментарий Отменить ответ

Для отправки комментария вам необходимо авторизоваться.

Источник

Исследование звукового тракта iTunes

Пролог

Отчасти по инерции, отчасти — по просьбе одного из пользовтелей сайта, я решил провести очередное исследование. Сегодня у нас в лаборатории детище корпорации Apple. Еще один продукт для широкого потребителя, не отличающийся высокой конфигурируемостью, с множеством странных (по моему мнению) и ненужных функций, а также интеграцией интернет-магазина. Во многом этот продукт напоминает мне Windows Media Player от Microsoft. Ну, что ж, пользуются и WMP, и iTunes тоже кто-то пользуется. Так что, как говорится, «сейчас мы их проверим, сейчас мы их сравним. ». Сегодня у нас будет что-то вроде баталии между Microsoft и Apple. Посмотрим, кто кого.

Оборудование и ПО

200?’200px’:»+(this.scrollHeight+5)+’px’);»> Intel Core i3 2.93 ГГц, ASUS P7H55-V, 4 ГБ DDR3, Creative X-Fi Xtreme Gamer

Microsoft Windows 7 Ultimate SP1 x64

iTunes 11.0.6.5
RightMark Audio Analyzer 6.3.0
Sony Sound Forge 10.0c

Настройки

Первый взгляд на настройки плеера заставляет русского человека невольно сконфузиться. Странно, что корпорация Apple не нашла нормального переводчика, разбирающегося в цифровом звуке, который бы сделал нормальную локализацию iTunes.

Остается только догадываться, что здесь имелось ввиду «воспроизведение через», «частота дискретизации» и «бит на семпл». Я уже не говорю о том, что один вид ползунка «улучшение звука: слабо/сильно» вызывает просто таки гомерический смех.

Но давайте перейдем к делу. Проверим, как работают все эти настройки.

Итак, сегодня я проверяю на слух. Для начала берем нашу любимую синусоиду 24/44.1 с уровнем -80 дБ. В режиме DirectSound 16/44.1 явно слышны искажения, что обусловлено отбрасыванием младших 8 битов без дезеринга. Если установить разрядность в 24 бита, всё играет нормально. Далее — если изменить режим вывода на сеанс Windows Audio (имеется ввиду Windows Audio Session) и перезапустить плеер (необходимо для смены режима), то настройки разрядности уже на звучание не влияют — очевидно, программа начинает выводить в режиме, заданном в настройках устройства Windows (там установлено 24/44.1). Что касается семплрейта — то эта настройка вообще ни на что не влияет, в обоих режимах. Очевидно, плеер продолжает выводить аудио с оригинальной частотой дискретизации, предоставляя ресемлирование операционной системе. В общем-то, это хорошо, иначе была бы проблемы фиксированной частоты — как у AIMP3.

Теперь посмотрим, как iTunes воспроизводит свой родной-любимый формат Apple Lossless (ALAC). Закодируем тестовый сигнал формата 24/96 и прогоним через плеер.

Что ж, порядок. Никакой обработки, никаких искажений. Это хорошо. Перейдем к lossy. Начнем с MP3 из 24-битного источника. Напомню: у нас стоит вывод через Windows Audio Session, формат 24/44.1.

И тут iTunes радует нас 24-битным декодированием MP3. В самом деле, приятная неожиданность. Более того — результаты декодирования идентичны результатам foobar2000. Также всё хорошо у плеера и с форматом AAC.

И у нас остается последний пункт — клиппинг. Проверяем на MP3 и AAC файлах с превышением уровня в 6 дБ.

И тут у нас интереснейшая картина. На MP3 я получил клиппинг с любыми настройками, в обоих режимах. Это говорит о том, что декодирование MP3 выполняется с фиксированной точкой (скорее всего 24-bit integer). ReplayGain iTunes, по-видимому не читает. Но куда интереснее с AAC — в режиме Windows Audio Session я явно услышал, как сработал лимитер. Не изначально было неясно, что это за лимитер — в плеере, или же в Windows (limiter APO). Переключившись на DirectSound, я понял, что лимитер срабатывал в микшере Windows, т.е. плеер до этого выводил аудио в режиме с плавающей точкой. Но дальше я обнаружил другую особенность — в свойствах трека (в плейлисте iTunes) есть вкладка, где можно регулировать громкость:

Так вот, если сдвинуть ползунок громкости в любую сторону на минимальное расстояние, включается лимитирование сигнала! Надо полагать, это уже встроенный лимитер плеера, призванный предотвратить клиппинг при чрезмерном повышении громкости. Но для MP3 этот трюк конечно же не работает — клиппинг происходит еще на этапе декодирования.

Таким образом, для iTunes мы получаем следующее:

+ аккуратное декодирование lossless и lossy, в т.ч. с высокой разрядностью;
+ 24- или 32-битный с плавающей точкой вывод;
+ сохранение оригинальной частоты дискретизации — все преобразования выполняет Windows;
— отсутствие поддержки ReplayGain;
— декодирование MP3 в формате с фиксированной точкой.

В общем и целом WMP c iTunes оснащены простенькими, практически одинаковыми по функционалу звуковыми движками. Но если судить строго, у iTunes мы имеем небольшое преимущество в виде 24-битного декодирования MP3. Так что фанаты Apple могут возрадоваться и спокойно слушать AAC на своём любимом iTunes.

А я тем временем пошел чистить систему от установленного с плеером мусора.

Информация от спонсора

220-110.РФ: здесь Вы можете приобрести высококачественные повышающие и понижающие трансформаторы 220-110 В. В наличии преобразователи напряжения различных форм-факторов и мощностей (300-10000 Вт). Также здесь можно приобрести переходники для самых различных электрических розеток и вилок.

Источник

Компьютер под управлением Windows в роли цифрового источника

В сказках всё просто: нашёл древнюю бутылку (или волшебную лампу), вытащил пробку (или потёр), и всё — ты стал повелителем могучего джинна, жизнь удалась. Казалось бы, владельцы персональных компьютеров на платформе Windows обладают ничуть не меньшей властью над своими машинами, но добиться от них качественного воспроизведения музыки, даже при наличии достойного внешнего ЦАПа, значительно сложнее. Предубеждение, что на роль «правильного» источника подходят только компьютеры Mac, имеет под собой определённые основания, но значит ли это, что следует раз и навсегда поставить крест на Windows PC? Можно ли организовать на них точный (bit perfect) вывод цифровой музыкальной информации? На наш взгляд, вполне. Тому, как это сделать, и посвящена эта публикация.

Тема для нас отнюдь не нова — в статье «Дао звука» (SAV №8/2010) мы уже давали рекомендации по превращению компьютера в качественный музыкальный источник, рассказывали об этом и в ответах на письма читателей. Однако с тех пор многое изменилось, поэтому есть смысл освежить тему с учётом современных технологий и нового опыта. При этом не станем ограничиваться лишь практическими рекомендациями, но постараемся также объяснить, на чём они основываются. По возможности — максимально просто и доходчиво.

БОГАТЫЕ ТОЖЕ НЕДОВОЛЬНЫ

На интернет-форумах, посвящённых использованию компьютера как звуковоспроизводящего устройства, постоянно встречаются жалобы на плохое звучание и просьбы подсказать программу-плеер, с помощью которой можно получить максимальное качество. Когда местные «гуру» вникают в суть проблемы, в большинстве случаев выясняется, что страждущие слушают музыку на компьютерных колонках по цене $50 — 100, используя интегрированные на материнские платы аудиоинтерфейсы или самые доступные игровые звуковые платы. Надо сказать, что и с таким оборудованием есть возможность что-то улучшить, правда в очень небольших пределах. Например, попытаться исправить неравномерность частотной характеристики колонок с помощью цифрового эквалайзера или сделать звук более гладким за счёт увеличения частоты сэмплирования. Неизбежно возникающие в итоге искажения могут оказаться незаметными из-за многократно более высокого уровня гармоник усилителя и акустики.

Однако сейчас нас интересуют иные ситуации: когда имеется достойная Hi-Fi или даже High End-система с серьёзным внешним ЦАПом, но качество цифрового потока, получаемого от компьютера, оказывается откровенно посредственным. Меломаны, не стеснённые в средствах, решают проблему предельно тривиальным способом: приобретают ноутбук Apple, устанавливают на него платные программы-плееры Amarra, Audirvana Plus, Decibel или Fidelia (есть также бесплатные Vox, Cog и др.) и после этого навсегда утверждаются в мысли, что получить качественный звук от Windows-машины невозможно. Хотя на самом деле это не так. Вопрос в том, предпочитаете ли вы готовые решения или согласны немного поработать, потратив не так уж много времени на настройку системы. Причём не только и не столько ради экономии (она и здесь не всегда возможна), но из любопытства, пытливого характера или даже здорового духа противоречия, который толкает нас к тому, чтобы быть «не как все». Кстати, именно эти человеческие качества двигают вперёд науку и технический прогресс, позволяя в итоге большинству получать удовольствие от готовых решений.

Чрезвычайно привлекательное для меня свойство Windows-систем — доступность адаптации к индивидуальным потребностям, вкусам и пристрастиям. Именно это во многом объясняет популярность бесплатного программного проигрывателя Foobar2000 — он универсален, обладает чрезвычайно развитой функциональностью, которая может расширяться за счёт дополнительных модулей, допускает тонкую настройку практически всех подсистем и обладает способностью к «мимикрии», то есть к изменению внешнего облика. Естественно, для освоения всех возможностей программы требуются некоторые усилия и время. Как и любой универсальный инструмент, рассчитанный на самые широкие массы, а не только на энтузиастов-аудиофилов, она поставляется с некими усреднёнными настройками по умолчанию, которые лишь обеспечивают работоспособность программы на любом железе, и в конечном итоге именно от него зависит, получите ли вы заветный точный побитовый цифровой вывод. Но если оборудование (то есть аудиоинтерфейс с драйверами) не предусматривает вывода неизменённого цифрового потока, никакой плеер не заставит его это сделать. Приведу конкретный пример.

Самый первый мой выделенный под воспроизведение музыки компьютер имел интегрированный на материнскую плату звуковой интерфейс, в драйверах которого была жёстко прописана передискретизация в 48 кГц (этим, кстати, страдают многие бюджетные звуковые карты Creative). Для толкового программиста это, возможно, не представляет проблемы, но я программированием не владею, поэтому мне пришлось устанавливать дополнительную звуковую PCI-плату. Когда та машинка морально устарела и уже не подлежала обновлению, пришлось собрать новую, а для неё приобрести другую звуковую карту, которая уже полностью соответствовала моим требованиям. К счастью, в нашей сфере даже самые глупые просчёты чреваты лишь дополнительными расходами. Вы имеете шанс их избежать, если дочитаете эту публикацию до конца и возьмёте её на вооружение.

ПЕРВЫМ ДЕЛОМ ИНТЕРФЕЙСЫ…

В последние годы в роли цифровых музыкальных источников всё чаще применяются ноутбуки. Надо признать, что некоторый вклад в этот тренд внесли и мы, опубликовав в №9/2007 статью «Цифровая правда» о весьма интересном проекте, реализованном московской компанией «Стереоправда».

И хотя главным героем той публикации был оригинальный USB-I2S-конвертор Stereopravda UC601, многие наши читатели обратили внимание не на него, а на то, что цифровым транспортом для него служил ноутбук и что питание от аккумулятора обеспечивало низкий уровень шумов, которые являются одной из главных проблем компьютерных источников. Чуть позже появились ЦАПы с асинхронным USB, и ноутбуки стали массово использоваться участниками High End-выставок, ими вооружились эксперты (ещё бы — они так удобны для выездных тестов). Однако со временем стало приходить понимание, что интерфейс USB всё же не совершенен — даже если речь идёт о компьютерах Apple.

В среде ортодоксальных аудиофилов принято объяснять «ущербность» USB тем, что он изначально не предназначался для передачи звука. Действительно, универсальная последовательная шина (Universal Serial Bus) была разработана для подключения компьютерной периферии. Поэтому требование целостности передаваемых по ней данных было одним из приоритетных: посылая на принтер документ, вы должны быть уверены, что он будет напечатан без «правок», внесённых интерфейсом. А поскольку в шине имеется всего два сигнальных провода (ещё два — для питания), передача осуществляется попеременно: пакеты данных чередуются с блоками служебной информации, необходимой, в частности, для управления потоком, обнаружения и обработки ошибок.

В зависимости от типа устройства, подключённого к USB-разъёму компьютера, интерфейс работает по-разному. Если это принтер, сканер или, скажем, HDD-накопитель, т.е. передаются большие объёмы данных и требуется их 100-процентная целостность, используется режим групповой пересылки (bulk transfer), но широкая полоса пропускания и высокая скорость при этом не гарантируются, поскольку для коррекции ошибок может требоваться повторная передача данных. Можете поставить простой опыт: попробуйте копировать большой файл на внешний USB-HDD, подключённый к компьютеру дешёвым и длинным шнурком — скорость копирования резко замедлится из-за постоянных запросов на повторную пересылку пакетов (максимум три попытки, после чего система сообщает об ошибке).

Для передачи мультимедийных данных (видео или звук) интерфейс переходит в изохронный режим (isochronous transfer), в нём приоритет отдаётся наилучшей пропускной способности за счёт повышенной толерантности к потере данных** — разработчики интерфейса полагали, что пользователь этого не заметит.

**Здесь я приведу цитату из энциклопедии «Шины PCI, USB и FireWire» (автор — М.Ю. Гук, цитируется по изданию 2005 г.): «На пакеты, принятые с ошибкой, ни устройство, ни хост-контроллер никак не отвечают. При изохронной передаче данные недействительного пакета должны просто игнорироваться (они теряются); для остальных типов передач используются средства обеспечения надёжной доставки».

А вы говорите, джиттер! На самом деле в потоке образуются «дырки». В зависимости от количества ошибок это может проявляться на слух в деградации звука или даже щелчках.

Реализованный в современных USB ЦАПах асинхронный режим является, по сути, частным случаем изохронного. Принципиальная разница между ними заключается в том, на чьей стороне осуществляется контроль передачи данных и, в частности, тактовая синхронизация. В классическом изохронном режиме этим занимается хост, то есть компьютер (что практически неизбежно приводит к росту джиттера), в асинхронном — ЦАП, оснащённый (в идеале) высокоточным тактовым генератором, по которому поток данных пересчитывается в специальном буфере. При этом имеется канал обратной связи, по которому хост получает от контроллера ЦАПа инструкции о скорости передачи. В итоге, действительно, удаётся свести джиттер к минимуму, а вот проблема целостности данных не только не решается, но отчасти и усугубляется. Вспомним, что как главное преимущество асинхронного USB нам преподносили возможность передачи потоков с разрешением до 192 кГц/24 бит, что требует ещё большей полосы пропускания, чем при т.н. CD-качестве, т.е. 44,1 кГц/16 бит. Неудивительно, что такой «чисто компьютерный» интерфейс вдруг оказался чрезвычайно чувствительным к качеству кабелей (чем совершеннее конструкция, лучше проводники и эффективнее экран, тем меньше помех и точнее передаются данные), а в среде любителей Hi-Res-файлов стало распространяться мнение, что материал с частотой сэмплирования 96 кГц звучит лучше, чем 192 кГц. Естественно! С кривыми USB-контроллерами в компьютерах, бюджетными USB-кабелями и далеко не всегда безупречными USB-приёмниками в ЦАПах так и должно быть. Однако признаться себе, что в твоей системе не всё благополучно, значительно труднее, чем повторять очередной миф или ругать HDTracks за низкое качество музыкальных файлов (что, кстати, часто соответствует действительности).

С этой точки зрения коаксиальный интерфейс S/PDIF вроде бы ничуть не лучше, поскольку контроль целостности данных в нём вообще не предусмотрен. Однако информация по нему передаётся непрерывно и не подвергается таким манипуляциям с непредсказуемыми последствиями, как в USB. Да, к потоку данных подмешиваются тактовые импульсы (вот почему I2S лучше — там для них предусмотрена отдельная линия), но их обработка в ЦАПе всё же проще, чем сборка потока из отдельных пакетов, часть которых, возможно, утеряна. Вдобавок мы давно уже не питаем никаких иллюзий насчёт S/PDIF, стараемся организовать достойный коаксиальный выход (например, с помощью установки в настольный компьютер приличной внутренней звуковой платы) и уж во всяком случае не пытаемся получить впечатляющий звук с помощью первого попавшегося под руку шнурка, как это часто происходит с USB. Всё-таки серьёзное отношение к построению системы — необходимое условие успеха.

МЯГКАЯ СИЛА

Итак, мы разобрались с компьютерными интерфейсами и сделали всё возможное, чтобы по дороге от компьютера к ЦАПу информация передавалась без ошибок. Достаточно ли этого, чтобы получить максимально возможное качество звука? Конечно, нет — необходимо, чтобы на выходной разъём компьютера (неважно, коаксиал это, оптика или USB) поступал максимально чистый и неискажённый цифровой поток — как принято сейчас говорить, с побитовой точностью, bit perfect. Как уже писал выше, значительную долю ответственности за это несёт железо, причём не только USB-контроллер на материнской плате, но и сама системная плата, установленная на ней память, само собой, блок питания, тип HDD и даже корпус — если конвекционные потоки воздуха разведены в нём неудачно, система будет перегреваться, и шум вентиляторов сделает невозможным использование этой машины в роли цифрового источника. Кстати, мой ноутбук, с которым я езжу в командировки, шумит ощутимо сильнее, чем десктоп, на котором воспроизвожу музыку. Потому что до первого никак не доходят руки, чтобы почистить его систему охлаждения (к тому же нет уверенности, что это поможет), а второй изначально собирался в расчёте на бесшумную работу.

Хорошо, допустим, что с железом полный порядок (и вы даже сменили обычный HDD на SSD — очень рекомендую это сделать). Остаётся привести в порядок ещё одного ответственного за звук — программное обеспечение.

Начнём с операционной системы.

На мой взгляд, для воспроизведения музыки больше всего подходит Windows 7 — в ней лучше, чем в Windows XP, организована работа с сетью, имеется поддержка новой периферии и, наконец, она всё ещё поддерживается, а потому более безопасна. А вот мой опыт с «восьмёркой» оказался неудачным — при всех очевидных достоинствах есть у неё существенный недостаток: слишком большой объём фоновых сервисных задач, которые автоматически запускаются планировщиком, и, как назло, в то самое время, когда вы решили послушать музыку. Попытки отключить все эти задачи были не очень удачными, и оказалось значительно проще откатиться на Windows 7 — там тоже могут быть запланированные задачи, но отключить их значительно проще.

Идеальный вариант — иметь отдельный компьютер исключительно для воспроизведения музыки. Понимаю, что эта идея может многим показаться слишком расточительной. Можно, конечно, использовать и универсальную машину, которая служит и для работы, и для развлечений, но тогда надо создать отдельный профиль (пользователя), в который вы будете заходить, чтобы послушать музыку. В нём система должна быть максимально «облегчённой», избавленной от всех фоновых процессов и сервисов, которые не участвуют в процессе воспроизведения.

Приведу наиболее значимые шаги. Первым делом нужно отключить файл подкачки (swap file) — это снизит активность жёсткого диска, уменьшит тем самым нагрузку по питанию и, соответственно, уровень шумов. А если в машине в роли системного диска установлен SSD — защитит его от преждевременного износа. Правда, это подразумевает, что в компьютере имеется достаточный объём оперативной памяти, благо стоит она сейчас недорого. И не бойтесь «излишков» — в оперативке можно создать RAM-диск, чтобы перед воспроизведением заливать на него файлы.

Далее следует отключить ненужные сервисы — на этот счёт можно легко найти рекомендации в Интернете. Упростить внешний вид «окон», выбрав «Классическую» тему оформления и отключив все украшения на вкладке «Визуальные эффекты», выбрав пункт «Обеспечить наилучшее быстродействие» в разделе «Параметры быстродействия» (Панель управления > Настройка параметров компьютера > Система > Дополнительные параметры системы). Впрочем, если в машине установлен быстрый процессор и большой объём памяти, этого можно и не делать.

Некоторые эксперты советуют изменить приоритет выполнения задач, отдав его фоновым процессам. Разработчик плеера JPLAY предлагает сделать это, изменив значение параметра Win32PrioritySeparation в реестре (HKEY_LOCAL_MACHINE\System\ CurrentControlSet\Control\PriorityControl) — по его мнению, наилучшим по звуку является значение 0?14 (hexadecimal). Для тех, кто никогда не редактировал реестр и вообще не знает, что это такое, этот добрый человек заготовил файл, который сам внесёт необходимые изменения. Ищите его по адресу: jplay.eu/computer-audio/playback-tweak-cpu-scheduler/. Плеер, надо заметить, любопытный, но имеет один существенный недостаток: за него просят 99 евро. Хотя он не умеет ничего такого, чего не мог бы бесплатно делать Foobar2000.

Если компьютер-плеер является одновременно рабочим, а копаться в реестре и системных настройках лень, можно воспользоваться специальной программой-оптимизатором Fideliser (www.windowsxlive.net/fidelizer) — она отключает все процессы, которые не участвуют в воспроизведении музыки, и отдаёт максимальный приоритет плееру. Причём у неё есть несколько вариантов настройки, которые различаются степенью «очистки». Например, в режиме «Extremist» убиваются многие даже системные сервисы и отключается сеть. На выделенной машине, которая оптимизирована под звуковые задачи, эта программа не даёт слышимого эффекта, а вот на моём рабочем компьютере её действие хорошо слышно. Правда, надо быть осторожным — не забывать снимать галочку с пункта на экране конфигурации «Set Windows X’s Live as default homepage», иначе программа поменяет стартовую страницу в вашем браузере. И самое неприятное: выгрузить её из памяти можно лишь через диспетчер задач, а полностью устранить её влияние на работу системы — перезагрузившись. Поэтому повторяю: идеальный вариант — это отдельная машина, выделенная на роль проигрывателя.

НАСТРАИВАЕМ «НЕЧТО»

В переводе с английского слово foobar — это «нечто». Создателям плеера не откажешь в остроумии: мы ведь на самом деле бесплатно скачиваем что-то совершенно неопределённое, и только от нас зависит, во что оно в конце концов превратится — в убогую посредственность или в Царевну-лебедь с чарующим голосом. На самом деле — никакой магии, принцип преображения тот же самый, что и при подготовке операционной системы: ничего лишнего, никаких препятствий и дополнительных преобразований на пути цифрового потока.

Пройдёмся по пунктам меню сверху вниз.

Заходим в меню Files, скользим вниз и находим раздел Preferences — именно там мы и будем производить все изменения. Начинаем с первого пункта — Components. Заходим туда, чтобы проверить наличие самых важных для нас компонентов — ASIO support и WASAPI output support, они нам понадобятся вне зависимости от того, как у нас подключается компьютер и ЦАП — по S/PDIF или USB. Чисто теоретически мы могли бы обойтись одним лишь ASIO — при условии, что наш аудиоинтерфейс его поддерживает (практически во всех современных USB ЦАПах такая поддержка имеется), однако реальное качество звучания зависит и от драйверов звукового интерфейса. Впрочем, найдётся немало теоретиков, которые будут утверждать, что драйверы не влияют на звук. Знаю случаи, когда вывод потока по WASAPI давал лучшие результаты, чем ASIO, вероятно, из-за ошибок в драйвере. Поэтому надо попробовать оба модуля и решить, какой из них вас больше устраивает.

Попутно рекомендую отказаться от использования встроенного в Foobar2000 регулятора громкости — держите его всегда на максимуме. У меня в плеере он вообще спрятан, чтобы не вводить в соблазн. Само собой, ни в коем случае не следует пользоваться и регулятором громкости Windows (он может быть иногда доступен даже при использовании ASIO, например, с картой ESI Juli@). Это же относится и к панелям управления звуковых плат.

Последующие разделы настроек пропускаем (от них качество звучания не зависит, но можно к ним самостоятельно вернуться, когда будет время) и переходим к пункту Playback. В окне справа в самом верху находим ReplayGain и в обоих полях ставим «none», то есть отключаем эту обработку. Хотя она может пригодиться для проигрывания сборников на танцах и вечеринках, когда не требуется высокой верности воспроизведения. Чуть ниже находим два движка Preamp — ставим их на 0.

Возвращаемся в древовидную структуру слева и заходим в подраздел Playback > DSP manager. Видим там два окна — левое должно быть абсолютно пустым. Если там что-то есть, подсвечиваем курсором и нажимаем стрелку, направленную вправо, удаляя тем самым плагин из левого окна. На самом деле этот раздел меню чрезвычайно интересен и позволяет производить самые разные манипуляции с цифровым потоком: менять частоту сэмплирования, преобразовывать многоканальные записи в стерео или моно (и наоборот), добавлять эффект «эхо», осуществлять бинауральную обработку для более комфортного прослушивания в наушниках, применять фильтры, накладывать эффекты (дисторшн и т.д.)… И если учесть, что Foobar2000 поддерживает VST-плагины, перечень возможных обработок может быть очень длинным. Сам я иногда использую модуль Convolver — с его помощью можно проводить de-emphasis, чтобы слушать рипы старых дисков, записанных с pre-emphasis. Но если ставится задача получить цифровой поток, наиболее точно соответствующий исходному, все эти плагины необходимо отключить. Если же требуется получить эффектный звук с дешёвыми компьютерными колонками, с ними можно поэкспериментировать.

Теперь переходим к самому интересному — разделу Playback > Output: в выпадающем меню Device мы должны выбрать интерфейс вывода. По умолчанию там стоит один из вариантов DS (Direct Sound) — для нас он совершенно неприемлем, поскольку поток с ним направляется через микшер Windows и может подвергаться пагубным обработкам, а ведь даже простая цифровая регулировка громкости способна убить звук. Интерфейс KS (Kernel Streaming) устарел, соответствующий плагин для Foobar2000 не обновлялся с 2006 года, и я, честно говоря, вообще не вижу в нём смысла. Самый оптимальный вариант — модуль ASIO для вашего звукового интерфейса (он содержится в драйверах звуковой карты) или USB ЦАПа.

Ещё один пункт в меню Playback > Output, на который стоит обратить внимание — Buffer length. По умолчанию там стоит 1000 мс — на некоторых машинах даёт положительный эффект его уменьшение до 500 мс и даже менее — при условии, конечно, что воспроизведение сохраняет непрерывность и плавность.

Ниже в этом меню расположена закладка ASIO (при условии, что установлен компонент ASIO support) — там следует поставить галочки в чекбоксах Use 64-bit ASIO drivers (естественно, если у вас 64-битная версия системы) и Run with high process priority. Ниже есть окно Custom channel mapping — там можно изменить распределение каналов интерфейса, если в том возникла необходимость.

Как уже писал выше, из любопытства можно попробовать WASAPI, и если он вдруг окажется лучшим, на нём и остановиться. Тогда в разделе меню Playback > Output появляется возможность выбрать разрядность вывода (Output format) — там надо установить максимальную разрядность, поддерживаемую звуковым интерфейсом (16 или 24 бит, а может, и 32 бита — если не будет звука, вернёте меньшее значение).

Загляните ещё в один раздел — Advanced > Playback > WASAPI, там можно изменить размер буфера, причём по отдельности для режимов push и event — нас интересует последний. Считается, что следует установить минимальное значение, при котором при воспроизведении ещё не появляются артефакты (спотыкания, щелчки и т.д.), то есть поток сохраняет непрерывность. В моей системе размер этого буфера на звук не влияет, на старом компьютере — влиял, и довольно сильно.

В тяжёлых ситуациях, когда имеющийся аудиоинтерфейс не поддерживает ASIO, а звучание WASAPI не нравится, можно попробовать дополнительный универсальный драйвер ASIO4ALL (www.asio4all.com) — многие относятся к нему с предубеждением (видимо, из-за сырых первых версий), но сейчас он работоспособен — при условии правильной настройки. Впрочем, это лишь временное решение: если вдруг обнаружилось, что у вашей звуковой карты отсутствует поддержка ASIO, следует всерьёз задуматься о её замене. Увы, но преодолеть недостатки железа программными средствами невозможно. Как уже не раз писал, в технике чудес не бывает, а джинн, вынесенный в заголовок — всего лишь художественный образ и ничего более.

P.S. Материал не претендует на исчерпывающее раскрытие темы. Если возникнут вопросы — пишите в рубрику «Вход > выход»: input@salonav.com. Публикацию в журнале не гарантирую, но постараюсь ответить каждому лично.

Почему компьютеры Apple обычно «звучат» лучше, чем PC под Windows?

Причин тому несколько.

Первая — разная организация работы со звуком. Если сравнить аудиоподсистемы в MacOS и Windows, преимущества первой становятся совершенно очевидными: малая задержка, кратчайший путь прохождения сигнала, отсутствие обработок и т.д., причём всё это даётся сразу и при настройках по умолчанию. Маленькая, но существенная деталь: большинство USB ЦАПов не требуют установки дополнительных драйверов на компьютеры Apple — подключай и слушай.

Вторая причина: в Windows-компьютерах нередко используются дешёвые комплектующие, например, тактовые генераторы, USB-контроллеры — техника Apple в массе своей отличается более тщательно отобранным железом, да и к софту претензии возникают реже.

В принципе, можно добиться bit perfect-вывода цифровой информации и на ПК, но для этого придётся предпринять определённые усилия — с особым вниманием подойти к выбору железа, настроить программу-проигрыватель, а в идеале добавить в систему высококачественный преобразователь интерфейсов, например, Berkeley Alpha USB или M2Tech hiFace EVO*. Думаю, в ближайшее время ассортимент таких преобразователей расширится. Тем более что их использование даёт существенную прибавку в качестве звука не только с ПК, но и с Apple.

Что такое ASIO и WASAPI и с чем их едят

Протокол ASIO (Audio Stream Input/Output) был разработан компанией Steinberg, чтобы преодолеть известные особенности Windows и сделать возможным профессиональную работу со звуком в этой ОС. В частности, он должен был снизить до приемлемого уровня задержки, не позволявшие, к примеру, записывать в студии вокал под заготовленный заранее аккомпанемент или делать живые концертные миксы.

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

Интерфейс WASAPI (Windows Audio Session API) появился, начиная с Vista, и перешёл во все последующие версии ОС. По умолчанию он работает в режиме Shared (совместный) и в каком-то смысле заменяет интерфейс DirectSound, которого в Windows, начиная с Vista, больше нет. После него цифровой поток проходит через множество других программных «слоёв», включая микшер, ресэмплер и другие, неизбежно вносящие в сигнал искажения.

Модуль WASAPI output support в проигрывателе Foobar2000 позволяет использовать этот интерфейс в режиме Exclusive — сигнал в нём передаётся с плеера на практически «прозрачный» уровень KST (Kernel Streaming Transport) и потом сразу — на драйвер вывода.

Также у WASAPI есть два режима буферизации — Event и Push, каждый из них отдельным пунктом в разделе настроек Playback > Output > Device. С точки зрения качества звука наиболее предпочтителен первый, но он работает далеко не со всеми звуковыми картами. Как видим, с ASIO всё значительно проще и вернее.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

  • Directsound драйвер для windows 7
  • Directplay не включается windows 10
  • Directory copy windows cmd
  • Directgrub для windows 7
  • Directaccess в windows server 2012