Качество цифровой обработки

Очень кратко о взаимоотношениях Nuendo и plug-ins можно сказать следующее.
Программа Nuendo поддерживает два самых распространенных стандарта plug-ins: VST и DirectX. Некоторые производители выпускают plug-ins сразу в двух стандартах, например, Ultrafunk (www.ultrafunk.com). VST-plug-ins поддерживают автоматизацию параметров в VST-приложениях. Кроме того, как правило, VST-plug-ins менее ресурсоемки.
Модули plug-ins, поставляемые в комплекте с Nuendo, имеют простой и ясный интерфейс. Многие из них синхронизируются с темпом проекта, например, Double Delay, что дает возможность их применения в качестве дополнительного музыкального инструмента.
Теперь перейдем к теме цифровой обработки звука.
Как известно, цифровая обработка звука имеет неприятную тенденцию к накоплению погрешности, которая вызывается конечной точностью обработки. Никакие красивые графики и коммерческий дизайн подключаемого модуля не должны вводить в заблуждение. Единственным, реальным критерием качества алгоритма plug-in может быть только слуховое восприятие.
Ресурсозависимые (native) системы иногда критикуют за эффект замутнения звуковой картины, который объясняется недостаточным быстродействием CPU для звуковой обработки в реальном времени и задержками plug-ins.
Однако, как ни странно, нет принципиальной разницы между обработкой звука специализированными DSP и обработкой центральным процессором.
Действительно, в реальном времени аппаратные устройства работают быстрее. Это, несомненно, важно, когда время — деньги, например, в профессиональной студии. В домашней студии на качество можно потратить значительно больше времени. Поясним. Звук на компьютере можно обрабатывать и не в реальном времени, но зато с ювелирным качеством. Кроме того, применение двухпроцессорной конфигурации PC увеличивает производительность системы при обработке в реальном времени.
На показана загрузка CPU в однопроцессорном режиме. А на — в двухпроцессорном. Переключение режима Nuendo осуществлялось в окне VST Engine Expert Settings с помощью флажка Multi Processing.
На видно, что программа Nuendo распределила обработку между обоими процессорами. Таким способом устраняется одна из причин эффекта замутнения звуковой картины — недостаточность производительности.
Задержка сигнала в 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, вызывающих замутнение звуковой картины.