SynthEdit. Введение

1st Июнь 2010 | Метки: , ,

Давно обещал написать это руководство, но когда засел за написание, то выяснилось, что ни за вечер, ни за два рассказать даже только самое необходимое не удастся. Поэтому было решено выкладывать материал небольшими главами. Идти будем от простого к сложному, и те, кто уже знаком с SynthEdit первая главу могут просто не читать.

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

SynthEdit — это мощная модульная среда для работы со звуком, которая позволяет собрать из отдельных элементов цепь обработки или формирования аудиосигнала и сохранить результат в виде подключаемого модуля формата VST. Именно эта возможность экспорта в формат VST сделала Synthedit такой популярной программой, хотя этому изрядно мешает устаревший интерфейс и скудноватая справка.

Внешний вид SynthEdit

Рис. 1. Внешний вид SynthEdit

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

Взгляните на рисунок 1. На нем изображен одноосцилляторный полифонический синтезатор и на его создание было потрачено меньше одной минуты. Давайте попробуем воссоздать его самостоятельно, а позже расширим его функционал.

Итак, откройте SynthEdit и щелкните правой кнопкой мыши на рабочем поле, в появившемся контекстном меню выберите пункт Insert → MIDI → MIDI2CV. Этот модуль крайне важен для синтезатора, именно он преобразовывает MIDI-команды во внутренние сигналы.

SynthEdit использует систему обозначений, принятую еще в аналоговых синтезаторах: CV — control voltage, VCA — voltage-controlled amplifier, VCO — voltage-controlled oscillator и т.д. Синие кабели, которые вы видите на схемах, передают электрические импульсы. Но не переживайте, физика на этом этапе вам пока не нужна.

Идем дальше, добавляем таким же способом осциллятор: Insert → Waveform → Oscillator. Это стандартный звуковой осциллятор, способный генерировать 7 типов волн: синусоидальную, пилообразную, наклонную, треугольную, импульсную, а также розовый и белый шум. Кроме того, Oscillator умеет производить фазовую модуляцию, регулировать ширину импульсов и т.д., но об этом позже.

Теперь можно соединить эти два модуля. Делается это привычным всем пользователям Windows методом drag-n-drop: просто перетягиваете выход одного модуля ко входу другого и всё, если они одного типа, то соединение установится и между «разъемами» появится соединительный кабель.

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

Все это многообразие типов соединительных кабелей делится на два класса: DSP и GUI (отличаются цветом фона: DSP — серый, GUI — голубоватый). Первый класс отвечает за обработку сигналов, а второй — за работу графического интерфейса. Соединять разъемы разных типов нельзя, соединять разъемы одинаковых типов из разных классов тоже нельзя.

Кроме того соединения имеют направления и бывают однонаправленными и двунаправленными. Последние используются только в GUI-классе. Направление соединения обозначается стрелкой.

Итак, соединяем два наших модуля: захватываем выход Pitch модуля MIDI2CV и тянем к одноименному входу модуля Oscillator. Таким образом, при каждом нажатии клавиши на midi-клавиатуре модуль MIDI2CV будет сообщать осциллятору высоту тона.

Добавим теперь еще два модуля: Insert → Waveform → ADSR2 и Insert → Modifiers → VCA. Первый модуль представляет собой классическую огибающую, а второй — усилитель. Соединяем их теперь как на изображении: MIDI2CV.Gate подключаем к ADSR2.Gate, ADSR2.Signal Out подключаем к VCA.Volume и Oscillator.Audio Out подключаем к VCA.Signal.

Что же мы сделали? MIDI2CV.Gate — это управляющий сигнал (10 вольт), он формируется каждый раз при нажатии клавиши на midi-клавиатуре. Подключив его к огибающей, мы тем самым заставляем ее генерировать свою форму сначала при каждом событии note-on.

Ну а с VCA должно быть и так понятно: сигнал осциллятора модулируется сигналом огибающей, формируя тем самым форму сигнала.

Добавим последние два модуля: Sound Out (Insert → Input-Output → Sound Out) и клавиатуру (Insert → Controls → Keyboard). Оба этих модуля нужны исключительно в отладочных целях, в VST они уже не используются.

Клавиатуру подключаем к MIDI2CV, а VCA к Sound Out. Все, теперь результаты нашей работы можно даже услышать.

Продолжение следует…

  1. LXNDR
    2nd Июнь 2010 в 08:17

    c почином !

  2. samznaeshkto
    2nd Июнь 2010 в 14:04

    Ждём с нетерпением!

  3. qwe96
    5th Июнь 2010 в 19:59

    СПАСИ-И-И-БО!!!
    Жалко, комментариев мало. Наверное, сказываются дачный сезон и время отпусков. Боюсь, по этой причине, у zipp’а могут опустится руки. По идее, к осени должно всё встать на свои места, и SynthEdit докажет, что он является интересной темой, к которой многие проявляют интерес(хотелось бы на это надеяться).

    Лично я не отказался бы от подобной информации по MAX/MSP, Reaktor. Но умом понимаю, что такой объём информации одному zipp’у не потянуть.

    • 6th Июнь 2010 в 00:28

      Не переживайте, не опустятся. :)

      А от информации по MAX/MSP я и бы и сам не отказался. Но, скорее, в академических целях.

  4. Gelo
    6th Июнь 2010 в 18:09

    Спасибо !

    Ждёмс продолжения банкета !

  5. 19th Июнь 2010 в 13:57

    Спасибо огромное! Давно искал подобный материал!