Тестируем аудиофильские программы-плееры для macOS X против штатного iTunes


Платформа macOS X обладает продвинутой звуковой подсистемой Core Audio. Одним из ее преимуществ над звуковой подсистемой Windows является, например, поддержка USB Class 2.0 Compliant. Таким образом, все совместимые устройства смогут работать без драйвера, с поддержкой всех современных форматов воспроизведения. Конечно, никто не мешает производителям написать собственные, более продвинутые драйвера со своей контрольной панелью и расширенными функциями.

Для macOS X существуют как встроенный программный музыкальный плеер iTunes, так и плееры сторонних производителей. При этом нас уверяют, что сторонние программные плееры дают ряд преимуществ и обеспечивают более высокое качество звука. Мы исследовали данный вопрос на примере плееров Audirvana Plus, Fidelia, Vox и надстройки BitPerfect над iTunes. Использовался MacBook Pro с операционной системой El Capitan.

Мы задались вопросом: влияет ли выбор плеера на качество звука? Первым делом было произведено прослушивание. Мы использовали внешний USB ЦАП Oppo HA-1 на базе ESS Sabre 32 ES9018 с наушниковым усилителем в классе А и планарно-магнитные наушники Oppo PM-2 с балансным подключением.

iTunes

Прослушивание показало, что iTunes играет хорошо, но остальные программные плееры обходят его по звуку. Разница в звуке не вызывала сомнений, позже она подтвердилась инструментально — на ЦАП приходили разные данные. Мы решили разобраться: почему так происходит, откуда может взяться эта разница и фиксируется ли она измерениями? А также можно ли минимизировать эту проблему и как-то гарантировать максимальное качество звука?

Сперва было решено поставить программу виртуального кабеля (нам подошли Soundflower и Jack OS X) для перенаправления потока данных из плеера в программу записи. В качестве такой программы была выбрана Adobe Audition 2017, так как у нас имелась лицензионная версия. К сожалению, сразу же возникло 2 проблемы. Во-первых, программа Adobe не смогла побитно записать тестовые 24-битные данные со входа, а все время преобразовывала их в 32float. Так сделано для возможности последующей профессиональной обработки. К сожалению, данные таким образом сохраняются не полностью, так как на хранение мантиссы в 32float выделено только 23 бита, плюс программа при сохранении в 24int норовит наложить TPDF-шум дизеринга. Вторая проблема заключалась в том, что плееры монопольно захватывали устройство, а программы для звукозаписи хотят получить доступ не только к записывающему, но и к воспроизводящему устройству. То есть iTunes так записать можно, но вот остальные плееры в их самом интересном режиме «захват звукового устройства» — нельзя.

После этой неудачи мы не сдались и попробовали воспользоваться двумя компьютерами. Один, Macbook, только воспроизводил звук. Второй компьютер записывал пришедшие данные по цифровому интерфейсу AES3. Сначала мы подключили к Macbook довольно дорогое профессиональное устройство, со встроенным микшером и аппаратными эффектами. К сожалению, данные побитно передать не удалось. Устройство было заменено на примитивный звуковой USB-интерфейс без своих драйверов, на чипе Tenor, с поддержкой максимального формата 24 бит 96 кГц. И о чудо! Записанный нами файл полностью совпал с файлом, который мы послали на воспроизведение в плеере внутри Macbook. В качестве приемного устройства выступал ПК с установленной профессиональной звуковой картой Lynx Two-B с комплектным цифровым кабелем AES3. Программа для записи — RMAA нашей разработки. Данная тестовая программа создана с единственной целью: выбрать нужный канал звукового устройств и записать данные в файл. Возможно, есть и другие программы, которые умеют то же самое, но мы не стали терять время на поиски. Кроме того, в случае различий в записанных файлах программа RMAA дает возможность проанализовать, что именно изменилось.

Измерения в RMAA

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

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

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


Также мы провели запись с аналогового XLR-выхода USB ЦАП Oppo HA-1 на XLR-вход Aurora 8. По тестам через ЦАП и АЦП даже самого высокого качества, к сожалению, ничего понять нельзя — отличия слишком уж ничтожные. «44» на графике — это побитная передачи, «384» — это преобразование из 44 кГц в 384 кГц средствами Core Audio.


Надо отдать должное: пересчет даже средствами Core Audio выполняется качественно. Парадоксально, но на музыке пересчет частоты все-таки слышен на высококачественной аппаратуре. Конечно, отличия очень небольшие, но для истинных аудиофилов сам факт отличий неприемлем.

Таким образом, чтобы убедиться наверняка, что с данными все в порядке, для побитного анализа файлов необходимо применять Hex-редактор или специальные утилиты, точно выравнивающие данные и производящие вычитание оригинала из записанного файла. Мы попробовали программы Audio DiffMaker и WavDiff. Интересной особенностью Audio DiffMaker является то, что программа пытается также выявить степень отличия полученных файлов. К сожалению, минус таких программ в том, что даже один и тот же файл почему-то не вычитается в программе в 0, как задумано. Что-то может оставаться, а диагностика имеет конечную точность и показывает отличия между одним и тем же файлом как −300 дБ. Возможно, эти программы не очень рассчитаны на целочисленные данные и тоже переводят все внутри себя во float.

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

Самый надежный способ — это Hex-редактор и визуальный анализ данных. Необходимо запустить две копии программы и совместить данные в столбцах. Далее провести визуальный анализ. Как видно из картинки, данные существенно смещены по времени, однако все цифры в точности совпадают. Не будем утомлять читателя одинаковыми картинками для всех плееров, сразу перейдем к выводу.

В итоге наших исследований мы выявили гарантированный способ получения побитных данных во всех протестированных плеерах на платформе macOS X:

  1. Перезагрузить ноутбук (Macbook) принудительно с завершением всех приложений.
  2. Не запускать никакие программы. Особенно браузеры и музыкальные приложения.
  3. В разделе Программы/Утилиты в Настройка Audio-MIDI.app необходимо вручную выставить режим звукового устройства в точности как у воспроизводимого файла.
  4. Не трогать никакие регуляторы громкости нигде в ОС или в приложениях.
  5. Звуковое устройство должно иметь корректно работающие драйвера и поддерживать те же оригинальные режимы работы, что и в свойствах у музыкальных файлов.

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

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

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

Итак, несмотря на распространенные мифы о заботе Apple о пользователе, звуковая подсистема Core Audio по умолчанию поступает со звуковыми данными на свое усмотрение, аналогично тому, как это делает подсистема Windows и любая другая. Поэтому для macOS X и написаны сторонние приложения для качественного воспроизведения музыки.

BitPerfect

Для тех, кому нравится iTunes, существует стороннее приложение BitPerfect. Оно не имеет отдельной оболочки и встраивается в системное меню. BitPerfect автоматически, прозрачно для пользователя, интегрируется в iTunes и выставляет режим устройства в точности как у очередного файла в плейлисте.

BitPerfect имеет ценные пояснения по функциям, которые всплывают при наведении мыши. Целочисленный режим позволяет транслировать данные в устройство без необходимости перевода в пространство с плавающей запятой. Данная функция может не работать в старых версиях ОС.

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

В случае устройства Oppo HA-1, которое поддерживает все возможные форматы, вся эта вкладка нам совершенно не нужна, так как она будет заведомо ухудшать качество звука. Для прослушивания звука так, как это задумали на студии звукозаписи, следует оставить значение по умолчанию: Do Not Upsample.

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

Увеличенный размер буфера снижает нагрузку на CPU, что позволяет решить проблему со щелчками. Размер буфера не способен повлиять на качество звука, если все и так воспроизводится нормально. Буфер здесь имеется в виду программный, между плеером и драйвером устройства.

Оговоримся, что BitPerfect не является панацеей и требует для максимального качества записей поддержки всех необходимых режимов и возможности побитного вывода данных. Bit perfect, то есть «побитовая точность», возможна только в этом случае.

Audirvana Plus

Audirvana Plus имеет сразу несколько интересных настроек: режим монопольного доступа, прямой режим, увеличенный буфер, целочисленный режим. Также есть возможность приглушить громкость при смене режима устройства, если устройство при этом дает щелчок. Есть и другие мелкие приятности. Все функции выглядят интересно. Плеер Audirvana Plus показался нам наиболее проработанным.

Exclusive access mode (в других плеерах это может быть Hog Mode) — это захват устройства звуковым приложением для предотвращения микширования нескольких сигналов в программном микшере Core Audio. Выше мы говорили, что одним из требований побитного режима в iTunes является запрет запуска других приложений. Плеере Audirvana позволяет не думать об этой проблеме и запускать прочие приложения. Попытка использования устройства другим приложением приведет к сообщению о занятом устройстве. Чтобы эти сообщения не раздражали пользователя, устройством по умолчанию в системе следует поставить интегрированный звук, а в плеере выбрать звуковое устройство, которое будет только качественно играть музыку. В данном случае был выбран ЦАП Oppo HA-1.

Direct Mode создан для старых версий macOS, в которых был невозможен вывод звука через Core Audio в целочисленном формате, без преобразования в формат с плавающей запятой. Direct Mode позволяет посылать данные устройству в обход Core Audio, в этом случае достигается побитная передача данных. Direct Mode может работать корректно не на всех компьютерах, особенно новых. Могут быть щелчки, может быть задержка 20-40 секунд перед запуском очередного трэка в плейлисте, может отсутствовать индикатор текущего положения при воспроизведении, поэтому по умолчанию этот режим выключен. В нашем случае DirectMode не работал, однако наша версия ОС поддерживала побитный вывод данных без обхода Core Audio.

Integer mode — позволяет передать данные на ЦАП без преобразований. По умолчанию включен.

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

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

Плеер поддерживает AU-плагины, где есть, например, 31-полосный графический эквалайзер.

Вкладка Audio Volume позволяет выбрать тип регулировки громкости. Понятно, что любое вмешательство в громкость сигнала сразу меняет всю его структуру, а значит, снижает качество. Однако некоторые ЦАП имеют собственные средства изменения громкости, которые могут оказаться предпочтительнее программного движка громкости в Core Audio.

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

Vox

Плеер Vox выглядит поскромнее по функциям. Здесь есть только автомат частоты и эксклюзивный режим звукового устройства. Этот плеер можно рекомендовать для мощных современных компьютеров Apple, которым не требуются продвинутые функции Audirvana Plus.

В расширенных настройках у Vox есть возможность загрузить весь файл в память, чтобы не дергать носитель. Такое имеет смысл на современных компьютерах с огромными объемами ОЗУ.

Fidelia

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

Захват устройства и загрузка файла в память имеются на вкладке General.

У Fidelia есть интересный процессор звука под наушники, который вынимает каналы из ушей слушателя и эмулирует звук колонок.

Сравнительная таблица


iTunes BitPerfect Audirvana Plus Vox Fidelia
Стоимость бесплатно $10 $74 бесплатно $30
Выбор звукового устройства нет да да да да
Автомат частоты нет да да да да
Захват устройства нет да да да да
Загрузка файла в память нет да да да да
Mute во время смены режимов нет нет да нет нет
Высокий приоритет плеера нет нет да нет нет

В целом, Audirvana Plus проявил себя как наиболее проработанный плеер для прослушивания музыки на платформе Apple Mac. Здесь все сделано для прослушивания музыки в реальной жизни, когда компьютер используется и под другие задачи. Но и стоимость этого плеера самая высокая. Если у вас нет желания тратить деньги, то Vox выглядит довольно неплохо. Если нравится интерфейс iTunes, то можно пойти на компромисс и купить не очень уж дорогую надстройку BitPerfect.

Выводы

Итак, высококачественное побитное воспроизведение музыки на компьютерах с macOS X возможно даже при использовании iTunes, но только если вы согласны вручную менять настройки устройства воспроизведения в дебрях ОС и не запускать другие программы, которые выводят звук. Если компьютер при этом активно используется, то лучше использовать сторонние медиаплееры. Они обеспечат автомат частоты и монопольный захват устройства воспроизведения, чтобы не дать другим приложениям подмешивать ничего в звуковой тракт.

Однако качество итогового звука на 99% будет определяться не программой, а выбранным звуковым устройством, в котором и формируется выходной сигнал. Задача программы — лишь перевести ЦАП в нужный режим и подать неискаженные данные. Поэтому на следующем шаге после выбора программы-плеера следует уделить особенное внимание выбору звукового устройства.


Благодарим российское представительство компании Oppo Digital
за предоставленный на тестирование USB ЦАП Oppo HA-1 и наушники Oppo PM-2
Дополнительно

ВИКТОРИНА SILVERSTONE

Модели какого цвета не существует в серии корпусов RL06?

Нашли ошибку на сайте? Выделите текст и нажмите Shift+Enter

Код для блога бета

Выделите HTML-код в поле, скопируйте его в буфер и вставьте в свой блог.