Высококачественные цифровые источники звука
Д. ПАНКРАТЬЕВ, г. Ташкент, Узбекистан
Рано или поздно для разработчика или пользователя аудиотехники класса Hi-Fi или Hi-End наступает момент, когда совокупность объективных и субъективных параметров УМЗЧ начинает значительно превосходить возможности используемых в комплексе источников звука. Причин может быть множество, но любая из них так или иначе заставляет искать новые решения, более стабильные и удовлетворяющие самый взыскательный слух. В этой статье рассматривается комплекс таких мер по повышению качественных показателей источников звука, начиная от выбора типа цифроаналогового преобразователя (ЦАП — DAC) и программного аудиоплеера и заканчивая самостоятельным созданием мультимедийного центра на основе одноплатного микрокомпьютера класса Pi (Raspberry Pi и аналогичные). Большинство рассматриваемых программных продуктов предусматривает реализацию под управлением ОС семейства Linux, что обусловлено как объективными, так и субъективными общеизвестными причинами.
Для воспроизведения звука от любого цифрового источника, разумеется, требуется DAC, который может представлять собой самостоятельное устройство или являться основной функциональной частью звуковой карты. Принципиальным отличием DAC от звуковой карты как класса оборудования является отсутствие устройств аудиоввода и разного рода аппаратных предусилителей, например, для подключения головных телефонов. В подавляющем большинстве случаев DAC не страдают от подключения низкоомной нагрузки к выходам и, более того, предусматривают это в токовом режиме. Отдельные каскады усиления мощности и частотной коррекции в них не применяются, поскольку вносят в результирующий аналоговый сигнал нелинейные, частотные и другие искажения. Задача же DAC состоит в формировании высококачественного аналогового сигнала, наиболее точно соответствующего цифровому оригиналу. В то же время в самих DAC часто предусмотрен функционал программируемых цифровых фильтров и de-emphasis (обратной частотной коррекции). Звуковая карта, в простейшем случае, содержит выходной линейный буферный каскад на ОУ, предназначенный для унифицированного сопряжения с наиболее широкой номенклатурой внешних устройств и нагрузок. Наиболее "про
двинутые" звуковые карты снабжены гораздо более развитой периферией, например, различными коммутаторами сигналов, частотными корректорами, аудиопроцессорами, устройствами ввода и др. Во избежание действий рекламного характера конкретные типы готовых устройств и бренды их изготовителей в статье не указываются. Описание ограничено указанием типов интегральных микросхем, применяемых в DAC и звуковых картах.
Наиболее широко представлены DAC со следующими типами проводных интерфейсов для подключения к источникам цифровых аудиоданных: USB, HDMI и I2S. USB-интерфейс весьма распространён и отличается наибольшей оперативностью, мобильностью и универсальностью в смысле совместимости с различными устройствами. Подавляющее большинство USB DAC поддерживают спецификации USB Audio Device Class Definition [1] и USB Human Interface Device (HID) Class Definition [2] и потому, как правило, начинают работать "из коробки" в любой современной ОС распространённых семейств Linux, MacOS или Windows. HDMI [3] поддерживает передачу многоканальных цифровых аудиосигналов, однако, в силу своей специфики, больше соответствует стационарным системам, например, домашним кинозалам. Также он де-факто признан стандартом комплексного видео-аудио интерфейса для компьютеров практически всех классов, за исключением промышленных (в основном по банальной причине отсутствия механических фиксаторов разъёмов). Интерфейс I2S используется для "ближней" передачи ИКМ-аудиоданных между отдельными блоками и модулями цифровых аудиоустройств [4]. Его встроенная аппаратная поддержка характерна, например, для одноплатных компьютеров Raspberry Pi, Orange Pi, Odroid и аналогичных. Менее распространённые интерфейсы VESA DisplayPort [5], Apple/lntel Thunderbolt [6], MHL от Nokia, Toshiba и Sony [7] и более экзотические и специфические TDM и др. [8] в рамках данной статьи не рассматриваются. Хотя MHL может быть односторонне "состыкован" с HDMI с помощью простого пассивного переходника при использовании устройства с HDMI как приёмника сигнала [9].
На сегодняшний день большинство качественных DAC с USB-интерфейсом построены, как правило, на основе чипов семейства ES90x8 от легендарного производителя Sabre [10, 11], AD 1955 от Analog Devices [12] и Asahi Kasei Microdevises семейства Vertita AK449x [13]. Причём разработчики последнего утверждают, что их DAC, начиная с АК4396, принципиально отличаются от других моделей реализацией встроенных фильтров дельта-сигма демодулятора с применением переключаемых конденсаторов. Благодаря этому за пределами полосы пропускания звука в выходном сигнале практически отсутствует ВЧ-шум квантования [14] . Чипы DAC обычно применяются в связке с аудиопроцессорами SA9023A
[15] , СТ7601 [ 16], СМ6631А [ 17], ТЕ7022 [18], Amanero ATSAM3U1CA-AU [19], XMOS U8/XU208 [20, 21], используемыми как преобразователи USB-интер-фейса в стандарты I2S, DSD (Direct Stream Digital) [22] и SPDIF [23].
Ограничение списка указанными наименованиями не означает, что не существует других решений в этом сегменте, но означает, во-первых, что перечисленные платформы широко распространены, и, во-вторых, практически от любого устройства на их основе следует ожидать соответствия достаточно высоким требованиям.
Типовые электрические параметры флагманского ES9038PRO [10]- Разрядность аудиоданных, бит 32
- Поддержка формата РСМ (импульсно-кодовая модуляция — ИКМ) — до 768 кГц/32 бит, DSD1024, DSD256 (DoP)
- Число каналов 8
- Динамический диапазон в
- режимах моно/восемь ка-
- налов, дБ 140/132
- Интегральный показатель
- THD+N (КНИ+шум), дБ -122
- Частота среза сглаживающе-
- го фильтра, МГц 1,536
- Конфигурация выходов моно,
- стерео, восьмиканальный в режиме напряжение/ток Выходное сопротивление в
- токовом режиме, Ом 806
Для сравнения, наиболее значительными отличиями модели ES9018 [11] являются меньшие значения динамического диапазона (135/129 дБ) и интегрального показателя THD+N (-120 дБ).
DAC AD 1955 [12] обладает несколько более "скромными" параметрами, что, однако, не выводит его из категории "тяжеловесов" среди DAC.
Основные параметры DAC AD1955- Разрядность аудиоданных, бит 16/18/20/24
- Поддержка формата РСМ до 192 кГц/24бит
- Динамический диапазон при частоте дискретизации 48 кГц в режимах моно/ стерео, дБ 123/120
- Интегральный показатель THD+N (КНИ+шум), дБ -110
Очевидно, что любой из перечисленных чипов DAC объективно обеспечивает качество звучания, в целом соответствующее требованиям, предъявляемым к звуковому оборудованию классов Hi-Fi и Hi-End, а в ряде случаев даже их превосходит и отвечает условиям более высокого класса устройств Hi-Res (High Resolution — высокая чёткость). Дальше начинаются, как обычно, нюансы и "пляски с бубнами" аудиофилов с выяснениями степени "шероховатости" басов, "резкости" ВЧ или различных видов "тепла". При этом вполне можно оставить за скобками эффекты второго порядка, которые, конечно, имеют место быть, но чаще служат субъективным, нежели объективным обоснованием выбора определённого типа или бренда устройств, такие как значение джиттера сигнала синхронизации интерфейса I2S в конкретной аппаратной реализации, ресэмплинг и др.

Что касается стандарта HDMI, базовым форматом представления аудиоданных в нём является несжатый двухканальный РСМ с частотой дискретизации 32/44,1/48 кГц [24, 25]. Также поддерживаются LPCM [26], DSD и, естественно, форматы звукового сопровождения DVD — DTS [27] и Dolby Digital [28]. HDMI версии 2.0 и выше поддерживает до 32 каналов несжатого аудио с разрядностью 16/20/24 бита и стандартными значениями частоты дискретизации 32/44/48/88,2/96/176,4/192 кГц.
Для извлечения звуковой составляющей из комплекса интерфейсных сигналов HDMI применяются специальные устройства — аудиоэкстракторы или HDMI-сплиттеры. Как правило, они выполнены на чипах Semiconn семейства ЕР92А2Е/ЕР92АЗЕ [29—31] или аналогичных. Функционал этих чипов огромен, связан с обработкой и формированием комплексных сигналов HDMI, но в данном случае нас интересует небольшая его часть, а именно декодирование аудио из HDMI в форматы восьмиканального I2S/DSD и SPDIF. Для внешних подключений, как правило, используется SPDIF в физической реализации RCA (коаксиальный) и/или TOSLINK (оптический) [32]. Аудиоданные в формате I2S поступают на внутренний DAC и преобразуются в аналоговый звуковой сигнал, который также выводится "наружу" через разъёмы RCA или 3.5 JACK. Обычно такие устройства снабжаются удобными опциями, в частности, переключателем режима аудиовыхода 5.1CH/2CH/PASS, что соответствует подаче звукового сигнала на физические выходы SPDIF/JACK/HDML
Перейдём к рассмотрению наиболее интересного класса — I2S DAC. Стандарт представления I2S (IIS) отличается тем, что сигналы синхронизации и собственно данные передаются по отдельным физическим линиям связи, что существенно уменьшает проявление эффекта джиттера (фазового дрожания) и в целом благотворно сказывается на результирующем качестве звучания. При этом поочерёдно передаются сигналы двух каналов в формате РСМ с программно-конфигурируемой разрядностью 16/32 бита и типовой частотой дискретизации в диапазоне 8... 192 кГц [33]. Для подключения устройств к шине I2S используются сигнальные линии:
- — битовой синхронизации ВСК или CLK;
- — выбора канала WS (Word Select), иначе именуемая LRCK, LRCLK, SCK;
- — линия последовательных данных SD (Serial Data), которая также может называться SDATA, DATA, DOUT/DIN и т. п.
Следует отметить два важных с практической точки зрения момента: протокол I2S не имеет встроенной реализации защиты от ошибок и проверки данных, а потому линии передачи данных оказываются достаточно чувствительны к состоянию и длине, во-вторых, спецификация I2S не определяет максимальное значение тактовой частоты. В силу первой причины рекомендуется, чтобы I2S DAC располагался как можно ближе к источнику сигнала, и длина проводников не превышала 20 см. Тем не менее, для "дальней" передачи на расстояние 1 м и более могут быть применены кабели и разъёмы HDMI или даже обычные экранированные провода с разъёмами RCA. Благодаря возможности повышения тактовой частоты протокол I2S может быть использован (и используется) для передачи различных типов данных, даже видео, но это выходит за рамки данной статьи.
Формат I2S тесно соседствует с ещё одним форматом последовательного представления аудиоданных DSD (Direct Stream Digital). Как видно из приведённых выше характеристик, практически все DAC обеспечивают поддержку этого формата как в нативной (чистой) реализации, так и в виде DSD over РСМ (DoP). DSD представляет собой, по сути, однобитный выходной сигнал дельта-сигма АЦП с высокой частотой дискретизации 2,8224 МГц (DSD64, базовый вариант). Существуют варианты с частотами дискретизации 5,6448 МГц (DSD128)/11,2896 МГц (DSD256)/22,5792 МГц (DSD512). Значение амплитуды выборки аналогового сигнала коррелирует с плотностью импульсов, поэтому этот метод называется также плотностно-импульсной модуляцией (PDM — Pulse-density modulation). Благодаря многократной передискретизации модуль спектральной плотности мощности шума весьма мал, и DSD способна обеспечить динамический диапазон до 120 дБ. Возникновение разновидности DoP связано с
тем, что на начальных этапах становления формата DSD запись производилась с применением профессиональных программно-аппаратных комплексов, работающих в стандарте РСМ, что требовало промежуточного перевода данных в привычный формат представления. Тем не менее, независимо от качества звучания, в случае DoP нивелируется заявленная суть Direct Stream Digital как прямого потока от исполнителя к слушателю. Поскольку сигнал в формате DSD не может быть подвергнут непосредственной обработке обычными методами, специально для этих целей была также разработана ИКМ-раз-новидность сверхвысокого разрешения DXD с разрядностью 24/32 бита и частотой дискретизации 352,8 кГц. Аналогичными параметрами обладает также Hi-Res формат Master Quality Authenticated (MQA) [34], представленный Meridian Audio в 2014 г. и одобренный RIAA для использования в своих продуктах.
Что касается I2S DAC, то, как было отмечено ранее, эту функцию могут выполнять чипы семейства ES90x8. Другими типичными и распространёнными представителями I2S DAC являются специализированные чипы РСМ510х от Texas Instruments [35] и UDA1334A от Philips Semiconductors (ныне NXP) [36].
Основные характеристики DAC РСМ5102- Разрядность аудиоданных, бит 16/24/32
- Частота дискретизации, кГц . . . .8...384
- Отношение сигнал/шум, дБ -112
- Интегральный показатель
- THD+N (КНИ+шум), дБ -93
- UDA1334A имеет следующие параметры:
- Разрядность аудиоданных,
- бит 24
- Частота дискретизации, кГц. . .16... 100
- Отношение сигнал/шум, дБ -100
- Интегральный показатель
- THD+N (КНИ+шум), дБ -90
Рассмотрим вопрос подключения I2S DAC к одноплатному микрокомпьютеру на примере Orange Pi PC Plus, работающего под управлением ОС ARMbian [37], и комплекта DIY на основе РСМ5102 или UDA1334A. Этот вариант, несомненно, является более бюджетным и сложным в воплощении, по сравнению, например, с "решением из коробки" Raspberry Pi/ES9038 Pro, но, тем не менее, объективно обеспечивает высококачественное звучание. Следует отметить, что интерфейс I2S всех одноплатных компьютеров семейства Pi обеспечивает поддержку частоты дискретизации 192 кГц при разрядности 24 бита. Задача использования этого интерфейса на Orange Pi сама по себе достаточно нетривиальная, а потому интересная. Есть основания полагать, что именно по причине повышенной сложности полноценной реализации такое решение зачастую объявляется не соответствующим требованиям истинных аудиофилов. Ситуация вполне описывается одной распространённой поговоркой: "Вы просто не умеете это готовить...".
Итак, предположим, что ОС ARMbian предварительно установлена, и доступ к ней в локальной сети через SSH обеспечен. В целом, на этом этапе обычно проблем не возникает, а потому его описание здесь не приводится. Детальное описание процесса установки приведено, например в [38]. На текущий момент актуальной версией ARMbian является 23.08 [39].

Для базового конфигурирования драйверов ОС (подсистемы взаимодействия с аппаратной частью) удобно использовать стандартную системную утилиту armbian-config (здесь и далее по тексту команды и инструкции выделены курсивом, а знаки препинания не имеют отношения к формату консольных команд, за исключением отдельно оговорённых или очевидных случаев, например, точки перед расширением файла). Её необходимо запускать от имени суперпользователя root с помощью префиксной команды sudo. Внешний вид главного окна программы показан на рис. 1. При переходе в пункт меню System, и затем в подменю Hardware (рис. 2), мы, соответственно, получим доступ к настройкам периферийного аппаратного обеспечения (рис. 3). Здесь, в частности, можно управлять частотой ЦПУ, активировать интерфейсы I2C, UART, поддержку аппаратной ШИМ и др. Для решения наших задач следует убедиться, что выделен пункт audio-codec (звуковая подсистема) и, при необходимости, включить интерфейс spdif-out выбором соответствующего пункта. На этом очевидные действия заканчиваются.
Наиболее сложным моментом является активация поддержки I2S в ОС. Этот режим не может быть активирован подобно spdif-out простым выбором опций в меню утилиты armbian-config, а требует ручной правки ряда программных модулей ядра Linux. Следует отметить, что в современных версиях ARMbian привычный способ хранения данных аппаратной конфигурации в бинарных файлах типа .bin и изменения конфигурации редактированием соответствующих им файлов .fex, заменён на систему Overlays (наложений, совмещений или слоев) [40]. Это обычно и является первым затруднением при попытках конфигурирования устройств.
На самом деле новая система конфигурации довольно проста и эффективна. Для каждого физического устройства создаётся соответствующий ему файл слоя, вернее сказать, файл описания или образ в специальном текстовом формате DTS, с указанием совместимых платформ, используемых драйверов, аппаратных интерфейсов и выводов для внешних подключений и ряда других параметров. Затем созданный образ устройства указывается в файле описания аппаратного окружения для активации в ходе загрузки ОС.
Внедрение такого способа объясняется тем, что большинство встроенных интерфейсов и GPIO (SPI, I2C, I2S, UART и т. д.) не имеет механизма обнаружения и идентификации устройств, подключённых к шине, поэтому ядру Linux необходимо явно сообщить об устройстве и его конфигурации. Вводимый в этой связи термин Device Tree ( дерево устройств) служит для представления ядру конфигурации оборудования, а под наложением или слоем подразумевается способ модификации "дерева", с целью предоставления ядру и драйверам необходимых данных о внешних устройствах. С точки зрения перспективной разработки ядра Linux, все неиспользуемые внутренние интерфейсы, использующие GPIO, должны быть отключены по умолчанию, а все контакты интерфейса GPIO должны быть сконфигурированы стандартным образом. В реализации ARMbian слои DT являются функциями непрерывной разработки (Work-in-Progress/WIP) и соответствуют определённым образам.
Естественно, что разные SoC (System-On-Chip или однокристальные устройства) будут иметь разные наборы доступных образов. В нашем случае, в Orange Pi PC Plus используется Allwinner H3 SoC с четырёхядерным ЦПУ Cortex-А7 ARM. Поддержка ЦПУ семейства Allwinner в ядре Linux осуществляется сообществом разработчиков Sunxi Community [41]. Устойчивая поддержка I2S на всей линейке семейства Orange Pi обеспечивается, начиная с версии Armbian v5.05 (2016-03-08), внедрение системы конфигурации Overlays на уровне ядра для Allwinner НЗ — с версии v5.20 (2016-09-16), а полноценная реализация Device Tree overlays появляется в версии v5.30 (2017-06-14) [39]. С особенностями подключения интерфейса I2S в "старых" версиях ОС можно ознакомиться в доступных интернет-источ-никах, например [42]. Мы же, естественно, будем рассматривать современный способ реализации.
Отметим, что имеющийся в утилите armbian-config пункт меню System-Dtc не предоставляет удобного (user-frendly) интерфейса для модификации дерева устройств WIP, а просто открывает в консольном текстовом редакторе nano файл текущей конфигурации /tmp/current.dts, поэтому пользоваться этим пунктом следует с осторожностью.
Перед началом работ рекомендуется установить менеджер файлов Midnight Commander (МС) [43]. Это — клон легендарного Norton Commander для DOS, который позволяет существенно облегчить и ускорить работу с файловой системой Linux. Его установка производится консольной командой sudo apt-get install тс.
После установки запускаем МС от имени администратора root командой sudo тс. Переходим в директорию
/boot/overlay-user, которая содержит пользовательские файлы описаний устройств, и нажатием клавиш (Shift+F4) открываем окно встроенного текстового редактора МС для создания нового файла в текущей директории. Содержимое нового файла приведено в табл. 1. По завершении редактирования с помощью клавиши F2 сохраняем его в выбранной директории под именем sun8i-h3-i2s-out.dts. Права доступа на этот файл должны иметь значение 755. Права доступа к любому файлу или директории Linux можно проверить с помощью команды Is -I [filename] или через меню МС File-Advanced chown. Для установки прав используется команда chown или тот же пункт меню МС.
Заметим, что назначение клавиш и их сочетания в МС в основном соответствуют принятым в Norton Commander. Так как строка с описанием назначения основных клавиш в MC/NC находится снизу окна программы, и она имеет развитое и интуитивно понятное меню, в дальнейшем явное указание сочетаний клавиш, используемых для выполнения определённых функций и действий, как правило, будет опускаться или сокращённо указываться в круглых скобках. Справку по использованию любой команды Linux можно получить, введя её с ключом -h или --help. Файлы конфигурации можно, как обычно, создавать и редактировать в любом консольном текстовом редакторе ОС Linux, например, vim или штатном nano. Главное, чтобы файлы находились в нужных каталогах и имели необходимые права доступа.
Далее, не выходя из текущей директории и временно скрыв панели МС (Ctrl+O), выполняем команду armbian-add-overlay sun8i-h3-i2s-out.dts. При этом в текущей директории создаётся файл sun8i-h3-l2S-out.dtbo. Вновь включив панели, убеждаемся в его наличии, после чего переходим к редактированию файла описания аппаратного окружения /boot/armbianEnv.txt и непосредственно после имеющейся в нём строки, содержащей запись over-lays=analog-codec, добавляем строку user _over Iays=sun8i-h3-i2s-out. Владельцем файлов armbianEnv.txt и sun8i-h3-l2S-out.dtbo является суперпользователь root, права доступа — 644. Далее выполняем перезагрузку ОС командой reboot.
Чтобы удостовериться в том, что интерфейс I2S активен и готов к использованию, воспользуемся утилитой aplay. Это консольная программа, осуществляющая проигрывание несжатых звуковых файлов с помощью стандартной аудиоподсистемы ALSA [44, 45]. Она может выполнять ряд сервисных функций, которые задаются указанием соответствующих ключей. Эта утилита входит в состав пакета alsa-utils, поэтому перед её использованием необходимо выполнить команду установки этого и ряда сопутствующих пакетов sudo apt-get install alsa alsa-utils alsa-firm-ware alsa-card-profiles alsa-plugins.
Теперь запускаем команду aplay -I, в результате выполнения которой на дисплей выводится список активных звуковых устройств и соответствующих кодеков. Пример показан на рис. 4. В этом случае нас интересует строка с записью card 1: I2S master. Номера устройств, их общее число и порядок могут быть другими, в зависимости от конкретной аппаратной конфигурации. Наличие такой строки свидетельствует о правильности настройки интерфейса I2S. При этом нет необходимости в подклю-
чении к нему внешнего DAC.
Аналогичная информация, но без указания типов используемых драйверов, может быть получена с помощью команды cat /proc/asound/cards, которая выводит на дисплей содержимое соответствующего файла конфигурации ALSA (рис. 5).
Гораздо более обширная информация, при необходимости, может быть получена запуском скрипта alsa-info. Как видно из сообщения, появляющегося при запуске (рис. 6), эта программа осуществляет сбор диагностической информации с помощью целого ряда системных утилит и файлов конфигурации, в частности, dmesg, Ispci, aplay, amixer и др. Собранную информацию она помещает в файл с именем alsa-info.txt, содержащим уникальный идентификатор, в директории tmp. Этот файл можно просмотреть в любом текстовом редакторе. Фрагменты содержимого файла показаны на рис. 7—рис. 10.
Для мониторинга и управления устройствами звуковой подсистемы ALSA предназначен консольный микшер amixer. Результат выполнения команды amixer -h (вывод справки по использованию этой программы) показан на рис. 1 1 .
Доступные встроенные команды этой утилиты:
- — scontrols — вывод списка всех простых элементов управления (пример для устройства по умолчанию card О показан на рис. 12);
- — scontents — вывод значений параметров всех простых элементов управления (команда по умолчанию, фрагмент
- вывода показан на рис. 13);
- — sset sID Р — установка значения простого элемента управления;
- — sget sID — получение значения простого элемента управления;
- — controls — вывод списка элементов управления для определённой карты (пример для устройства по умолчанию card 0 показан на рис. 12);
- — contents — вывод значений параметров элементов управления для определённой карты;
- — cset clD Р — установка значения элемента управления;
- — cget clD — получение значения элемента управления.
Команды set | sset <SCONTROL> <PARAMETER> позволяют установить значения параметров элементов управления простым микшером. Параметр может определять уровень громкости, S выраженный в процентах от 0 % до 100 % с суффиксом %, усиление в дБ с суффиксом dB (например, -12,5 dB) « или иметь точное значение. Значение о уровня, выраженное в дБ, допускается
х использовать только для элементов
5 микшера, информация о которых пред-ставлена в таких же единицах. Если после значения громкости добавляется знак плюс (+) или минус (-), уровень громкости соответственно увеличивается или уменьшается относительно текущего значения.
Основные опции:
— -с | --cardN — выбор карты;
— -D | --device N — выбор устройства (по умолчанию ’default’);
—s | —stdin — последовательный ввод команд.
При указании этих опций могут быть выполнены только команды sset и cset. Другие команды и аргументы игнорируются. Команды для несовпадающих идентификаторов также игнорируются без сообщений об ошибках.
Примерами использования данного консольного микшера могут служить команды:
- — amixer —card 3 controls, которая выводит список элементов управления 3-й карты (рис. 14);
- — amixer —card 3 cset 4 127, которая присваивает 4-му элементу управления 3-й карты значение 127.
Разница между встроенными командами scontrols и controls видна на рис. 12 — вторая выводит подробный список элементов управления с указанием имён и идентификаторов составляющих их устройств.
Ещё одной полезной программой того же класса, гораздо более удобной для использования, является alsamixer. Она также предназначена для мониторинга и оперативного управления параметрами звука подсистемы ALSA и имеет продвинутый псевдографический интерфейс, общий вид которого показан на рис. 15. Интерфейс интуитивно понятен и снабжён развитой системой подсказок и комментариев. Для выбора параметров и изменения их текущих значений используются клавиши со стрелками. Для выбора звуковой карты служит клавиша F6 (рис. 16). Для получения системной информации можно воспользоваться клавишей F2, после чего будет предложено выбрать файл-источник данных (рис. 17).
После настройки ОС Linux и звуковой подсистемы ALSA логичным образом возникает вопрос выбора программного обеспечения для проигрывания звуковых файлов, управления списком воспроизведения и реализации ряда дополнительных функций. Для десктопных версий распространённых ОС существует обширный класс плееров, рассматривать которые в этой статье нет необходимости, поскольку, во-первых, это тема для отдельного большого обзора, даже в отношении одной только ОС Linux, и, во-вторых, практически каждый пользователь ПК, независимо от уровня компетенции, имеет свои личные предпочтения. Однако всё же имеет смысл обозначить некоторые основные критерии, которым должен удовлетворять плеер с точки зрения пригодности для высококачественного воспроизведения под управлением ОС Linux в комплексе с УМЗЧ класса Hi-Fi или Hi-End.
Следует акцентировать внимание на том моменте, что здесь говорится именно об УМЗЧ в смысле его классического определения как самостоятельном блочномодульном устройстве, предназначенном для усиления сигналов звуковых частот по мощности с целью последующего воспроизведения посредством внешних АС, обеспечивающем оптимальное согласование с источником сигнала и нагрузкой и обладающем максимальной линейностью всех видов передаточных характеристик (АЧХ, ФЧХ и др.). То есть подразумевается, что непосредственно УМЗЧ не выполняет дополнительных функций, например коррекции АЧХ. Следовательно, такие функции должны быть возложены на отдельное аппаратное устройство-корректор, а в его отсутствие — на программный плеер. Таким образом, одним из важных критериев оценки плеера будет наличие эквалайзера. Все необходимые функции могут быть интегрированы в программу либо подключаться с помощью системы плагинов. Очевидно, что важными критериями можно признать возможности оперативной регулировки громкости, баланса, нормализации уровня в различных режимах, предотвращения клиппинга (амплитудного ограничения сигнала), ручного выбора звуковой подсистемы ОС, шага квантования, размера буфера аудиоданных, а также поддержку большинства распространённых форматов звуковых файлов (аудиокодеков и контейнеров), в частности, MPEG Audio Layer III (.mp3), Ogg Vorbis (.ogg)/Ogg Opus (.opus), Windows Media Audio (.wma), Advanced Audio Coding (.aac), MPEG 4 Audio (.mp4, m4a), Free Lossless Audio Codec (.flac) и др.

Что касается форматов аудиофайлов, то, оставляя в стороне их подробное описание и сравнение, следует выделить некоторые из них, имеющие существенные качественные отличия. Так, Ogg и WMA демонстрируют более высокое качество по сравнению с MP3 и ААС при одинаковом битрейте, также являясь кодеками сжатия с потерями. Ogg Vorbis идеален для применения в качестве звуковых дорожек фильмов, так как не изменяет их длину при переменном битрейте, предоставляет возможность хранить в одном файле несколько композиций с собственными метками, по умолчанию имеет переменный битрейт, не ограниченный рядом фиксированных значений, и гибкую частоту дискретизации с любым значением в диапазоне 2... 192 кГц. Преимуществами более современной версии Ogg Opus являются низкая задержка кодирования (2,5...60 мс), поддержка многоканального звука (до 255 каналов) и отсутствие требования обязательной синхронизации частоты дискретизации между кодером и декодером. Проприетарный WMA, в свою очередь, имеет ценное качество, он свободен от проявления эффекта клиппинга. FLAC — известный свободный кодек, предназначенный для сжатия аудиоданных без потерь. ААС является преемником формата MP3 и обеспечивает более высокое качество звука при низком битрейте, поддерживает до 48 каналов и более широкий диапазон частот дискретизации (от 8 до 96 кГц). MP4 и его аналоги от Apple линейки М4* являются медиаконтейнерами, в том числе и для формата ААС [46,47].
Для высококачественного воспроизведения рекомендуется использовать скорость потока 320 Кб/с в формате MP3 и не менее 192 Кб/с во всех остальных форматах со сжатием при частоте дискретизации 44,1/48 кГц.
Достойны отдельного упоминания старейшие форматы без сжатия AIFF/WAV, которые основаны на LPCM (линейной ИКМ) и являются файловыми аналогами стандарта цифровой записи CD-DA (CDA). Классическая реализация этого формата проста и как нельзя лучше предназначена для передачи звука "без потерь", так как основана на простой выборке мгновенного значения сигнала с линейным квантованием по амплитуде, шаг которого определяется разрядностью АЦП, при заданной частоте дискретизации [26]. Такая простая реализация естественным образом приводит к большим объёмам файлов. Другой особенностью формата WAV является отсутствие строго формализованной системы поддержки метаданных. Однако этот метод часто применяется в профессиональных системах звукозаписи вследствие непревзойдённого качества звучания и лёгкости преобразования в любой другой формат.
Аналогичная реализация формата AIFF от Apple имеет более развитую систему поддержки метаданных. AIFF и WAV, в свою очередь, являются наследниками ещё более ранних форматов универсальных контейнеров IFF и RIFF соответственно [48, 49]. Типовые значения параметров сэмплирования LPCM в применении к стандарту CD-DA составляют 44,1 кГц/16 бит, что соответствует битрейту 1411 Кб/с.
ЛИТЕРАТУРА
1. Universal Serial Bus Device Class Definition for Audio Data Formats. — URL: https://www.usb.org/sites/default/files/frm ts10.pdf (10.12.23).
2. Universal Serial Bus (USB) Device Class Definition for Human Interface Devices (HID). — URL: https://www.usb.org/sites/default/ files/hid 1_11.pdf (10 12.23)
3. HDML — URL: https://ru.Wikipedia. org/wiki/HDMI (10.12.23).
4. I2S. — URL: https://ru.wikipedia.org/ wiki/l2S (10.12.23).
5. DisplayPort. — URL: https://ru. wikipedia.org/wiki/DisplayPort (10.12.23).
6. Thunderbolt. — URL: https://ru. wikipedia.org/wiki/Thunderbolt (10.12.23).
7. MHL. Expand Your World. — URL: https://www.mhltech.org/ (10.12.23).
8. Common inter-IC digital interfaces for audio data transfer. — URL: https://www.edn. com/common-inter-ic-digital-interfaces-for-audio-data-transfer/ (10.12.23).
9. Mobile High-Definition Link. — URL: https://ru.wikipedia.org/wiki/Mobile_High-Definition_Link (10.12.23).
10. ES9038PRO Datasheet. — URL: https://pdf1 .alldatasheet.com/datasheet-pdf/view/1284196/ESS/ES9038PRO.html
(10.12.23).
11. ES9018 Datasheet. — URL: https:// pdf 1 .alldatasheet.com/datasheet-pdf/ view/1242995/ESS/ES9018.html
(10.12.23).
12. AD1955 Datasheet. — URL: https:// pdf1.alldatasheet.com/datasheet-pdf /vi ew/479 5 8/AD/AD 1 9 5 5.html
(10.12.23).
13. AK4396 Datasheet. - URL: https:// pdf 1 .alldatasheet.com/datasheet-pdf/ view/1 36826/AKM/AK4396.html
(10.12.23).
14. Audio D/А Converters. Audio Components. Products. Asahi Kasei Microdevices (AKM). — URL: https://www.akm.com/us/en/ products/audio/audio-dac/ (10.12.23).
15. SA9023 Datasheet. - URL: https:// forum.vegalab.ru/attachment.php7attachm entid=366213 (10.12.23).
16. CT7601 audio USB bridge. - URL: https://www.comtrue-inc.com/images/ aspalathus_CT7601 .pdf (10.12.23).
17. CM6631A Datasheet. — URL: https:// pdf1.alldatasheet.com/datasheet-pdf/view/944269/CMEDIA/CM6631 A.html
(10.12.23).
18. TE7022L Datasheet. — URL: https:// www.alldatasheet.com/datasheet-pdf/ pdf/1 253209/ETC1/TE702 2L.html
(10.12.23).
19. OEM Combo384 Module — USB class 2 to I2S 32bit and DSD output Adapter. — URL: https://amanero.com/ (10.12.23).
20. XS1-U8A-64-FB96 Datasheet. - URL: https://www.xmos.com/download/XS1 -U8A-64-FB96- Datasheet (1.8).pdf
(10.12.23).
21. XU208-256-TQ64 Datasheet. — URL: https://www.xmos.com/download/XU208-256-TQ64-Datasheet(1.16).pdf (10.12.23).
22. DSD. — URL: https://ru.Wikipedia. org/wiki/DSD (10.12.23).
23. S/PDIF. — URL: https://ru.wikipedia. org/wiki/S/PDIF (10.12.23).
24. Does HDMI Carry Audio Signals? — URL: https://mynewmicrophone.com/does-hdmi-carry-audio-signals/ (10.12.23).
25. High-Definition Multimedia Interface. Specification Version 1.4b. — URL: https:// disk.yandex.ru/i/xpTOuSk-HOXY1g
(10.12.23).
26. The Differences Between LPCM and PCM. — URL: https://boomspeaker.com/ lpcm-vs-pcm/ (10.12.23).
27. DTS. — URL: https://ru.Wikipedia. org/wiki/DTS (10.12.23).
28. Dolby Digital. — URL: https://ru. wikipedia.org/wiki/Dolby_Digital
(10.12.23).
29. LVDS/MIPI/HDMI/DP/Type-C — Converter, Splitter, Switch, Repeater ICs by EXPLORE MICROELECTRONICS. — URL: https://www. semiconn.com/lvds-dvi-hdmi-dp-mipi-type-c (10.12.23).
30. EP94A2E. — URL: https://www. semiconn.com/ep94a2e (10.12.23).
31. EP92A3E. — URL: https://www.
semiconn.com/ep92a3e (10.12.23).
32. Toslink — что это такое. Передаём "цифру" по оптике . — URL: https://www. hi-fi.ru/magazine/audio/toslink-chto-eto-takoe-ре/ (10.12.23).
33. I2S bus specification. — URL: https:// digitalcompactcassette.github. io/ Documentation/General/l2SBUS.pdf
(10.12.23).
34. Master Quality Authenticated. — URL: https://en.wikipedia.org/wiki/Master_ Quality_Authenticated (10.12.23).
35. PCM5102 Datasheet. — URL: https:// pdf 1 .alldatasheet.com/datasheet-pdf/ view/463439/TI1/PCM5102.html (10.12 23)
36. UDA1334ATS Datasheet. - URL: https://pdf1 .alldatasheet.com/datasheet-pdf/view/19847/PHILIPS/UDA1 334ATS. html (10.12.23).
37. ARMbian. Linux for ARM development boards. — URL: https://www.armbian.com/
(10.12.23).
38. Панкратьев Д. Telegram управляет электроприборами. — Радио, 2018, № 5, с. 30-32.
39. Armbian Documentation. Changelog. — URL: https://docs.armbian.com/Release_ Changelog/(10.12.23).
40. Armbian Documentation. Device Tree overlays. — URL: https://docs.armbian. com/User-Guide_Allwinner_overlays/
(10.12.23).
41. H3. — URL: https://linux-sunxi.org/H3
(10.12.23).
42. I2S on Orange Pi H3. — URL: https:// forum.armbian.com/topic/759-i2s-on-orange-pi-h3/ (10.12.23).
43. Welcome to the Midnight Commander Development Center. — URL: https://midnight-commander.org/ (10.12.23).
44. ALSA. — URL: https://ru.Wikipedia. org/wiki/ALSA (10.12.23).
45. Advanced Linux Sound Architecture (ALSA) project homepage. — URL: https:// www.alsa-project.org/?hl=com (10.12.23).
46. Audio coding format. — URL: https:// en.wikipedia.org/wiki/Audio_coding_format
(10.12.23).
47. List of codecs. — URL: https://en. wikipedia.org/wiki/List_of_ codecs
(10.12.23).
48. Interchange File Format. — URL: https:// en.wikipedia.org/wiki/lnterchange_File_ Format (10.12.23).
49. Resource Interchange File Format. — URL: https://en.wikipedia.org/wiki/Resource_ lnterchange_File_Format (10.12.23).
(Продолжение следует)