Главная // Инструменты и сэмплы // Reaktor // 4-й выпуск

Инструмент, идея которого пришла давно, но реализация всё время откладывалась.


:: Главная
:: Музыка
:: Архив
:: Для музыки
  :: Reaktor
    :: Радио '92
    :: Радио '92e
    :: 4-й выпуск
  :: SoundFont
:: Ссылки
:: Гостевая
:: Форум


Synth1 скачать synth1.zip (4.0 Кб)

Синтезатор эффектов, таких как «падающие звёзды» в композициях Jean Michel Jarre или возрастающие звуки из «Radioactivity» легендарных Kraftwerk.

С чего начинается музыка? С пустого, но обрастающего синтезатора. Итак, надеюсь, перед вами уже открыт пустая сборка - Ensemble. В него надо добавить новый инструмент с одним выходом: Instruments > _New > Out1. Для вырабатывания описанного выше характера изменения высоты тона нам понадобится фвухфазный генератор огибающей Attack-Decay: Modules > LFO, Envelope > AD. На вход Trig выведем сигнал со знакомого блока Gate (Modules > MIDI > Gate). Мы не будем управлять амплитудой огибающей, так как её диапазона [0..1] недостаточно для наших целей. Удобнее будет умножить поставить на вход A единицу, а выходной сигнал умножать на нужное число. Зато управлять временем атаки и затухания нам потребуется. Установим на соответствующие входы связи с ручками Attack и Decay с диапазоном изменения [0..80]. Как и описывалось ранее, сигнал с генератора огибающей надо умножить на величину, задающую максимальную высоту тона. Диапазон её изменения можно задать [20..60], как и величину транспонирования. Под этим подразумевается, что вы добавили ещё два регулятора - Mult pitch и Add pitch. Добавьте ещё умножитель аудио-сигнала (Modules > +,-,X,/ > Audio Mult 2). На один его вход будет подаваться выходной сигнал с генератора огибающей, а на другой - значение Mult Pitch. С выхода умножителя сигнал пойдёт на сумматор сигналов, второй вход которого соединён с ручкой Add Pitch. Теперь самое время и место подключить тонгенератор. Я уже затрагивал эту тему в первых выпусках рассылки, поэтому на него мы отвлекаться не будем и вставим уже готовый. Для этого подойдёт либо генератор из синтезаторов Radio92, либо один из готовых, например Macros > Oscillator > Waves > Osc (5 waves). На вход A управления амплитудой подадим сигнал с генератора огибающей - она у нас теперь играет двойную роль. Теперь вопрос: как быть с управлением по высоте тона? Те, кто уже сталкивался с подобной проблемой, либо «разбирали» готовые синтезаторы знают, что есть такой блок - «Audio to event converter», дословно «Преобразователь аудио в события» (Modules > Auxiliary > A to E). Аудио-сигнал с его входа преобразуется в последовательность сообщений, и теперь его можно подавать на вход P управления высотой тона. Всё, что остаётся сделать - соединить выход P-osc с блоком Voice Combiner, оставшемся по наследству от пустого инструмента, и наш генератор эффектов готов. При нажатии на какую-нибудь клавишу он будет генерировать сигнал, к сожалению, пока контролируемый только умножением и транспонированием.

Начало положено, теперь доработаем его до легко усваиваемой и удобной формы. Для начала, добавим управление высоты тона от нажатой клавиши. Для этого заменим сумматор аудио на сумматор сообщений с тремя входами. Блок A/E переместим между умножителем и сумматором. На входы сумматора подаём Add Pitch, A/E и свежевставленный NotePitch. Как ни странно, синтезатор ещё работает.

Теперь ещё одна существенная доработка - автоматическая многократная генерация звука. Для этого мне пришлось прибегнуть к небольшой мат.логике. Суть этой логики такова, что нам надо получить на выходе импульс при достижении звуком минимальной определённой высоты тона либо амплитуды. Её практическая реализация состоит в добавлении блока сравнения (Modules > Event processing > Compare) На один вход подаём сигнал с блока A/E, а на второй пока установим какую-нибудь константу, можно от 0,01 до 1. В зависимости от того, в какие входы вы подали порог и непосредственно сигнал, выбирайте выход «>» или «<» так, чтобы блок срабатывал на условие «сигнал меньше порога». В моём случае, A/E = A, порог = B, сигнал снимаю с выхода «<». Этот выход можно соединить со входом Trig генератора огибающей и тогда вы должны сразу услышать бесконечное вырабатывание сигнала. Значит, логика работает. Можете заменить пороговую константу на регулятор, диапазон которого можно задать произвольным. Только не забудьте, что при 0 выходной импульс не будет поступать на вход генератора огибающей и вся обратная связь станет бесполезной. Теперь усовершенствуем нашу модель. Сделаем так, чтобы сигнал мог генерироваться как от нажатия клавиши, так и самостоятельно. Для этого вставим блок «Или» (Modules > Event processing > Logic OR) и подадим на один его вход сигнал с Gate. Для отключения функции самогенерации сделаем кнопку с функцией Toggle, её значение подадим на умножитель двух аудио сигналов (он у нас играет роль логического умножения). На второй вход умножителя подадим сигнал с блока сравнения. Выход соединяем со входом OR и можно считать, что всё готово. Остаётся только проверить схему и попытаться сыграть что-нибудь. Для красоты можно вставить Stereo delay из стандартных макросов и наслаждаться падением метеоритов.