Задержка сигнала в plug-ins

И еще об одном важном аспекте — задержке, которая может с одинаковым успехом возникать как в аппаратных, так и в виртуальных процессорах эффектов.
Для того чтобы успешно работать с конкретным подключаемым модулем, нужно точно знать, вносит ли он задержку. Игнорирование этого факта может привести к искажениям звука. Для иллюстрации этого эффекта мы предлагаем читателю провести простой эксперимент — один и тот же drumloop разместить на соседних дорожках в одинаковой стартовой позиции. А затем в разрыв одного канала подключить компрессор Waves RCL (с пресетом Full RCL reset) и сравнить с режимом Bypass.
Из-за этого явления в сложной схеме маршрутизации, где аудиопоток разветвляется, часть потока может быть обработана с "несанкционированной" задержкой, а затем смешана с остальной частью.
Примечание
Существует специальная опция Insert Plug-in Delay Compensation в дополнительных настройках Preferences на странице VST. Но она помогает далеко не со всеми подключаемыми модулями.
Для борьбы с этим явлением есть несколько способов.

  • Не использовать в качестве Insert-эффектов модули, дающие задержку.
  • Не использовать режим лимитера на динамических процессорах.
    Как правило, режим лимитера использует алгоритм look ahead, дающий задержку.
    Например, отключение лимитера в DirectX-модуле dB-D dynamics processor (кнопка brick wall) www.db-audioware.com, а также в VST-модуле Ul-trafunk fx:compressor (кнопка Limiter) устраняет задержку.
  • Скомпенсировать задержку вручную.

Поясним последний пункт.
Программа Nuendo, как истинно профессиональное аудиоприложение, позволяет смещать объекты с точностью до отсчета (сэмпла). Для этого нужно перевести параметр Display Format в окне Project Setup формат Samples. В панели инструментов Nudge и Snap выбрать величину Snap, равную одному сэмплу (1 sample). Далее кнопкой Move Left можно сдвигать выделенный объект к началу мультитрека с шагом в один сэмпл. Отметим, что подобный метод достаточно трудоемок. Поэтому лучше иметь точную информацию о величине задержки, вносимой модулем.
Зная точную величину задержки в сэмплах, легче вычесть ее прямо из координаты стартовой границы объекта, отображаемой в поле Start панели Info Line. Полученный результат ввести с клавиатуры в это же поле. Тогда задержка будет полностью скомпенсирована.
Информацию о величине задержки модуля можно получить в окне Plug-in Information, но только для VST-plug-ins. Кроме того, задержка большинства VST-plug-ins компенсируется Nuendo автоматически (если в дополнительных настройках отмечена опция Insert Plug-in Delay Compensation). Проблема остается в основном для DirectX-plug-ins. Поэтому имеет смысл протестировать plug-ins на предмет задержки и измерить ее точную величину.
Из списка тестируемых plug-ins, по понятным причинам, нужно исключить эффекты, "специализирующиеся" на задержках. Поэтому в основном тестировать нужно динамические процессоры (компрессоры, экспандеры) и психоакустические процессоры (эксайтеры, сатураторы и т. д.).
Самый простой и эффективный способ поиска величины задержки — это сложение в противофазе двух каналов белого шума. При отсутствии задержки на выходе получится тишина, при сдвиге только на 1 отсчет (сэмпл) будет прослушиваться шум.
Белый шум можно сгенерировать в Cool Edit Pro в виде 32-битного монозвукового файла. А для тестирования создать специальный 32-битный проект в формате времени Samples с двумя аудиодорожками. Курсор установить в позицию, например, 10000 samples, используя Position Display транспортной панели. Затем импортировать (меню File | Import | Audiofile) в позицию курсора звуковой файл с белым шумом и скопировать объект на соседнюю дорожку с сохранением позиции (с клавишами <Alt> и <Ctrl>). Для скопированного объекта применить операцию деструктивного инвертирования фазы (контекстное меню Process | Phase Reverse). На запрос программы ответить: New Version. Далее нужно снять опцию Insert Plug-in Delay Compensation в дополнительных настройках Preferences. Измерительная установка готова.
Если все сделано правильно, и фейдеры каналов находятся в положении 0 дБ, то при воспроизведении на выходе должна быть тишина. Для дополнительной проверки можно временно сдвинуть один из объектов на один сэмпл. Далее в разрыв одного из каналов подключается тестируемый модуль и включается режим циклического воспроизведения. Если на выходе сохраняется тишина, то модуль не вносит задержку и не изменяет уровень сигнала. Если появился шум, то нужно сначала проверить уровень на выходе модуля, а затем начинать измерение, т. е. сдвигать объект другого канала, к которому не подключен ни один Insert-модуль, от начала мультитрека.
Переключение шага Snap на 10 samples ускорит процесс. С уменьшением задержки между каналами шумовой тон будет повышаться, с увеличением — понижаться. Если тон начал понижаться, значит нужно вернуться назад, уменьшить шаг до одного сэмпла и продолжить движение. В момент компенсации на выходе будет тишина.
Величина задержки определяется как разность между координатами стартовых границ двух объектов. Например, разность координат 00010064 и 00010000 дает величину задержки в 64 отсчета. Полученная в результате тестирования информация позволит принимать правильные решения о месте того или иного модуля в схеме маршрутизации виртуального микшера, а также раз и навсегда избавит от проблемы задержек plug-ins, вызывающих замутнение звуковой картины.