Задержка с управлением напряжением (Voltage Controlled Delay)
Блок Voltage Controlled Delay добавляет переменную величину задержки в сэмплах к входному сигналу. В отличие от блока Delay, который добавляет фиксированную величину, заданную в элементе управления, VCD позволяет использовать вход данных для управления величиной задержки, применяемой к входному сигналу.
1-й входной пин (зеленый) — это аудиовходной сигнал. 2-й входной пин (красный) — это первая «точка отвода» (tap) задержки входного сигнала. Выходной пин (синий) — это задержанный выходной сигнал, соответствующий первой точке отвода задержки. Этот алгоритм можно расширить для поддержки нескольких пар входных точек отвода/выходов. Таким образом, один и тот же входной сигнал может быть задержан с помощью различных точек отвода данных управления.
Настройка Max по-прежнему соответствует максимальной величине задержки, которая зарезервирована для входного сигнала. Таким образом, любые значения задержки, заданные пином управления данными, должны находиться в диапазоне от 0 сэмплов до значения в раскрывающемся списке Max. Более подробная информация о памяти данных, резервируемой раскрывающимся списком Max, приведена в последнем разделе ниже.
Пример задержки с управлением напряжением

В приведенном выше примере алгоритм VCD расширен для поддержки 2 отдельных точек отвода задержки входного сигнала. Первый выходной пин VCD подключен к каналу 0 - Output1. Output1 получает версию входного сигнала с задержкой на 480 сэмплов. Это фиксированная величина задержки, заданная блоком DC input, который имеет значение 480 в целочисленном формате (28.0).
Второй выходной пин VCD подключен к каналу 1 - Output2. Output2 получает версию входного сигнала с переменной задержкой. Это достигается с помощью низкочастотного генератора (LFO). Частота LFO (0.1Гц) определяет, насколько быстро будет происходить изменение (sweep) задержки с использованием генератора Sine tone. Максимальная величина задержки изменения определяется другими вспомогательными блоками: DC input, Linear Gain, Adder, Multiply и т. д. В этом примере задержка сэмплов будет варьироваться от 0 до 480 сэмплов с частотой 0.1Гц. Если вы проследите за потоком сигнала, вы увидите, как это достигается: 48000*[0.005 *(sin(x) + 1)]. Таким образом, минимальное выходное значение, отправляемое на вход точки отвода VCD, равно 0, а максимальная задержка в сэмплах равна 480 сэмплам: 48000*.005 + 48000*.005. Следовательно, значение в блоке Linear Gain обозначает максимальную задержку в секундах, деленную на 2, а последний блок DC, ведущий к блоку Multiply, представляет частоту дискретизации схемы.
Максимальная задержка, доступная для конкретного блока задержки, зависит от общего доступного объема системной памяти данных (data RAM), который указан в техническом описании процессора DSP. Установка значения элемента управления Max выделяет память в DSP, резервируя эту память для использования только этим конкретным блоком и уменьшая доступную память для всех других блоков задержки в проекте. Это директива компилятора, которая изменяет код на ассемблере, поэтому при любом изменении настройки Max необходимо перекомпилировать и загрузить программу. Максимальный диапазон значения задержки ограничен оставшейся нераспределенной памятью RAM.