← Все статьи

Звук в компьютере: АЦП, ЦАП, кодек, тактирование и задержка

Пути записи и воспроизведения: аналоговый вход, АЦП, PCM, буферы, приложение, ЦАП и нагрузка.

Функциональный звуковой тракт: аналоговые цепи, цифровые данные и тактирование решают разные задачи; границы микросхем зависят от устройства. Открыть иллюстрацию в полном размере.

Звуковая карта принимает данные по USB без ошибок, но при уменьшении буфера начинает щёлкать. Встроенный кодек поддерживает 24 бита, однако в записи слышен фон. Внешний ЦАП работает на 192 кГц, но не сокращает заметную задержку при мониторинге микрофона. Такие ситуации нельзя объяснить одной паспортной цифрой: звук проходит через аналоговые цепи, преобразователи, часы, память, драйвер и приложение.

Чтобы понимать ограничения тракта, полезно проследить два направления. При записи напряжение превращается в последовательность чисел, а при воспроизведении числа снова становятся напряжением и током нагрузки. Между этими событиями существуют разные представления данных и разные временные шкалы. Ниже используются явно обозначенные учебные расчёты; это не результаты измерений оборудования владельца сайта.

Содержание статьи
  1. АЦП, ЦАП и кодек выполняют разные роли
  2. Аналоговый вход определяет, что вообще попадёт в запись
  3. Частота дискретизации задаёт временную сетку, а не готовое качество
  4. Разрядность, квантование и предел идеальной модели
  5. Зачем преобразователю передискретизация и цифровые фильтры
  6. PCM: полезные биты, контейнеры и полоса данных
  7. I2S переносит отсчёты вместе с временной структурой
  8. От приложения до преобразователя работает целая цепочка
  9. Дрейф часов и джиттер относятся к разным ошибкам времени
  10. USB-аудио не обязано брать частоту каждого отсчёта из пакетов
  11. Буфер покупает время, но расходует задержку
  12. ЦАП заканчивается аналоговым каскадом и реальной нагрузкой
  13. SNR, THD+N и измерение петлёй отвечают на разные вопросы
  14. Как джиттер связан с частотой аналогового сигнала
  15. Преобразование частоты и цифровая обработка меняют маршрут
  16. Как превратить симптомы в проверяемую модель тракта
  17. Официальные первичные источники
  18. Читайте также

АЦП, ЦАП и кодек выполняют разные роли

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

Это значение слова «кодек» отличается от программного кодека сжатия, например алгоритма кодирования файла. Аппаратная микросхема может принимать несжатый PCM и не заниматься сжатием вообще. Обратная ситуация тоже обычна: программа декодирует сжатый поток на CPU, после чего выдаёт PCM устройству. Поддержка формата файла и возможности аналогового выхода относятся к разным участкам пути.

Внешний USB-интерфейс, интегрированный кодек материнской платы и отдельный ЦАП могут содержать похожие функции, но распределять их между разными микросхемами. USB-контроллер способен отдавать PCM по I2S отдельному преобразователю; внутри другого изделия цифровая и аналоговая части интегрированы. Поэтому фотография одной крупной микросхемы ещё не описывает весь тракт.

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

Аналоговый вход определяет, что вообще попадёт в запись

Микрофонный вход, линейный вход и инструментальный вход рассчитаны на разные источники. Различаются уровни, сопротивления, необходимость смещения или питания и доступное усиление. Если источник перегружает входной усилитель, искажения появляются до АЦП. Уменьшение цифровой громкости после оцифровки сделает искажённую запись тише, но не восстановит срезанные вершины.

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

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

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

Частота дискретизации задаёт временную сетку, а не готовое качество

При частоте дискретизации 48 кГц формируется 48 тысяч отсчётов каждого канала в секунду. Расстояние между соседними отсчётами составляет около 20,83 мкс. Это временная сетка представления сигнала, а не задержка всего устройства. Буфер на сотни отсчётов и цифровой фильтр могут добавить гораздо больше времени.

Для базового представления сигнала без наложения спектральных копий его полоса должна находиться ниже половины частоты дискретизации при выполнении условий теоремы выборки. Практическому фильтру нужна переходная область, поэтому ровно половину Fs нельзя объявлять гарантированной плоской полосой реального преобразователя. Формулировка «48 кГц означает звуковую полосу 48 кГц» неверна.

Учебный пример иллюстрирует неоднозначность выборки. Синусоида 30 кГц при дискретизации 48 кГц способна отобразиться как составляющая 18 кГц: это разность 48 и 30 кГц для выбранного случая. После появления такого наложения программа не может определить по одним отсчётам, какой из двух аналоговых сигналов существовал на входе. Необходимое подавление должно происходить раньше.

Повышение Fs изменяет требования к фильтрам, объём данных и доступные режимы обработки. Оно может быть полезно в конкретном измерении или алгоритме, но не доказывает слышимое улучшение любой записи. Если исходный материал имеет ограниченную полосу, простое увеличение числа отсчётов при преобразовании частоты не создаёт отсутствующую информацию.

Разрядность, квантование и предел идеальной модели

Разрядность задаёт число возможных кодовых значений отсчёта. Для N бит это 2 в степени N уровней, но реальная точность аналогового тракта зависит ещё от шумов, нелинейности и опорного напряжения. Длина цифрового слова описывает формат; она не обещает, что каждый младший бит несёт независимую полезную информацию.

В Analog Devices MT-001 объясняется модель идеального преобразователя. Для полноамплитудной синусоиды и принятой модели ошибки квантования получается отношение сигнал/шум около 6,02 × N + 1,76 дБ. Для 16 бит это примерно 98,08 дБ, для 24 бит —146,24 дБ. Эти числа относятся к условиям модели, а не к готовой звуковой плате.

При сигнале существенно ниже полного диапазона та же абсолютная ошибка становится больше относительно полезной амплитуды. Форма и корреляция ошибки также важны: простая модель равномерного некоррелированного шума не универсальна для любого кода и сигнала. Дизеринг меняет характер ошибок квантования; он не устраняет аналоговый шум и не повышает допустимый входной уровень.

Практический пример границ формата даёт TI PCM1808: устройство имеет 24-битный интерфейс, а типичное отношение сигнал/шум в даташите указано как 99 дБ с A-взвешиванием при Fs = 48 кГц и остальных условиях таблицы. Это не противоречие и не «потерянные биты» интерфейса. Преобразователь передаёт достаточно длинное слово для своего результата, но физический тракт не становится идеальным 24-битным квантователем.

Идеальный SNR для 16 и 24 бит сопоставлен с документированным примером 24-битного PCM1808.
Идеальные 98,08 и 146,24 дБ следуют из ограниченной модели квантования. Типичные 99 дБ(A) PCM1808 при Fs = 48 кГц приведены по TI Rev. B в условиях даташита, а не измерены на плате. Открыть иллюстрацию в полном размере.

Зачем преобразователю передискретизация и цифровые фильтры

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

У PCM1808 в блок-схеме показаны аналоговые противоалиасные фильтры, дельта-сигма модуляторы и децимация с коэффициентом 64. Это пример конкретного устройства, а не обязательная схема каждого АЦП. Архитектуры, коэффициенты и режимы фильтров различаются. Нельзя по одному слову delta-sigma вычислить задержку любого звукового интерфейса.

Фильтр имеет не только амплитудную характеристику. Его фазовая характеристика и групповая задержка определяют, как разные участки спектра проходят через тракт во времени. Линейная фаза, минимальная фаза и крутизна подавления связаны с различными компромиссами. Одна характеристика «поддерживает 192 кГц» не сообщает эти свойства.

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

PCM: полезные биты, контейнеры и полоса данных

PCM описывает последовательность отсчётов каналов без обязательного сжатия. Базовую полезную скорость можно оценить как произведение Fs, числа каналов и числа значащих бит отсчёта. Для стерео 48 кГц и 24 бит получается 48 000 × 2 × 24 = 2 304 000 бит/с, или 288 тысяч байт в секунду при плотной упаковке.

Реальный контейнер может быть шире значащих данных. Если каждый 24-битный отсчёт хранится в 32-битном слове, тот же поток занимает уже 384 тысячи байт в секунду. Это не появление дополнительных восьми бит разрешения АЦП. Различие влияет на размер памяти и передачи, даже когда полезные значения остаются прежними.

Ещё один учебный режим — стерео 192 кГц в 32-битных контейнерах. Его объём равен 1 536 000 байт/с, а 10 мс таких данных занимают 15 360 байт без заголовков и выравнивания. Здесь используются десятичные единицы. Если сравнение ведётся с KiB или MiB, основание пересчёта надо назвать отдельно.

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

Стерео PCM: 288 кБ/с при 48 кГц/24 бита плотно, 384 кБ/с в 32-битном контейнере, 1536 кБ/с при 192 кГц.
Полезная полоса данных и размер контейнера различаются. Здесь два канала, десятичные единицы, без заголовков и расходов транспорта; 10 мс последнего потока занимают 15 360 байт. Открыть иллюстрацию в полном размере.

I2S переносит отсчёты вместе с временной структурой

Спецификация I2S NXP UM11732 описывает последовательный межмикросхемный интерфейс с линиями данных, битового такта и выбора слова. В обычной двухканальной организации линия выбора слова различает левый и правый каналы. Это связь цифровых аудиоблоков, а не аналоговый кабель и не формат сжатого файла.

Число битовых тактов определяется размером временных слотов, который способен превышать число полезных бит. Для двух слотов по 32 бита при Fs = 48 кГц частота BCLK равна 3,072 МГц. При передаче 24 полезных бит внутри каждого такого слота нельзя подставлять 24 вместо 32 и получать неправильный битовый такт.

В классическом формате I2S начало старшего бита сдвинуто относительно изменения выбора слова на один период битового такта. Left-justified и другие последовательные форматы имеют иные правила. Совпадения частоты и числа проводов недостаточно: несовместимое выравнивание может дать неверные числа, хотя электрические импульсы выглядят регулярными.

Системный тактовый сигнал преобразователя может существовать дополнительно либо восстанавливаться внутренними средствами. Конкретное соотношение MCLK, BCLK и Fs задаётся даташитом. Называть любой четвёртый провод «обязательным I2S master clock» неточно: стандарт интерфейса и потребности отдельной микросхемы следует читать раздельно.

От приложения до преобразователя работает целая цепочка

Приложение подготавливает данные в памяти, аудиосистема ОС согласует режимы, драйвер управляет устройством, а аппаратный интерфейс переносит очередные порции. Между ними могут находиться микшер, преобразование частоты, обработка эффектами и DSP. Для встроенного решения и внешнего USB-интерфейса физическая организация различается, но границы ответственности остаются полезными для анализа.

Обмен с памятью часто обслуживается DMA, поэтому CPU не обязан программно отправлять каждый отдельный отсчёт. Это не делает процессор и планировщик ненужными: следующие данные нужно подготовить вовремя, а события устройства обработать. Средняя загрузка CPU может быть небольшой даже при отдельных задержках, достаточных для срыва короткого буфера.

Аппаратный кодек способен иметь собственные маршруты и микшеры. Прямой аппаратный мониторинг входа на выход иногда обходит часть программного пути. Такой режим имеет другую задержку и набор доступных эффектов, чем мониторинг через приложение. Сравнение этих режимов без уточнения маршрута даёт ложное впечатление, будто один и тот же программный тракт внезапно ускорился.

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

Дрейф часов и джиттер относятся к разным ошибкам времени

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

Учебная модель: источник и приёмник работают около 48 кГц, а их относительное расхождение равно 100 ppm, то есть 0,01%. Разность составляет 4,8 аудиокадра в секунду. Если до границы переполнения осталось 128 кадров, эта ёмкость израсходуется примерно за 26,67 с при неизменных скоростях и отсутствии коррекции.

Аудиокадр здесь означает набор одновременных отсчётов всех каналов. В стерео это два отсчёта, а не один. Поэтому дрейф в кадрах нельзя бездумно умножать на число каналов при расчёте временного запаса. Количество байтов увеличится, но время до исчерпания тех же 128 кадров не изменится.

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

При расхождении часов 100 ppm на 48 кГц запас 128 аудиокадров исчерпывается примерно за 26,67 секунды.
Учебная модель без коррекции скорости: 100 ppm дают 4,8 кадра/с. Линия после границы 128 кадров является математическим продолжением и не описывает поведение устройства после ошибки. Открыть иллюстрацию в полном размере.

USB-аудио не обязано брать частоту каждого отсчёта из пакетов

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

Документация Microsoft USB Audio 2.0 описывает поддержку соответствующего класса, форматов и механизмов синхронизации в драйвере Windows. Это описание конкретной программной реализации, а не обещание одинаковых возможностей всех USB-устройств. Важны дескрипторы, альтернативные настройки интерфейса и выбранный формат.

Изохронный транспорт USB рассчитан на своевременное обслуживание потоков и не использует обычное повторение ошибочного пакета на уровне такого обмена. Потерянный фрагмент аудио поэтому нельзя автоматически трактовать как задачу повторной доставки файла. Конкретное поведение при ошибке определяется устройством и программной цепочкой: возможны пропуск, подстановка или остановка потока.

Период обслуживания USB и пользовательская задержка звука — разные величины. Дополнительные очереди, накопление пакетов, внутренние фильтры и DSP способны увеличить полный путь. Чтобы сравнивать два устройства, нужно измерять одинаковые границы, например аналоговый вход до аналогового выхода, а не сопоставлять интервал шины одного устройства с полным временем другого.

Буфер покупает время, но расходует задержку

В документации Microsoft по низкой задержке отдельно определены задержки воспроизведения, захвата и полного кругового пути. Это помогает избежать смешения времени передачи буфера приложением со временем появления звука. Итог зависит от выбранных API, драйвера, аппаратуры и обработки.

Продолжительность 128 аудиокадров при 48 кГц равна 2,67 мс. Но настройка «буфер 128» не доказывает, что полная задержка системы равна 2,67 мс. В пути могут находиться несколько порций, независимые очереди входа и выхода и алгоритмы, которым нужны будущие отсчёты. Важен фактический запас данных в каждом участке.

Рассмотрим согласованную учебную модель кругового пути. АЦП с фильтром добавляет 0,5 мс; входная очередь содержит 256 кадров, то есть 5,33 мс; алгоритму отдельно нужно 64 кадра заглядывания вперёд —1,33 мс; выходная очередь содержит ещё 256 кадров —5,33 мс; ЦАП с фильтром добавляет 0,8 мс. Сумма составляет около 13,3 мс. Здесь очереди и алгоритмический запас заданы раздельно.

Уменьшение очереди снижает один из вкладов, но уменьшает допустимую задержку обслуживания. Если система иногда не укладывается в срок, возникают underrun или overrun и слышимые нарушения. Поэтому выбор буфера — задача устойчивого выполнения в реальных условиях, а не поиск минимального числа, которое интерфейс разрешает установить.

Учебный бюджет круговой задержки: два преобразователя, две очереди и отдельное алгоритмическое заглядывание вперёд.
Учебная сумма около 13,3 мс: 0,5+5,33+1,33+5,33+0,8. Очереди по 256 кадров и алгоритмический запас 64 кадра при 48 кГц заданы как разные вклады. Открыть иллюстрацию в полном размере.

ЦАП заканчивается аналоговым каскадом и реальной нагрузкой

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

Для примера TI PCM5102A описан как стерео ЦАП с линейным выходом; в даташите указаны принимаемые форматы и допустимые условия нагрузки. Возможность принять 32-битное слово относится к интерфейсу. Она не означает, что внешний аналоговый выход имеет динамический диапазон идеального 32-битного преобразователя.

Линейный выход и выход для наушников нельзя считать взаимозаменяемыми по названию гнезда. В простой резистивной модели 2 В RMS на 10 кОм требуют 0,2 мА RMS, а на 32 Ом —62,5 мА RMS. Это различие более чем в 300 раз по току. Пример объясняет требования к каскаду, но не назначает такой режим конкретному ЦАП.

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

SNR, THD+N и измерение петлёй отвечают на разные вопросы

SNR сравнивает полезный сигнал с шумом в определённых условиях. THD оценивает гармонические искажения, а THD+N объединяет искажения и шум после исключения основной составляющей согласно процедуре измерения. Значение без частоты и уровня сигнала, полосы, фильтров и нагрузки легко приводит к неверному сравнению устройств.

Взвешенный и невзвешенный результат также не равны. Число с A-взвешиванием использует определённую частотную коррекцию, поэтому его нельзя напрямую сопоставлять с невзвешенным шумом в другой полосе. Показатель на одной тестовой частоте не описывает всё поведение выхода при изменении амплитуды и сопротивления нагрузки.

При петлевом тесте выход соединяется со входом, и в результат входят оба тракта. Учебный пример: независимый шум каждого равен 20 мкВ RMS в одной и той же полосе. Их мощности складываются, поэтому общий шум равен примерно 28,28 мкВ RMS, а не 40 мкВ. Относительно сигнала 2 В RMS это около 96,99 дБ вместо 100 дБ для одного такого источника.

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

Как джиттер связан с частотой аналогового сигнала

Analog Devices MT-007 разбирает время апертуры и ошибку момента выборки. Для синусоиды в ограниченной модели некоррелированного RMS-джиттера вклад в SNR оценивают как −20 log10(2π × f × tj). Здесь f — частота аналогового сигнала, tj — временная ошибка в секундах; это не частота дискретизации.

При f = 20 кГц и tj = 20 пс получается примерно 112 дБ. Увеличение tj до 200 пс снижает этот модельный предел до 92 дБ. При тех же 200 пс, но частоте 1 кГц, оценка составляет около 118 дБ. Ошибка времени сильнее влияет на участки, где напряжение меняется быстрее.

Этот расчёт не позволяет объявить любой генератор с паспортными 20 пс источником ровно такого качества звука. Значимы полоса интегрирования джиттера, распределение спектральных составляющих, передача через PLL и точка, где возникает ошибка. Периодические компоненты способны давать боковые спектральные линии вместо равномерного шумового пола.

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

Модельный SNR от RMS-джиттера при аналоговой частоте 20 кГц: 20, 100, 200 и 1000 пикосекунд.
При одинаковых 20 кГц увеличение RMS-джиттера от 20 до 200 пс меняет модельный вклад со 112 до 92 дБ. Полный SNR реального тракта определяется также другими ошибками. Открыть иллюстрацию в полном размере.

Преобразование частоты и цифровая обработка меняют маршрут

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

Цифровая громкость умножает значения, эквалайзер изменяет частотный отклик, а лимитер способен учитывать будущие отсчёты. Последний механизм добавляет алгоритмическую задержку независимо от быстродействия USB. Если эффект требует окно анализа или заглядывание вперёд, более быстрый интерфейс сам по себе не убирает это требование алгоритма.

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

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

Как превратить симптомы в проверяемую модель тракта

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

Наблюдения полезно привязывать к точке: файл в памяти, поток перед устройством, аналоговый выход, запись после входа или звук у слушателя. Последняя точка добавляет акустическое распространение и работу преобразователя в колонке или наушниках. Для масштаба 1 м пути в воздухе при условной скорости 343 м/с даёт около 2,92 мс; это отдельный вклад, а не задержка драйвера.

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

Работающий аудиотракт — согласованная система представлений и временных бюджетов. Аналоговая часть должна сохранить сигнал, преобразователи — выполнить свои операции в заданных условиях, транспорт — доставить данные, а программа — успеть подготовить их до срока. Именно эта последовательность объясняет, почему одинаковые цифры формата способны сопровождаться разным поведением готовых устройств.

Официальные первичные источники

Читайте также