Аудиоинтерфейсы с разрядностью 32 бита с плавающей точкой — правда или маркетинг? | Статья в журнале «Молодой ученый»

Отправьте статью сегодня! Журнал выйдет 11 мая, печатный экземпляр отправим 15 мая.

Опубликовать статью в журнале

Автор:

Рубрика: Технические науки

Опубликовано в Молодой учёный №13 (512) март 2024 г.

Дата публикации: 28.03.2024

Статья просмотрена: 9 раз

Библиографическое описание:

Гелашвили, А. А. Аудиоинтерфейсы с разрядностью 32 бита с плавающей точкой — правда или маркетинг? / А. А. Гелашвили. — Текст : непосредственный // Молодой ученый. — 2024. — № 13 (512). — С. 7-17. — URL: https://moluch.ru/archive/512/112357/ (дата обращения: 02.05.2024).



В данной статье исследуется возможность технической реализации аудиоинтерфейсов с разрядностью 32 бита с плавающей точкой.

Ключевые слова: аудиоинтерфейс, разрядность с плавающей точкой, АЦП, разрядность АЦП.

Введение.

В современной звукозаписи подбор оборудования хоть и играет важную роль, уже давно не является трудной задачей. С уверенностью можно сказать, что 99 % всего аудиоматериала, который так или иначе попадает к слушателю, предварительно был оцифрован (если не на этапе записи, то как минимум перед осуществлением его передачи по каналу связи, будь то интернет-площадка, радиостанция, телевидение и прочее).

В современной звукорежиссуре давно принято обрабатывать записи живых инструментов, голоса и других звуков исключительно при помощи компьютера, почти полностью избегая аналоговых приборов. Таким образом звуковой сигнал с любого источника в момент записи сразу же попадает в оцифровывающее устройство, а затем — на компьютер. Эти оцифровывающие устройства принято называть аудиоинтерфейсами, и их рынок на данный момент хоть и широк, тем не менее, в большинстве своем не многообразен в плане характеристик непосредственно АЦП.

Человечество давно пришло, если так можно сказать, к некоему “единству” формата звука: частота дискретизации (частота записи, частота сэмплирования) — 48 кГц (что полностью покрывает весь диапазон человеческого слуха [1], согласно теореме Котельникова [2]); разрядность (глубина кодирования, глубина квантования) — 24 бита (что достаточно для записи любого источника сигнала, но не избыточно с точки зрения влияния собственного шума). В соответствии с этими характеристиками привычным форматом стал WAV 48 kHz 24 bit.

Однако во время обработки звука, его микширования или сведения возникает необходимость избегания клиппинга [3], который возникает в аудиофайлах с разрядностью 24 бита при пересечении сигналом верхней границы (которую принято обозначать как 0 дБ — чуть ниже это будет объяснено подробнее). Для таких ситуаций был придуман формат 32 bit FP (32 бита с плавающей точкой). Не вдаваясь в подробности — это тот же 32 bit INT (однако, на практике все же 24 bit INT), но с возможностью “дополнения” аудиофайла в случае пересечения сигнала уровня 0 дБ без его искажения (клиппинга).

На волне популярности использования данного формата во всех DAW [4], производители аудиоинтерфейсов начали выпускать устройства с возможностью записи с разрядностью 32 bit FP, что при знании теории работы АЦП кажется невозможным — однако такие интерфейсы есть, и они успешно продаются, используются и действительно передают в DAW звук в формате 32 бита, при этом не требуя регулирования входного уровня. Но действительно ли нашлось решение такой сложной технической задачи или же это просто маркетинговый ход и хитрая схема? Однозначно стоит рассмотреть данный вопрос несколько подробнее.

Аналого-цифровые преобразователи.

Сердцем любого аудиоинтерфейса, как и всех устройств, предназначенных для передачи цифрового сигнала компьютеру, является АЦП — аналого-цифровой преобразователь. Его важнейшими характеристиками являются частота дискретизации (параметр, который определяет количество выборок данных в единицу времени, взятых из непрерывного сигнала [5]) и разрешение (которое определяется квантованием сигнала на входе — разбиением диапазона отсчетных значений сигнала на конечное число уровней и округление этих значений до одного из двух ближайших к ним уровней [6]).

На рисунках ниже представлены сигналы: А — квантованный по уровню, но непрерывный по времени (хотя может показаться, что по времени он также дискретизирован — однако это не так, и подобная картина является следствием округления значений входного сигнала); Б — дискретизированный по времени, но непрерывный по уровню сигнал; В — полностью цифровой сигнал, квантованный по уровню и дискретизированный по времени.

А

Б

В

Рис. 1. Сигналы: А — квантованный; Б — дискретизированный; В — цифровой

Разрешение АЦП (минимальное изменение величины аналогового сигнала, которое может быть преобразовано данным АЦП) напрямую связана с другой характеристикой — разрядностью АЦП (которая по сути определяет количество уровней квантования АЦП).

Далее, для конкретики и точных объяснений, нужно принять за аксиому один факт — за уровень в 0 dBV сигнала принято напряжение 1 В. И самое главное — в рамках данного исследования, для упрощения понимания, примем то, что все аудиоинтерфейсы работают в диапазоне от 0 В до 1 В, то есть от -∞ dBV до 0 dBV (помним, что речь идет об амплитудных значениях). Значит, для двоичных АЦП (а именно такие, как наиболее часто встречающиеся, и рассматриваются) разрядность 16 бит будет означать уровней, разрешение по напряжению и диапазон ; разрядность 24 бита будет означать уровней, разрешение по напряжению и диапазон .

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

32 bit Floating Point.

Основное отличие формата с разрядностью 32 бита с плавающей точкой (32 bit FP) — это возможность хранения положительных значений. То есть, если диапазон данных любой другой разрядностью с фиксированной точкой это, условно, от -∞ дБ до 0 дБ, то для формата с плавающей точкой верхняя граница в 0 дБ фактически исчезает (программно это реализовано с помощью записи каждого числа (то есть громкости конкретной точки), в виде числа (“слова”) в “научной записи”, с использованием десятичных точек и показателей степени, по IEEE 754 [7]).

Наглядно разницу в форматах можно представить следующим образом [8]:

А

Б

В

Рис. 2. Длина “слова” в разных форматах: А — 16 bit INT; 24 bit INT; 32 bit FP

Гораздо больший интерес представляет разница в диапазонах по громкости.

Наглядная разница в диапазонах форматов

Рис. 3. Наглядная разница в диапазонах форматов

Для большего понимания сути оцифровки сигналов и работы с ними на ПК в DAW рассмотрим практическую сторону вопроса.

Цифровая звукозапись на практике.

Для начала подтвердим некоторые утверждения, приведенные ранее. С помощью генератора, подадим на линейный вход звуковой карты компьютера сигнал частотой 440 Гц (соответствующей ноте “ля”) и, поочередно, амплитудами от 0,1 В до 1 В с шагом 0,1 В. На принимающей стороне выставлена частота дискретизации 44100 Гц и разрядность 16 бит. После записи данного сигнала в соответствующий формат WAV рассмотрим форму его волны в программе Sonic Visualiser [9].

Таблица 1

Сигналы амплитудой до 1 В после оцифровки звуковой картой ПК

Vpp = 0,1 В

Vpp = 0,2 В

Vpp = 0,3 В

Vpp = 0,4 В

Vpp = 0,5 В

Vpp = 0,6 В

Vpp = 0,7 В

Vpp = 0,8 В

Vpp = 0,9 В

Vpp = 1,0 В

В общей сложности все произошло предсказуемо (в том числе и влияние качества проводов и контактов на амплитуду), и сильных нелинейностей не наблюдалось, поскольку сигнал все время был ниже 1 В.

Теперь попробуем подать сигналы той же частоты, но с амплитудами 1,1 В, 1,2 В и 1,3 В.

Таблица 2

Сигналы амплитудой больше 1 В после оцифровки звуковой картой ПК

Vpp = 1,1 В

Vpp = 1,2 В

Vpp = 1,3 В

Как мы видим, в оцифрованном сигнале, при амплитуде превосходящим 1 В (опорное напряжение), возникают нелинейные искажения, некоторое “срезание”, которое принято называть клиппингом. Здесь данный эффект обусловлен, очевидно, величиной опорного напряжения на АЦП звуковой карты компьютера.

Когда же речь идет об обработке цифровых сигналов, клиппинг можно легко избежать. Рассмотрим пример.

В программе Reaper [10] с помощью плагина ReaSynth генерируем синусоиду с громкостью 0 дБ (здесь речь пойдет именно о громкости, а не об амплитуде, поскольку громкость цифрового сигнала непосредственно никак не связана с амплитудой электрического сигнала, и поэтому ее громкость принято обозначать исключительно в децибелах от -∞ до 0). Рендерим дорожку в файл формата WAV 44,1 kHz 24 bit и получаем следующую картину:

Синусоида

Рис. 4. Синусоида

Мы получили обыкновенную синусоиду, оцифрованную с частотой 44100 Гц и разрядностью 24 бит, при этом нелинейных искажений мы не наблюдаем. Повысив ее громкость на 3 дБ (отображается в левом верхнем углу дорожки), получим следующий результат:

Синусоида с повышенной громкостью

Рис. 5. Синусоида с повышенной громкостью

В этом случае мы наблюдаем наличие клиппинга, но не стоит обманываться — при прослушивании данного файла можно полностью избежать искажений, и возможно это по причине того, что реальная разрядность при работе со звуком в программе Reaper — 32 bit FP — это означает, что вся обработка звука до попадания на ЦАП происходить именно на этой разрядности, а мы помним, что “плавающая точка” обеспечивает нам сохранение сигнала в неизменном виде после перехода через 0 дБ, и если мастер-канал (в который приходит звук со всех остальных каналов проекта и из которого выходит звук на звуковую карту) убавить так же на 3 дБ, то разницы будет не слышно.

Однако все будет несколько сложнее, если мы захотим отрендерить данную дорожку, а затем убавить на 3 дБ обратно (подобные манипуляции очень часто нужны в “тяжелых” проектах, где дорожки сильно нагружают процессор компьютера и при этом доподлинно неизвестно, до какой степени им заранее нужно убавить громкость — тогда громкость убавляется уже после рендера соответствующей дорожки). При рендере с той же частотой, но с разрядностью 24 бит (и последующим уменьшением громкости) получаем такую картину:

Форма волны файла после рендера в 24 бит

Рис. 6. Форма волны файла после рендера в 24 бит

Здесь клиппинг остался каким и был на оригинальной дорожке при повышении ее громкости, то есть вернув громкость в отрендеренной дорожке на прежнее значение, осталась потерянной часть сигнала, перешедшая через отметку в 0 дБ, — это, говоря простым языком — брак.

Теперь отрендерим оригинальную дорожку (с поднятой на 3 дБ громкостью) в формате с разрядностью 32 bit FP и так же после рендера уменьшим ее громкость обратно на 3 дБ. Получаем следующее:

Форма волны файла после рендера в 32 бит с плавающей точкой

Рис. 7. Форма волны файла после рендера в 32 бит с плавающей точкой

Как мы видим, здесь, после уменьшения громкости после рендера обратно на 3 дБ не наблюдается клиппинга — это происходит потому, что файлы разрядностью 32 бита с плавающей точкой сохраняют сигнал перешедий через 0 дБ — очевидное преимущество по сравнению с форматами с “фиксированной точкой”. Разница в весе для файлов длиной 18 секунд небольшая — вес файла с разрядностью 24 bit INT составляет 2,27 МБ; для файла с разрядностью 32 bit FP — 3,19 МБ.

Вывод можно сделать следующий — лучший формат для работы с аудиофайлами (и это объективно, поскольку касается именно промежуточной работы со звуком, а не выпуска музыки на физических носителях или через стриминговые сервисы) — WAV 32 бита с плавающей точкой, поскольку позволяет регулировать громкость уже после создания файла (под созданием имеется в виду рендер, генерация или любое другое действие, результатом которого является цифровой звуковой файл, не имеющий аналоговой природы (и это важно) — то есть не полученный через АЦП, а полученный только внутри самой машины), что значительно облегчает работу в проектах.

То есть, если мы имеем установленный на компьютере, например, синтезатор в виде программы или плагина, мы можем записать с него звуки средствами DAW с какой угодно большой громкостью и после записи убавить ее абсолютно без каких-либо потерь.

Аудиоинтерфейсы с разрядностью 32 бита с плавающей точкой.

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

Однако на рынке представлено довольно большое количество аудиоинтерфейсов с форматом записи 32 bit FP. Например, на сайте одного из магазинов звукового оборудования 22 из 300 интерфейсов позиционируются как аудиоинтерфейсы с возможностью записи в формате 32 bit FP [11]. Производители таких интерфейсов нашли по истине гениальное решение (однако имеющее свои слабые стороны — об этом дальше).

Не смотря на то, что такие устройства крайне недешевы (в среднем их цены начинаются с 200 евро для простых моделей) и технические особенности их работы не оглашаются (более того, большинство схем таких устройств запатентовано), по некоторым данным одного производителя, а также по нескольким статьям авторов, разбиравших данные устройства, становится четко ясен принцип работы таких аудиоинтерфейсов. Вот цитата с официального сайта одного из производителей, переведенная на русский язык [12]:

“... <Компания> запатентовала метод объединения нескольких 32-разрядных аналого-цифровых преобразователей с фиксированной точкой. Результатом этой уникальной комбинации является схема аналого-цифрового преобразования, который обеспечивает динамический диапазон более 142 дБ. На его выходе аппаратно выводятся 32-разрядные аудиоданные с плавающей запятой.”

После прочтения этого фрагмента становится очевиден принцип работы, а также некоторые “подводные камни”. Рассмотрим подробнее.

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

То есть, допустим, перед первым АЦП (условно будем называть их по порядку) нет ничего и сигнал приходит на него в чистом виде. Если сигнал превышает его пороговое значение (которое, вероятно, как и в прочих аудиоинтерфейсах принято за 1 В), то он отправляется на следующий АЦП перед которым (вероятнее всего) стоит обыкновенная схема делителя, понижающая амплитуду сигнала, а после него — некий цифровой блок, который перед “запаковкой” сигнала в формат WAV “восстанавливает” громкость.

Однако у такой схемы есть ряд недостатков:

1) Первый очевидный минус связан с разрешающей способностью, о которой говорилось ранее. Пусть мы имеем ряд 16-битных АЦП, подключенных по вышеописанной схеме, а на вход мы подаем сигнал (синусоиду) амплитудой 10 В. Очевидно аудиоинтерфейс не знает, в какой момент произойдет переход через 1 В, а значит второй АЦП, перед которым, допустим, стоит схема понижающая амплитуду в 10 раз, начнет работать только в области, где синусоида по модулю больше 1 В. Поскольку дальше сигналы с первого АЦП (куда проникла первая часть сигнала, которая была по модулю меньше 1 В) и со второго (куда проникла часть сигнала по модулю больше 1 В, и оцифрованная с соответствующим последующим усилением) просуммируются, это значит, что 1/10 часть амплитуды сигнала оцифровывается с той же разрядностью, что и 9/10 сигнала. В этом случае разрешение первой части сигнала будет (подобные вычисления уже были сделаны ранее) 30,518 мкВ, а второй части — 305,18 мкВ, то есть в 10 раз (!) менее точно. То есть в оцифрованной версии сигнала его квантование будет неоднородным, что очевидно, плохо.

Проще всего представить это наглядно, и все объяснения будут выглядеть следующим образом (отметим, что доподлинно мы не знаем, по какому алгоритму работает АЦП в конкретных системах, поэтому изображение схематическое):

Входной аналоговый сигнал

Выходной оцифрованный сигнал

Рис. 8. Наглядная демонстрация проблемы алгоритма

2) Второй минус не так очевиден, и связан с собственным шумом прибора (речь идет не о шуме квантования, а о наводках, эффекте crosstalk [13] и прочих помехах внутри самого прибора — то есть о так называемом шуме, приведенном ко входу [14]). Допустим что вместе с эффективным сигналом (будем рассматривать синусоиду) амплитудой 10 В на вход АЦП попадает помеха, порождаемая схемой питания прибора, и ее амплитуда, допустим, равна 0,05 В. Сигнал амплитудой 10 В, по описанной выше схеме, на одном из блоков ослабляется до 1 В перед попаданием в АЦП, а в месте с ним туда же попадает помеха, причем не ослабленная. В таком случае, перед тем как сигнал (ослабленный сигнал с той же помехой) с АЦП закодируется в цифровой, он усилится — а в месте с ним и помеха. Иначе говоря, на выходе вместе с основным сигналом амплитудой 10 В мы получим и помеху, усиленную до амплитуды 0,5 В — и это уже будет ощутимо.

А если сигнал будет больше 10 В? В таком случае, сигнал в X раз больше 1 В попавший на вход аудиоинтерфейса принесет с собой помеху, усиленную по амплитуде в X раз. В конце концов, может дойти до того, что любая наводка будет влиять на оцифрованный сигнал критически.

В программе Reaper была воспроизведена вышеописанная ситуация, и на скриншоте ниже можно наблюдать три сигнала: нормальный синус, синус с шумом, приведенном ко входу (наблюдается слабая низкочастотная помеха) и эмуляция выхода с АЦП (правда без “оцифровки” — здесь важно показать только влияние наводок), на котором наблюдается серьезное влияние помехи на сигнал.

Влияние помехи, приведенной ко входу на сигнал

Рис. 9. Влияние помехи, приведенной ко входу на сигнал

Выводы.

Как оказалось, технически реализовать аудиоинтерфейс с разрядностью с плавающей точкой оказалось возможно, но не так, как этого бы хотелось. То есть хоть при звукозаписи через такой аудиоинтерфейс мы получаем на выходе файл с разрядностью 32 бит с плавающей точкой, его эффективная разрядность [15] будет не больше, а то и меньше чем у интерфейсов с разрядностью с “целой длиной слова” (8 bit INT, 16 bit INT, 24 bit INT, 32 bit INT).

Однако, у таких интерфейсов есть очевидное преимущество — если заранее неизвестен уровень входного сигнала, то возможность записи в 32 bit FP может оказаться незаменимым решением, позволяющим уже постфактум работать с громкостью сигнала более гибко.

В общей сложности получается так, что “реальных” аудиоинтерфейсов с разрядностью с плавающей точкой не существует, но есть некоторые технические ухищрения, позволяющие реализовать нечто подобное, с рядом недостатков. Впрочем, в некоторых случаях такие устройства могут оказаться действительно полезными, но при этом, с высокой долей уверенности можно утверждать, что они вряд ли когда-нибудь заменят “классические” аудиоинтерфейсы на постоянной основе.

Литература:

  1. Психоакустика — Википедия // ВикипедиЯ URL: https://ru.wikipedia.org/wiki/Психоакустика (дата обращения: 19.03.24).
  2. Теорема Котельникова — Википедия // ВикипедиЯ URL: https://ru.wikipedia.org/wiki/Теорема_Котельникова (дата обращения: 19.03.24).
  3. Клиппинг (аудио) — Википедия // ВикипедиЯ URL: https://ru.wikipedia.org/wiki/Клиппинг_(аудио) (дата обращения: 19.03.24).
  4. Цифровая звуковая рабочая станция — Википедия // ВикипедиЯ URL: https://ru.wikipedia.org/wiki/Цифровая_звуковая_рабочая_станция (дата обращения: 19.03.24).
  5. Частота дискретизации // ELIKS URL: https://www.eliks.ru/info/index.php?ELEMENT_ID=254558#:~:text=Частота %20дискретизации %2C %20частота %20записи %20или, %2Fс %2C %20с-1 (дата обращения: 19.03.24).
  6. Квантование (обработка сигналов) — Википедия // ВикипедиЯ URL: https://ru.wikipedia.org/wiki/Квантование_(обработка_сигналов) (дата обращения: 19.03.24).
  7. IEEE 754 — Wikipedia // WikipediA URL: https://en.wikipedia.org/wiki/IEEE_754 (дата обращения: 25.03.24).
  8. 32-Bit Float Files Explained // SOUND DEVICES URL: https://www.sounddevices.com/32-bit-float-files-explained/ (дата обращения: 25.03.24).
  9. Visualisation, analysis, and annotation of music audio recordings // Sonic Visualiser URL: https://www.sonicvisualiser.org/ (дата обращения: 25.03.24).
  10. REAPER | Audio Production Without Limits // REAPER URL: https://www.reaper.fm/ (дата обращения: 25.03.24).
  11. USB Audio Interfaces — Thomann // Thomann URL: https://www.thomann.de/gb/usb_audio_interfaces.html?feature-36098-first=32&feature-36098-last=32&gk=STAIUS&cme=false&filter=true (дата обращения: 25.03.24).
  12. How is a 32-bit float file recorded? // SOUND DEVICES URL: https://www.sounddevices.com/how-is-a-32-bit-float-file-recorded/ (дата обращения: 25.03.24).
  13. Crosstalk — Wikipedia // WikipediA URL: https://en.wikipedia.org/wiki/Crosstalk (дата обращения: 26.03.24).
  14. Входной шум АЦП: хороший, плохой и опасный. Хорошо ли, когда его нет? // Компоненты и технологии URL: https://kit-e.ru/vhodnoj-shum-aczp/?ysclid=lu7ydvtet6389663431 (дата обращения: 26.03.24).
  15. Эффективная разрядность как критерий выбора АЦП // Время электроники URL: https://russianelectronics.ru/effektivnaya-razryadnost-kak-kriterij-vybora-aczp/ (дата обращения: 26.03.24).
Основные термины (генерируются автоматически): INT, WAV, DAW, разрядность, сигнал, бит, аудиоинтерфейс, громкость, амплитуда, формат.


Ключевые слова

АЦП, аудиоинтерфейс, разрядность с плавающей точкой, разрядность АЦП

Похожие статьи

Задать вопрос