Смотришь видео с телефона через магнитолу, а губы артиста шевелятся раньше, чем слышен голос. Или поставил в процессор FIR-фильтры, и звук при переключении трека стал запаздывать. Это латентность. В машине она редко мешает музыке, но важно понимать, откуда она берётся и где начинает вылезать.
Откуда в процессоре берётся задержка?
Из нескольких мест сразу. АЦП и ЦАП тратят время на преобразование. Процессор считает звук блоками (буферами): набрал, скажем, 64 отсчёта, обработал, отдал. При 48 кГц такой буфер - это 64 / 48 000 ≈ 1,33 мс. Сверху добавляются фильтры, и тут главный «пожиратель» времени это FIR.
Почему FIR-фильтры дают такую задержку?
Линейно-фазовый FIR-фильтр симметричен, и сигнал выходит из него с задержкой в половину его длины. Для фильтра на 4096 точек при 48 кГц это (4096 − 1) / 2 / 48 000 ≈ 42,7 мс. Чем длиннее фильтр, тем точнее он работает на низких частотах и тем больше латентность.

Фильтры IIR (привычные Баттерворт и Линквиц-Райли) работают почти без такой задержки, но крутят фазу вблизи частоты среза, см. ГВЗ.
Сколько латентности у обычного процессора?
У процессора на IIR-фильтрах это обычно единицы миллисекунд на весь тракт: преобразователи, буфер, расчёт. Точную цифру производители пишут не всегда, но её легко измерить самому: подай импульс на вход и сравни с выходом двухканальным замером в REW. Для сравнения: задержки, которые ты выставляешь для центровки сцены, тоже в пределах нескольких миллисекунд, и это уже работа по эффекту Хааса, а не латентность. Путать их не стоит: одна двигает сцену, другая только сдвигает весь звук во времени.
Что делать в машине?
- Для музыки не бойся FIR-фильтров: их латентность на звучание системы не влияет, если она одинакова во всех каналах.
- Смотришь видео? Проверь, есть ли в магнитоле или телефоне коррекция задержки аудио.
- Если процессор поддерживает смешанные фильтры (FIR и IIR по разным каналам), проверь измерением импульсного отклика, что полосы совпали по времени.
- Для громкой связи держи отдельный пресет без длинных FIR, если процессор умеет.
Видео, звонки и Bluetooth: что уточняют про латентность
Это разные вещи. Задержка, которую ты ставишь по каналам, нужна, чтобы звук от разных динамиков пришёл к ушам одновременно. Латентность - это общий «лаг» всего тракта, одинаковый для всех каналов. На сцену он не влияет: если все каналы запаздывают на 40 мс одинаково, центр остаётся на месте.
Опасно, если латентность в каналах разная. Например, на твитеры поставили FIR, а на мидбасы нет. Тогда процессор должен сам это компенсировать, иначе полосы разъедутся по времени. Для масштаба: 1 мс - это около 34 см пути звука (скорость звука).
В музыке латентность сама по себе почти никогда не слышна: ты не знаешь, когда «должен» был начаться трек. Проблемы появляются там, где есть картинка или обратная связь: видео на экране, звонки по громкой связи, караоке. Рассинхрон губ и звука многие замечают уже с нескольких десятков миллисекунд.
Bluetooth добавляет заметную латентность. Кодек сжимает звук блоками, приёмник держит буфер от провалов связи. Суммарно это может быть от десятков до сотен миллисекунд, зависит от кодека и устройств. Плюс к этому ещё и процессор. Подробнее в статье Bluetooth-аудио.
Влияет: при той же длине фильтра или буфера в отсчётах латентность на более высокой частоте дискретизации меньше. Линейно-фазовый FIR на 4096 точек при 48 кГц даёт около 42,7 мс, а при 96 кГц около 21,3 мс. Но на 96 кГц для того же разрешения на низах фильтр нужен вдвое длиннее, и задержка в миллисекундах возвращается к прежней.
Латентность сдвигает во времени весь сигнал целиком, одинаково на всех частотах. Групповая задержка зависит от частоты: её создают фильтры, которые крутят фазу, например IIR-кроссовер около частоты среза. Латентность на звучание не влияет, если она одинакова во всех каналах, а групповая задержка меняет форму сигнала около среза. Подробнее в статье про ГВЗ.
Буфер нужен процессору, чтобы считать звук блоками, а не по одному отсчёту: так расчёт фильтров идёт эффективнее. Чем больше буфер, тем меньше нагрузка на процессор и тем больше латентность. Буфер на 64 отсчёта при 48 кГц добавляет около 1,33 мс. В автомобильных процессорах размер буфера задаёт производитель, и пользователь его обычно не меняет.
Для SQ малая латентность процессора не главное. На музыку и сцену она не влияет, если одинакова во всех каналах, а важнее число каналов, фильтры, PEQ и точность задержек. Латентность имеет смысл проверить, если в машине часто смотришь видео или пользуешься громкой связью. Выбирая звуковой процессор с FIR, посмотри, компенсирует ли он разницу задержек между каналами с FIR и без.
Латентность чаще всего всплывает, когда человек впервые пробует FIR и видит, что «всё поехало». Как собирать временное выравнивание полос и проверять его замером, разбираем в шаге «Настройка системы».
Экспериментируешь с FIR в своём процессоре? Поделись результатами в EBAEVSQ, там есть люди, которые уже прошли этот путь.
Источники
- S. P. Lipshitz, M. Pocock, J. Vanderkooy, «On the Audibility of Midrange Phase Distortion in Audio Systems», JAES, 1982
- S. Linkwitz, «Active Crossover Networks for Noncoincident Drivers», JAES, 1976
- А. П. Ефимов, А. В. Никонов, М. А. Сапожков, В. И. Шоров, «Акустика. Справочник», 1989
См. также: FIR-фильтры, Delay, Фазовая когерентность, DSP-процессор.
