Технические детали — тогда и теперь

Музыкальное производство и создание пластинок — многогранный процесс, в котором задействованы разные элементы. Некоторые из них — художественные, другие — чисто технические.
Как это работало раньше
“Раньше” (на сей раз со шотландским акцентом), все технические аспекты решали люди, которые знали толк в магнитофонах, аналоговых пультах, внешнем оборудовании, линиях и даже в реальных реверберационных камерах. Последнее, чего кто‑либо хотел, — чтобы сессия застряла и артист терял драгоценное время и вдохновение из‑за какой‑то технической детали.
Как это работает сегодня
Все это по-прежнему актуально и сегодня, даже если технические детали изменились, для тех, кто делает музыку на компьютерах (Fab сказал, что их, кажется, довольно много).
Один из наиболее недооценённых аспектов любой DAW — её способность справляться с внутренними задержками, которые возникают при маршрутизации и обработке. В этой статье мы рассмотрим, как Pro Tools управляет своей ADC (Automatic Delay Compensation), но изложенные здесь концепции дадут вам набор навыков и «детективную» шляпу, чтобы выполнять такие проверки и диагностику в любой DAW.
Размер буфера против компенсации задержки
Что такое размер буфера на самом деле
Прежде всего, это два не тождественных понятия. Чтобы объяснить размер буфера, я всегда использую следующий пример:
Каждый раз, когда вы нажимаете “Play” в вашей DAW, вы запрашиваете данные от “мозга” компьютера к вашим колонкам. Представьте это как ряд коробок, которые регулярно отправляются от компьютера к колонкам. Эта коробка — ваш буфер.
Чем меньше размер буфера, тем меньше коробки, которые ваш компьютер использует для упаковки данных и отправки их на колонки. За заданный промежуток времени (например, 1 секунда) компьютеру придётся использовать больше коробок, приложить больше усилий, чтобы наполнить их и отправить. Поскольку коробка маленькая, время от нажатия “Play” до отправки первой коробки будет очень коротким, но нагрузка на CPU вырастет, чтобы обеспечить отправку всех этих крошечных коробочек. Как и в реальной жизни, в маленькие коробки помещается мало, поэтому понадобится много коробок, много ленты, много упаковки, много энергии.
При большом размере буфера компьютер работает спокойнее: в большую коробку помещается много данных, и она будет закрыта и отправлена только когда заполнится. Это означает, что от нажатия “Play” до того момента, когда первая коробка дойдёт до колонок, пройдёт больше времени. С другой стороны, за тот же интервал времени компьютер работает меньше (меньше нагрузка на CPU).
Как размер буфера влияет на рабочий процесс
Кратко:
- Меньшие размеры буфера: повышенная отзывчивость, большее потребление CPU/системных ресурсов
- Большие размеры буфера: пониженная отзывчивость, меньшее потребление CPU/системных ресурсов
По этой причине, как правило, малые размеры буфера предпочтительны при записи (когда нужна минимальная задержка между тем, что вы играете, и тем, что вы слышите обратно из DAW), а большие размеры буфера предпочтительны при микшировании (когда вам уже не нужна критичная по времени отзывчивость и вы хотите использовать больше плагинов, снижая нагрузку на систему).
Внутренняя задержка обработки — совсем другое существо
Итак, чем “внутренняя задержка обработки” отличается от “размера буфера”? В то время как размер буфера — системный параметр, задержка обработки меняется динамически в зависимости от маршрутизации, плагинов и цепочек обработки. И вот тут всё может выйти из‑под контроля.
Задержка обработки и её компенсация
Возьмём две аудиодорожки: Дорожка A — с грувом бочки и малого барабана, Дорожка B — с риффом бас‑гитары. Допустим, эти две дорожки записаны первоклассным, качающим дуэтом. Вы садитесь за микс и решаете, что Дорожке A требуется немного эквалайза, компрессии и лёгкий реверб. Дорожка B идеальна как есть. Нажимаете "Play" и всё звучит потрясающе. Отчасти это потому, что ваша DAW автоматически компенсирует задержку плагинов. Почему так?
По сути, Дорожке A требуется больше времени, чтобы пройти цепочку обработки: Дорожка B идёт без обработки и проходит напрямую, а Дорожка A должна пройти через эквалайзер, компрессор и реверб.
Зачем нужна ADC
Automatic Delay Compensation гарантирует, что Дорожка B не финиширует раньше: она будет ждать Дорожку A, и только когда обе будут готовы, они вместе пройдут «через финишную черту», сохраняя исходные временные отношения между ними.
Если бы в вашей DAW не было "ADC" (Automatic Delay Compensation), Дорожка A звучала бы так, будто она записана позже по времени. Если разница большая, барабанщик будет звучать совершенно не в такт по отношению к басисту, и, поскольку в нашем примере эти двое — знаменитая фанковая группа, за такую ошибку вас могли бы уволить.
Как возникают проблемы с задержкой
Теперь легко понять, насколько важна ADC, учитывая, что у вас обычно:
- больше чем две дорожки
- больше трёх плагинов в сумме
- более сложная маршрутизация, с aux‑шинами для bussing и send/return
и самое важное: вещи не всегда звучат явно неправильно. Может быть небольшое фазовое смещение между каналами (например, бочка и бас и остальная часть ударных? Ужас!), из‑за которого вы будете принимать микшировочные решения, основанные на технической проблеме, а не на содержании дорожек. И это смещение меняется с любой изменением маршрутизации или добавлением/изменением плагина! Ещё один повод для ужаса.
Поэтому давайте убедимся, что умеем диагностировать, правильно ли работает ADC.
Устранение неполадок и настройка ADC
Возьмём две идентичные аудиодорожки, обе направленные на один и тот же шину. На них — одинаковый кусок аудио: синусоида 1 кГц на −20 dBfs (на самом деле подойдёт что угодно, главное — одинаковые клипы).
Метод нулевого суммирования (Null Test)
Я инвертирую фазу (=инвертирую полярность) на одной из дорожек. В некоторых DAW есть простая кнопка "flip phase" в канал‑стрипе, но в моём Pro Tools такой кнопки нет. Поэтому я ставлю по одинаковому Trim‑плагину на обе дорожки, отключаю его на первой и оставляю включённым на второй, чтобы инвертировать полярность. Так я применяю одинаковую обработку к обеим дорожкам и они остаются идентичными для всех практических целей.
На суммирующем шине, называемой "MIX", я ставлю простой плагин Phasescope, чтобы наблюдать полярность, уровни и стерео‑изображение.
Когда я запускаю сессию, две дорожки полностью гасятся друг другом и результат — полная тишина (−infinite). Ах, красота работы с единицами и нулями в цифровой области.

Диагностика маршрутизации и задержек плагинов
Теперь я ставлю плагин на первую дорожку и включаю его в bypass. Таким образом я добавляю нагрузку плагина на систему, но не изменяю звук. Учтите, что в некоторых DAW байпас плагина также исключает его из пути обработки. В моём Pro Tools байпас значит, что плагин всё ещё "висит" на CPU, но не влияет на звук дорожки.
Теперь, если ADC работает корректно, результат по‑прежнему будет полным нулём. Это потому, что Дорожка B быстрее Дорожки A (для неё не нужны вычисления), но DAW заставит её ждать, пока Дорожка A будет готова, и затем они воспроизведутся синхронно.
Если мы выключим ADC в Pro Tools (меню Setup > Delay Compensation снято), вы увидите, что Phasescope показывает остаточный сигнал. Это значит, что дорожки не компенсируются.
В третьем примере мы пропускаем Дорожку A через дополнительную Aux‑дорожку, а затем отправляем её на шину MIX, в то время как Дорожка B идёт напрямую. Если ADC работает правильно, компенсация всё равно произойдёт и результат должен быть полным нулём.

Когда ADC не срабатывает для дорожек с мониторингом входа
В четвёртом примере мы пропускаем Дорожку A через Audio Track с включённым Input Monitoring. Тут начинаются интересные вещи. В Pro Tools при нажатии Play сигнал не гасится. Это баг? Нет.
В Pro Tools есть функция "Auto Low Latency", которая обычно включена по умолчанию. Идея в том, что если вы ставите аудиодорожку в режим мониторинга входа и/или записи, вы, вероятно, будете записывать что‑то на неё. И если это происходит с реального источника (например, гитаристу надо записать овердаб), Pro Tools предполагает, что вы захотите минимальную возможную задержку, чтобы музыкант слышал себя вовремя и в такт. "Auto Low Latency" делает так, что правило Automatic Delay Compensation нарушается для дорожек, которые переведены в режим мониторинга входа и/или готовы к записи (зелёная кнопка "I" или красная точка).
Чаще всего это именно то, что вы хотите (особенно если сессия уже перегружена плагинами), но в нашем случае это не нужно. Мы можем использовать эту технику, чтобы записать дорожку в другую дорожку (bounce), и крайне важно, чтобы ADC сохранялась, чтобы мы могли корректно контролировать мониторинг и «запечатлеть» правильный звук.

Отключение режима Auto Low Latency
Чтобы исправить это, мы переходим к панели "delay compensation" внизу аудиодорожки (убедитесь, что у вас включена опция "Delay Compensation" в меню "View > Mix Window", чтобы видеть эту панель). Три поля указывают сверху вниз:
- общую задержку этой дорожки в сэмплах
- пользовательский сдвиг этой дорожки в сэмплах (если задан)
- общую компенсацию в сэмплах, требуемую для выравнивания задержки до самой медленной дорожки в сессии
обычно эти поля зелёные, но в Pro Tools они могут быть оранжевыми, чтобы выделить самую медленную дорожку в сессии. Если они красные, значит дорожка не компенсируется корректно. У каждой DAW есть максимальное количество сэмплов, которое она может компенсировать.
Чтобы выключить режим "Auto Low Latency" для конкретной дорожки, надо кликнуть правой кнопкой по третьему, самому нижнему полю в Delay Compensation Pane, затем выбрать "Auto Low Latency OFF". Поле компенсации станет синим, чтобы показать, что Low Latency отключён для этой дорожки.
Если вы сейчас проиграете сессию, вы заметите полный ноль (null). Всё снова работает как ожидалось.
Вы можете использовать эту диагностику в любой ситуации (также для send/return), просто убедившись, что результат двух идентичных дорожек (но с противоположной полярностью) возвращается в полное гашение. Это не предмет дебатов: это не художественный выбор или стиль работы: DAW не должны влиять на тайминг вашего материала (будь то предварительно записанное или сгенерированное в реальном времени) на основе технических или операционных факторов.
ADC и виртуальные инструменты
А как насчёт виртуальных инструментов? Как быть уверенным, что они все корректно компенсируются? Что ж, мы не можем знать наверняка. Мы доверяем разработчикам софта. Обычно.
Но есть тип виртуальных инструментов, которому я уделяю особое внимание: библиотеки ударных и плагины для замены ударных. Если я добавляю сэмпл бочки и малого барабана в существующую ударную дорожку, как мне быть уверенным, что эти два сэмпла идеально выровнены по фазе?

Почему библиотеки ударных требуют особого внимания
В последнем примере у нас три дорожки ударных: Kick, Snare и Overheads, и они звучат так:
Можно сделать лучше. Я не слышу достаточной мощности в бочке и малом, и хочу усилить их с помощью сэмплов. Для этого я открываю виртуальный инструмент — в моём случае Slate Digital SSD 4, но этот принцип применим к любому похожему плагину.
Как только я выбрал сэмплы для бочки и малого, я запускаю сессию, и это звучит так. Вполне неплохо, делает то, что нужно.
Банкаем (bounce) сэмплы, чтобы избежать хаоса
Первую проверку я делаю ушами. Звучит хорошо — оставляю как есть. Однако я знаю, что сессия вскоре станет гораздо больше и хочу минимизировать возможность возникновения проблем. Поэтому вместо того, чтобы оставлять виртуальный инструмент подключённым и полагаться на него, я решаю записать (bounce) дорожки с сэмплами в реальное аудио. Это сделает сессию автономной и не зависящей от библиотеки звуков, которой через годы может не быть у кого‑то ещё, или которой нет у вашего инженера... и кроме того, это зафиксирует время этих сэмплов и гарантирует, что они останутся на своих местах.
Совет: избавьтесь от виртуальных инструментов, как только закончите работу над аранжировкой/композицией. Я лично не очень доверяю MIDI и предпочитаю перейти к более компактной, оптимизированной сессии до этапа микса.
Правильная маршрутизация для печати сэмплов
В микшере SSD я маршрутизирую так:
- Kick (direct): Stereo Output 2
- Snare (direct): Stereo Output 3
- Все атмосферные дорожки (Overheads/rooms и т.п.): Stereo Output 4
Затем в Pro Tools я создаю 3 стерео Audio Tracks, называю их соответствующим образом и ставлю их входы на выходы виртуального инструмента SSD, те самые, что перечислены выше. Чтобы добавить ещё маршрутизации (и проверить больше сценариев), эти 3 дорожки отправляются на собственную шину, а затем на шину MIX.
Если я включаю Input Monitoring на этих дорожках и нажимаю Play, всё звучит странно и не в такт.
Это потому, что я забыл установить "Auto Low Latency" в OFF, как я объяснял выше. Как только это исправлено, всё снова звучит точно так же, как было до bounce.
Затем я выполняю bounce дорожек, и вот они — записанные отдельно и готовые к добавлению в микс‑сессию. Забавно, что даже при включённом "Auto Low Latency" напечатанный результат будет корректно компенсирован! Потому что Pro Tools использует этот режим Low Latency только для мониторинга, а не для внутренней записи (молодцы, разработчики).

Исправление несогласованных сэмплов ударных
Теперь давайте приблизим взгляд на дорожки ударных. В то время как выбранный сэмпл малого барабана идеально выровнен и в фазе с оригиналом, между двумя бочками видно задержку. Это не связано с Automatic Delay Compensation, а скорее с самими сэмплами в виртуальном инструменте. У них разные движки, разные сэмплы и, следовательно, разные результаты. Поэтому всегда рекомендуется финальный осмотр.
Допустим, мы измерили расстояние между началом реальной бочки и началом сэмпла — это 72 сэмпла (об этом сообщает транспорт Pro Tools, когда сетка установлена в "Samples"). Теперь мы можем ввести "-72" в поле "User Offset" в панели delay compensation у дорожки с сэмплом бочки.
Это скажет Pro Tools сдвинуть эту дорожку на 72 сэмпла "назад", выравнивая сэмпл бочки с реальной бочкой. Это не всегда означает, что будет звучать лучше — я лишь говорю, что стоит проверить! В данном случае выровненная версия звучит лучше и делает две бочки более единым целым. Небольшой, но заметный эффект.