Статьи:

Профиль:

Создание дилея в синтэдит


Давайте разберёмся со структурой дилея, как можно создать данный эффект-процессор средствами программы синтэдит. Принцип работы дилея прост — периодическое повторение входящего сигнала. Однако по настоящему хорошие плагины обычно обладают несколько большей функциональностью, к которой мы и будем стремиться в этой публикации.

В синтэдите есть модуль Delay2 (Insert — Effects — Delay2), который добавляет повторения с определённым периодом (изменяемым в секундах).

Untitled-5f

Максимальное время периода повторений — 10 сек (диктуется буфером..). Параметр «модуляция» отображается в Вольтах. Соответствие Вольт к секундам: 10 вольт = 1 сек, 5 Вольт = 0.5 сек и т.д.  Модуляция используется в таких эффектах как хорус и флангер. Ниже приведён пример примитивного дилея:

Untitled-6d

Модули VCA предназначены для увеличения уровня звука. Обработанный и чистый сигнал смешиваются на выходе. Время задержек дилеев задаётся с помощью регулятора, также как и громкость повторений. Хочу заметить то что каналы имеют одни настройки и регуляторы, так что это моно дилей, работающий со стерео сигналом.

Синтэдит
Руководство пользователя
Описание модулей
Описание модулей 2
Создание синтезатора 1
Создание синтезатора 2
Создание синтезатора 3
Единицы измерения
Оптимизация
синтез методом фазовых искажений
FM синтез
Создание Модулей
Создание фильтра
Создание дилея
Создание ревербератора
Создание флангера и хоруса
Создание эквалайзера
Создание компрессора
Создание вокодера

Если Вы хотите чтобы время задержки, отображаемое под регуляторами, было в миллисекндах, воспользуйтесь модулем деления, разделив значение на 100. Для этого добавьте в проект новый модуль Divide (Insert — Math — Divide). Подсоедините выход регулятора ко входу модуля деления. В настройках модуля задайте значение делителя. Скопируйте модуль деления для обработки второго канала.

Untitled-7s

Регулирование уровней чистого/обработанного сигналов

Практически в каждом дилее можно найти регулятор, с помощью которого пользователю предоставлена возможность задавать соотношение входящего/чистого звука с обработанным. Однако нужно учитывать то что существует два типа использования процессоров звука в хост-программах:

Untitled-8s

При этом эффекты посыла возвращают только обработанный сигнал. Данный тип эффектов используются для обработки сразу нескольких источников звука/каналов, экономия ресурсов процессора. Так что в данном типе вложений плагина уровень чистого и обработанного сигналов задаются независимо.

Добавление фильтрации

Многие дилеи используют фильты для модифицирования обработанного сигнала. Обычно это либо фильтры высоких частот, либо фильтры низких частот, резонирующие фильтры. Давайте добавим двух-полярный, резонирующий фильтр низких частот ? Выполните следующую команду: Insert — Filters — SV filter. Скопируйте и вставьте копию модуля, для второго канала. Также следует добавить ещё два VCA модуля. Также, для управления фильтрацией, имеет смысл добавить два регулятора частоты среза и уровня резонанса, подсоединив их выходы к соответствующим входам модулей фильтрации.

Untitled-9d

Синхронизирование дилея

Ещё одной отличительной особенностью хороших дилеев является возможность синхронизации времени повторений с темпом хост программы. Действительно, задавать повторения в миллисекундах и вручную подстраиваться под темп не всегда удобно.

Для синхронизации плагина с темпом хост-программы добавьте в проект модуль Insert — Special — BPM Clock 2. Данный модуль преобразует темп в вольты. Задайте дилею время повторения = 10 сек, так что один Вольт соответствует одной секунде повторения. В минуте 60 секунд, так что разделите 60 на темп в ударах в минуту (BPM) для того чтобы получить значение в Вольтах, которое  соответствует одному удару. Например темп 120 ударов в минуту: 60/120= 0.5 , следовательно 500 миллисикунд. Когда пользователь хочеть задать время повторений меньше одной доли — Вы делите длинну на 2 или на 4, получаете значения 250 и 125 соответственно.

Untitled-11s

Создайте модули Fixed Values (Insert — Controls — Fixed values)  и Switch (много — 1) (Insert — Flow Control — Switch (Many — 1)). Подсоедините выходы первого ко входам второго, как это показано на изображении выше (входы/выходы настраиваются в свойствах модуля). Выделите все модули и объедините в контейнер. После чего импортируйте его в Ваш проект с дилеем. Откройте его свойства и активируйте возможность изменения параметров подмодуля (синхронизация) надмодулем (дилей).

Untitled-123

Нужно учитывать то что в регуляторах значения отображаются не в виде целых чисел или доль. Для начала нужно преобразовать числа с плавающей точкой в вольты. Для этого воспользуемся модулями округления, к ближайшему большему целому числу: Insert — Math — Ceil  и к ближайшему меньшему числу Insert — Math — Floor. Добавьте в проект один из них, например модуль округления к меньшему целому числу. Также добавьте новый регулятор, подсоедините его ко входу округлителя, задайте диапазон изменяемых значений регулятора (1,8), в соответствии с долями такта.

Untitled-142

Проблема заключается в том, что  положение регулятора изменяется плавно, а дилей будет изменяться ступенчито, реже чем изменение положения регулятора. Решение проблемы в использовании суб-контроллеров. Зайдите в настройки регулятора и уберите отображение циферблата с текущим значением. Далее добавьте новый модуль Text Entry2 (Insert — Sub-Controls — Text entry2). Ещё одна проблема — сконвертировать текст в вольты! :) Давайте и её решим :)

Также Вам потребуется сконвертировать Вольты в числа с плавающей запятой (флоат), для этого добавьте в проект модуль Insert — Conversion — Volts to Float. Как и понадобится сконвертировать текст  в числа с плавающей запятой (флоат), для этого добавьте в проект модуль Insert — Sub-Controls  — Text to float . У нас есть модули конвертирования Вольт и текста, осталось их соединить с помощью модуля Insert — Sub-controls — Patch Mem-Float Out:

Untitled-132

Для задания отображаемых в циферблате регулятора чисел редактируйте свойства модуля Text to float. Осталось выделить данные модули и сгруппировать их в контейнер.

Untitled-152

Перед тем как внедрить наши два новых контейнера в структуру синтезатора осталось добавить два модуля. Это модули умножения Insert — Math — Multiply, которые будут перемножать значения только что созданного регулятора и ранее созданного контейнера конвертирования темпа в миллисекунды. После перемножения данные будут направляться ко входам модуляции модулей дилея:

Untitled-162

Пинг-понг дилей

Также среди дилеев выделяются так называемые пинг-понг дилеи. Их отличительная особенность заключается в том, что каждое новое повторение входящего сигнала производится в левом — правом — левом и.т.д. каналах. Схематически это можно изобразить следующим образом:

Untitled-172

Однако если Вы попробуете создать данную схему в синтэдите, используя два дилея, то в результате получите сообщение об ошибке: «This patch contains a FEEDBACK path». Проблема заключается во внутренней структуре синтэдита. Для её решения можно воспользоваться специальным модулем для подобных случаев Insert — Special — Feedback . И тут появляется новая поблема — это задержки (латенси) ответа (фидбека), которая равна 90-100 выборкам, это примерно 2 миллисекунды при работе с частотой дискретизации 44100 Гц, одна миллисекнда при работе с 96 кГц. Проблема может быть решена вторым модулем подобного плана для компенсирования отставания первого..

Ниже представлена модификация дилея, благодаря которой он уже становится пинг-понг дилеем! :) Я уже описывал назначения всех модулей и смысл их коммутации, так что просто скриншот с указанием места вставки новых модулей:

Untitled-182

Зайдите в настройки модулей дилея и убедитесь то что там значение фидбека равно нулю.

Обратная связь (фидбек) с фильтрацией

Также Вы можете захотеть создать не просто пинг-понг дилей, но и пинг-понг дилей с поддержкой фильтрации обрабатываемого сигнала. Логично, то что для этого нужно изменять каждый «фидбек» добавлением фильтров по пути обратной связи. Я не буду описывать как добавлять фильтры, так как мы это уже делали в прошлом уроке, также Вы сами сможете добавить регуляторы фильтрации и связать всю эту радость должным образом.

Untitled-192

Создание многослойных дилеев

Также хорошие дилей-плагины позволяют пользователю создать множество слоёв повторений. Для простоты примера мы будем конвертиовать входящий сигнал в моно, потом добавлять к двум каналам, умножая допустим на 0.5 для получения разницы. При этом в структуре процессора звука имеется фильтр низких частот, благодаря которому можно вырезать из повторений определённые частотные диапазоны. Также в структуру процессора звука добавим модуль панорамирования Insert — Modifiers — Pan , значение -5 которого соответствует положению входящего звука строго в левом канале, 5 — строго в правом. Также в структуру помещён модуль из архива доп. модулей,  DB_dbToVoltage. Как понятно из названия — он осуществляет увеличение уровня звука в децибеловом эквиваленте, конвертирует децибеллы в Вольты. Этот модуль имеет смысл использовать с модулями линейного увеличения уровня звука, вроде Adj и др.

Untitled-201

Модуль Divide осуществляет деление на 100, чтобы уйти от миллисекунд. Объедините модули в единый контейнер.

Untitled-217

Для создания дополнительных линий повторения — просто скопируйте и вставьте только что созданный контейнер Tap. Также Вы наверное заметили то что в структуре есть ещё один контейнер Dry Amp, вот его содержимое:

Untitled-222

Ниже предоставлен пример структуры дилея с 4-мя линиями дилеев:

Untitled-241

Mekong-Spider-2

Вы должны быть залогинены для комментирования.