Зберегти і прочитати потім
Платформа 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 грає добре, але решта програмних плеєрів обходять його по звуку. Різниця у звуку не викликала сумнівів, пізніше вона підтвердилася інструментально – на ЦАП надходили різні дані. Ми вирішили розібратися: чому так походить, звідки може взятися ця різниця і чи фіксується вона вимірами? Чи можна мінімізувати цю проблему і якось гарантувати максимальну якість звуку?
Спочатку було вирішено поставити програму віртуального кабелю (нам підійшли 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 виконується якісно. Парадоксально, але на музиці перерахунок частоти таки чутний на високоякісній апаратурі. Звичайно, відмінності дуже невеликі, але для справжніх аудіофілів сам факт відмінностей є неприйнятним.
Чому ми вибрали саме файли 24int як тестові? Просто тому, що будь-яка обробка, навіть простий мікшерабо регулятор гучності з дизерингом, одразу руйнує їхню цілісність. Це буде видно одразу.
В результаті наших досліджень ми виявили гарантований спосіб отримання побитих даних у всіх протестованих плеєрах на платформі macOS X:
- Перезавантажити ноутбук (Macbook) примусово із завершенням усіх програм.
- Не запускати жодних програм. Особливо браузери та музичні програми.
- У розділі Програми/Утиліти в Налаштування Audio-MIDI.app необхідно вручну виставити режим звукового пристрою точно як у відтворюваного файлу.
- Не торкатися жодних регуляторів гучності ніде в ОС або в додатках.
- Звуковий пристрій повинен мати драйвера, що коректно працюють, і підтримувати ті ж оригінальні режими роботи, що і у властивостях у музичних файлів.
Так (і тільки так) буде забезпечена бітова передача даних, якщо вона в принципі можлива на вибраному звуковому пристрої та у вибраній програмі. Зрозуміло, що зрушений регулятор гучності або запущений еквалайзер взагалі не залишать від вихідних даних жодної йоти.
Очевидно, що такі жорсткі вимоги не сумісні з нормальним використанням комп'ютера. Порушення цих правил веде, згідно з нашими тестами, до втрати побитої передачі. Відбуватиметься перерахунок частоти дискретизації, з'являться відмінності, проілюстровані вище на графіках.
Вимірювання дозволили чітко побачити ситуації, коли установки зовсім неправильні або драйвера пристрою працюють некоректно. Вимірювання допомагають оптимізувати систему або призводять до висновку, що потрібно придбати новий звуковий пристрій. Жаль, що поки не існує версії програми 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 виглядає скромніше за функціями. Тут є лише автомат частоти та ексклюзивний режим звукового пристрою. Цей плеєр можна рекомендувати для потужних сучасних комп'ютерів Apple, яким не потрібні нові функції Audirvana Plus.
У розширених налаштуваннях у Vox є можливість завантажити весь файл на згадку, щоб не смикати носій. Таке має сенс на сучасних комп'ютерах із величезними обсягами ОЗП.

Плеєр Fidelia також має автомат частоти та перетворювач частоти дискретизації, де є свій інтерполюючий фільтр з лінійною фазою.
Захоплення пристрою та завантаження файлу в пам'ять є на вкладці General.
Fidelia має цікавий процесор звуку під навушники, який виймає канали з вух слухача та емулює звук колонок.