Настраиваем секцию осцилляторов, макромодули и огибающие в NI Reaktor.
В прошлый раз мы начали наше знакомство с возможностями синтезатора Native Instruments Reaktor, вкратце изучили интерфейс приложения, а также начали работу по созданию собственного синтезатора. В нашем будущем синтезаторе уже имеется группа осцилляторов, который подверглись первоначальной настройке. Сегодня мы продолжим настраивать осциллятор синтезатора.
Настройка осциллятора
Итак, у нас есть большая часть компонентов, необходимых для полноценной работы осциллятора. Теперь неплохо бы добавить возможности более детальной настройки высоты звука, воспроизводимого осциллятором. Чуть позже мы продублируем секцию осцилляторов, чтобы иметь возможность по-разному настроить их.
Контроль высоты звука в Native Instruments Reaktor осуществляется при помощи объекта NotePitch. Несмотря на это Reaktor позволяет добавить или вычесть поступающие от объекта данные с каким-то постоянным значением для компенсации высоты звуков. Допустим, вы хотите изменить ноты ровно на октаву выше (или ниже). Все, что вам понадобится — это добавить (или вычесть) значение 12 к объекту NotePitch, а все остальное будет сделано в автоматическом режиме (итоговый звук будет транспонирован на октаву выше).
Кликните правой клавишей по фону в окне структуры синтезатора (Structure View) и перейдите в Built-In Module > Math > Add. Теперь сделайте клик правой клавишей на одном из входов модуля Add и выберите опцию Create Control. Как мы уже знаем, таким образом Reaktor установит связь между модулями. В нашем случае название связи будет ‘Add’.
Дважды кликните на созданной связи и переименуйте ее в Coarse для собственного удобства. В нашем случае Coarse (в переводе с английского — «грубый», «необработанный») подразумевает возможность грубой настройки высоты звучания. Созданная связь будет нашей секцией управления высотой звучания осциллятора. Присоедините выход NotePitch к другому входу модуля Add, а выход модуля Add подключите на вход P всех трех осцилляторов.
После произведенных манипуляций, все прямые подключения от модуля NotePitch к входу P будут автоматически удалены. Не пугайтесь, так как это абсолютно нормальное развитие событий, вызванное тем фактом, что на каждый вход может поступать только один сигнал, а добавление нового входного сигнала удаляет предыдущие значения.
Теперь нам необходимо определить диапазон работы для связи Coarse. Выберите ее, а затем перейдите в боковой панели настроек к вкладке Function. Установите параметр Max & Min на значение 24 & -24, что даст Reaktor понять, что нам требуется диапазон в две октавы выше и две октавы ниже исходного звука. Также настройте параметр Step Size, выставив его значение на 1.
Если открыть панельный режим просмотра (Panel View), то можно заметить, что Coarse находится под ранее созданным Shape, что не очень удобно для нашей работы. Разблокируйте панель для редактирования при помощи сочетания клавиш Cmd+E (или Ctrl+E) и переместите Coarse куда-нибудь вниз. Нажмите Cmd+E еще раз, чтобы вновь заблокировать панель от возможных нежелательных изменений.
Теперь, когда у нас есть грубая возможность контроля высоты звука, стоит озадачиться функцией более детальной и аккуратной работы с питчем. Кликнем правой клавишей по фону в окне просмотра структуры и выберем Built-In Module > Panel > Knob, чтобы создать регулятор.
Созданный регулятор необходимо связать с ранее созданным модулем Coarse. Проблема заключается в том, что на данный момент у модуля есть всего два входа, оба которых уже заняты, а как мы прекрасно понимаем, к одному входу нельзя подключить несколько источников сигнала. К счастью, модуль типа Add позволяет добавлять дополнительные входы в случае необходимости. Для этого выберите модуль Add (который мы переименовали в Course), перейдите в боковую панель настроек во вкладку Function. Здесь имеется имеется значение Min Num of Ports, задающее минимальное количество входов и выходов модуля. Выставите значение Min Num of Ports равное 3. Теперь можно без проблем соединить ранее созданный регулятор с модулем Add.
Переименуйте созданную ручку настройки так, как вам захочется. Лично я дал ей название Fine, чтобы быстрее понимать за что она отвечает. Нам не нужно настраивать ее диапазон работы, так как стандартное значение 1/-1 идеально подойдет для более точной настройки. Снова разблокируйте панельный режим просмотра, как мы делали это ранее, и расположите созданный регулятор Fine с правой стороны от ранее созданного модуля Coarse. Заблокируйте панельный режим и проверьте возможности контроля питча.
Макромодуль осциллятора
Теперь начинается самое интересное: необходимо объединить имеющуюся у нас секцию осциллятора в макросекцию, а затем дважды скопировать ее для создания синтезатора с тремя осцилляторами.
Выберите все модули в окне структуры синтезатора: NotePitch, Gate, два Audio Voice Combiners, два Out. Быстро и просто выделить все модули можно посредством нажатия сочетания клавиш Cmd+A. Снять выделение с конкретных модулей можно при помощи зажатия клавиши Cmd и клика левой кнопкой мыши по тем модулям, которые не должны быть выделены.
Теперь нажмите сочетание клавиш Cmd+X, чтобы вырезать выделенные ранее модули. Следом кликните правой клавишей по фону в окне просмотра структуры синтезатора и выберите опцию New Macro. Дважды кликните левой кнопкой мыши по созданному макромодулю для открытия окна его структуры. Нажмите сочетание клавиш Cmd+V, чтобы вставить вырезанные модули.
Если сейчас попробовать поиграть что-либо на MIDI-клавиатуре, то можно заметить, что синтезатор больше не воспроизводит звук. Это происходит по той причине, что после вырезания и вставки мы нарушили связи входов и выходов. Если сейчас вернуться на экран назад, то у созданного нами макромодуля отсутствуют входы и выходы. Исправить сложившееся положение можно посредством добавления входов и выходов в самом макромодуле.
Нам понадобится по одному входу для каждого модуля NotePitch и Gate, а также один общий выход. Вернитесь к нашему макромодулю и добавьте два выхода и один вход. Быстрее всего это можно сделать через нажатие Enter на клавиатуре и вводе в поисковое окно имени модуля, которым вы хотите воспользоваться. В нашем случае, в окне поиска стоит набрать ‘In Port’.
Загрузите модуль In Port и нажатием сочетания клавиш Cmd+D сделайте его копию. Теперь снова нажмите Enter и введите ‘Out Port’, после чего активируйте его. Дайте одному входному модулю название ‘P’, а второму — ‘G’. Подсоедините модули к разным входам и выходам, как это показано на рисунке ниже.
Снова вернувшись к общей структуре инструмента, можно увидеть появившиеся входы и выходы. Соедините NotePitch с входом P, а Gate с входом G. Выход макромодуля стоит отправить на оба входа модуля Audio Voice Combiners. Как только с коммутацией будет покончено, сделайте двойной клик левой кнопкой мыши на макромодуле и переименуйте его в OSC A.
Выбрав макромодуль OSC A, сделайте две копии через нажатие сочетания клавиш Cmd+D. Переименуйте копии в OSC B и OSC C соответственно. Скорее всего вы заметите, что выходные соединения оказались не скоммутированы, в то время как входные никуда не делись.
К сожалению панельный режим просмотра быстро превращается в бардак из-за того, что Reaktor помещает все макросы в этом окне прямо друг на друга. Разблокируйте панель, нажмите Cmd+E и расположите макромодули так, чтобы с ними было удобно работать.
Как нам уже известно, мы не можем пропустить через один вход более одного сигнала. Значит, выходы наших макромодулей должны быть объединены между собой до того, как сигнал с них будет поступать на модуль Audio Voice Combiners. Для того, чтобы объединить сигналы OSC A, OSC B и OSC C, воспользуемся модулем Add с тремя входами и расположим его перед Audio Voice Combiners.
Кликните правой клавишей по фону в окне просмотра структуры и выберите Built-In Module > Math > Add, точно так, как мы делали это раньше. Выберите модуль Add, перейдите в боковой вкладке к Functions, а затем выставите параметр Min Number of Ports равным 3. После этого скоммутируйте три макромодуля с тремя входами модуля Add, а выход модуля Add отправьте на входы Audio Voice Combiner.
Сделайте уровень общей громкости ниже и попробуйте поиграть что-нибудь на MIDI-клавиатуре или через Piano Roll. У вас должна быть возможность слышать 3 имеющихся осциллятора и настраивать их.
Амплитуда огибающей
Верите вы или нет, но мы продолжим «ковыряться» в секции осцилляторов. В отличие от аналоговых синтезаторов или Eurorack-систем с выделенными VCA, Native Instruments Reaktor позволяет контролировать амплитуду огибающей прямо в модуле осциллятора.
В данный момент амплитуда контролируется через Gate, а при извлечении нот амплитуда осциллятора «вылетает» в максимальные значения. Вполне возможно, что такое положение вещей будет неуместно для создаваемого синтезатора. Использование огибающей может дать больше гибкости в формировании желаемой амплитуды. Самой распространенной огибающей является ADSR-огибающая.
Убедитесь в том, что вы находитесь на странице инструмента, кликните правой клавишей мыши по фону и перейдите по пути Built-In Module > LFO, Envelope > ADSR. Скоммутируйте выход Gate с входом G модуля ADSR Env, а затем кликните правой клавишей на каждом из 4 входов (A, D, S, R) и выберите Create Control. После этого у вас появится возможность контролировать огибающую через 4 отдельных интерфейса.
В окне панельного режима теперь будет творится настоящий бардак, с которым мы разберемся несколько позднее. Сейчас же необходимо установить связь между свежесозданным модулем ADSR Env и тремя макромодулями осцилляторов, созданными чуть ранее.
Подключите выход ADSR Env к входу G каждого из трех макроосцилляторов. Кстати говоря, так как раньше входы G контролировались гейтом, а теперь вместо него работает ADSR-огибающая, то нет смысла именовать этот вход G. Переименуйте входы G у каждого из осцилляторов в A.
Теперь давайте наведем порядок в панельном режиме. Разблокируйте возможность редактирования сочетанием клавиш Cmd+E или кликните по иконке с замком. Выберите 4 новых компонента и переместите их в нижнюю часть окна.
Чтобы сделать отображение всех элементов более понятным и приятным, можно активировать графическое отображение огибающей. Выделите модуль ADSR Env в окне просмотра структуры, перейдите во вкладку View в боковой панели настроек и в категории VISIBLE активируйте параметр On. У вас должно появиться графическое отображение ADSR-огибающей. Можно также выключить опцию Show Label, чтобы скрыть текстовые подписи на графике. В подсекции SIZE можно настроить ширину и высоту отображаемого графика огибающей.
Заблокируйте панель и попробуйте управлять ADSR-огибающей. Графическое отображение и все регуляторы должны отвечать на изменения формы амплитуды. Все изменения параметров ADSR-огибающей должны обновляться на грифике в режиме реального времени.
В общем, мы наконец-то закончили работу с секцией осцилляторов. Да, это заняло достаточно много времени, но результат того стоит: у нас в наличии имеется крайне мощная и удобная секция осцилляторов.