✔️ Причины вызывающие появление задержки:
» Принцип работы самой VST-технологии (много составляющих).
✔️ Причины влияющие на величину задержки (без "воды"):
☑ Аппаратная часть:
» Использование звуковой карты: любая внешняя либо дискретная (не путать с интегрированными) звуковая карта дает задержку. Это становится очивидным при использовании vsti + asio на высокопроизводительном ПК со сторонней звуковой картой и без таковой (при использовании только хорошей интегрированной в мат. плату звуковой карты).
» Показатели ЦП (центральнойго процессора): скорость обработки данных и кэш (например - L3)
» Тип и класс интерфейса (звуковой карты): встроенная или дискретная, внешняя, с ЦАП или без.
» ОЗУ - величина и тип (DDR3, 4..).
» Класс материнской платы: (USB 3+ и т.д).
☑ Програмная часть:
» Конкретный софт и его ресурсоемкость. Как правило, небольшие по размеру VST-синтезаторы генерирующие звук в момент нажатия клавиш наиболее требовательны к ресурсам ПК. И в особенности ЦП.
» Тип драйвера и настройка: ASIO4ALL, MME, WASAPI, ASIOWASAPI и т.д.
✔️ Настройка ASIO4ALL для наименьшей задержки (актуально для слабых ПК).
Выбираем в настройках DAW драйвер ASIO4ALL.
Внизу экрана находим соответствующий значек и кликаем. В открывшейся панели кликаем шестеренку где нас интересует:
☑ WDM Device List: отображает все доступные аудио-интерфейсы.
☑ ASIO Buffer Size: размер буффера.
☑ Latency Compensation: компенсация задержки.
☑ Hardware Buffer On/Off: Аппаратный Буфер Вкл/Выкл.
(ДАЛЕЕ: ТЕКСТ НЕПОСРЕДСТВЕННО ОТ РАЗРАБОТЧИКОВ ASIO4ALL. ЧИТАЕМ ОЧЕНЬ ВНИМАТЕЛЬНО!)
Примечание. Для драйверов WaveRT это поле помечено как «Разрешить режим извлечения (WaveRT)»!
Включает аппаратный буфер для выделенного устройства. Это работает только для так называемых минипортов «WavePCI», поскольку другие типы драйверов WDM обычно не обеспечивают прямой доступ к аппаратному буферу. Настройка наилучшей производительности аппаратного буфера осуществляется с помощью ползунка «Размер буфера ASIO» и ползунка «Смещение буфера» (см. ниже).
Аппаратная буферизация лучше всего работает для небольших размеров буфера ASIO. Попробуйте для начала что-нибудь от 128 до 256 сэмплов! (МЫ ПОПРОБОВАЛИ 64 ... И УНАС ПОЛУЧИЛОСЬ!) Самым большим преимуществом использования аппаратного буфера является то, что этот метод использует гораздо меньше ресурсов ЦП. Кроме того, возможно, удастся еще больше уменьшить задержку. (Да, да, именно так и есть!)
В конфигурациях с несколькими устройствами можно смешивать устройства с аппаратной буферизацией и устройствами, которые ее не имеют. Однако это не особенно рекомендуется!
При использовании звуковых карт PCI на базе Envy24 на панели управления вашей звуковой картой может быть опция с надписью «Задержка передачи буфера DMA» (отображается в продуктах Terratec) или подобная. Вам следует установить минимально возможное значение, например. «1 мс» для достижения наилучших результатов.
Примечание. Если аппаратная буферизация не поддерживается конкретным аудиоустройством, будет дополнительная задержка в пару сотен миллисекунд, которая хорошо слышна.
☑ Kernel Buffers/Buffer Offset: Буферы Ядра/Смещение Буфера
Если аппаратная буферизация отключена, этот элемент управления позволяет добавить до двух еще буферов, которые будут поставлены в очередь для вывода звука. Каждый дополнительный буфер увеличивает задержку вывода устройства на время, необходимое для воспроизведения одного буфера.
Поэтому первоначальную настройку «2» следует изменять только на менее мощных машинах, где с помощью настройки по умолчанию невозможно достичь разумно малого размера буфера ASIO.
Если аппаратная буферизация включена, этот элемент управления определяет величину зазора (в мс) между тем местом, где ASIO4ALL будет вставлять/считывать данные из аппаратного буфера, и позицией, в которой ASIO4ALL в данный момент считает позицию аппаратного чтения/записи.
☑ Always Resample 44.1<->48 KHz: Всегда Выполнять Повторную Дискретизацию 44,1<->48 КГц
ASIO4ALL может выполнять передискретизацию звука с частотой 44,1 кГц в/из 48 кГц в реальном времени. Повторная дискретизация будет выполняться автоматически всякий раз, когда ASIO4ALL открыт для частоты 44,1 кГц, а драйвер WDM не поддерживает эту частоту дискретизации.
Однако могут быть случаи, когда аудиоустройство будет поддерживать частоту 44,1 кГц только за счет внутренней передискретизации. Однако чаще всего качество повторной выборки крайне низкое и/или подвержено проблемам со стабильностью. Чтобы обойти эту проблему, вы можете включить эту опцию.
☑ Force WDM Driver To 16 Bit: Принудительно Перевести Драйвер WDM На 16 Бит
Эта опция действует только в том случае, если поддерживаемая разрядность драйвера WDM превышает 16, но меньше 24. Некоторые устройства сообщают, например. Разрешение 20 бит, но на самом деле его невозможно открыть с разрешением более 16 бит. Если это так в вашей системе, этот вариант обеспечивает обходной путь. Первоначально это было предложено как решение проблемы с драйвером SigmaTel AC97 WDM.
✔️ ПРОИЗВОДИМ НАСТРОЙКУ ИСХОДЯ ИЗ ПОКАЗАТЕЛЕЙ СИСТЕМЫ
» ЦП: Intel i5 2500K - 4 x 3.3GHz (без разгона), Кэш L3=6Mb
» ОЗУ: 32Gb DDR3
» Материнская плата: с поддержкой USB3.0
» Звуковая карта: EMU 0404 PCI (дискретная)
» Диск: SSD.
» Клавишатура: "железный" синтезатор с несколькими режимами мидирования с ПК по USB 3.0.
» OS: WINDOWS 7 64Bit.
» DAW: Bandlab.
Как видим, система по всем показателям более чем скромная по нынешним меркам (2010-2012).
Без звуковой, карты данная система дает минимальную из возможных задержку при использовании драйвера ASIO4ALL + интегрированная звуковая карта.
Естественно, качество звука будет ниже при использовании только интегрированной звуковой. Нужен качественный звук? Читаем далее.
✔️ Выставляем в панели ASIO4ALL (см. скриншот 1):
• ASIO Buffer Size - 64
• Latency Compensation - 0 и 0 соответственно
• Hardware Buffer On/Off - ON (да, нам повезло!- наш случай)
• Buffer Offset - 13ms (запись идет на дорожки в проекте в котором уже присутствует несколько VST-инструментов, а именно 7 + одна миди-дорожка (см. скриншот 2).
ИТОГ: записываем, проигрываем без артефактов. Задержка не ощущается.
Тот, кто внимательно прочел, сразу понял, что именно нужно для сведения задержи до минимума как в нашем примере.
Вспоминаем:
"...работает только для так называемых минипортов «WavePCI», поскольку другие типы драйверов WDM обычно не обеспечивают прямой доступ к аппаратному буферу..."
P.S.
При увеличении кол-ва дорожек vst-синтезаторов - 20 и более, FX-плагинов на каждую и т.д. аппаратная часть любого ПК просто не сможет справиться с возросшей нагрузкой, появятся артефакты, пропадания вплоть до полного отключения драйвера и т.д.
В этом случае, можно пойти по пути увеличения буфера ASIO и производительности аппаратной части, либо осознать, что сам принцип записи миди-партий которому Вы следуете и есть главная причина большой задержки.
Если в результате прочтения появились вопросы - пишите в наш чат, обсудим.
Успехов в творчестве!
P.S. Любые USB-карты независимо от производителя и ценовой ниши - абсолютно не пригодны для получения минимальной задержки в 1.5 м\сек (минимально-возможная при использовании ASIO4ALL), ввиду отсутствия у них Hardware Buffer для ASIO4ALL (читай повторно текст статьи).
===================================================================
Автор/источник: админ / positiverecords.ru
17.12.2023 (ред. 12.03.2024)