Виртуальный полифонический аналоговый синтезатор на основе субтрактивного синтеза

Яковлев Данила Святославович – студент отделения Программной инженерии факультета Бизнес-информатики Национального исследовательского университета Высшей школы экономики. (НИУ ВШЭ, г.Москва)

Аннотация: В работе рассмотрен вопрос актуальности разработки виртуального полифонического аналогового синтезатора, перечислены основные особенности разработанного синтезатора, описаны преимущества метода реализации на основе субтрактивного синтеза и объяснён принцип работы данного синтезатора.

Ключевые слова: Субтрактивный синтез, виртуальный аналоговый синтезатор, управляемый напряжением осциллятор, генератор ADSR-огибающей, управляемый напряжением фильтр.

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

Основные особенности разработанного синтезатора:
• Полифония. Эта особенность считается одной из самых желаемых во всех виртуальных аналоговых синтезаторах.
• Широкий набор настроек звука. Синтезатор имитирует следующие аналоговые модули: управляемые напряжением осцилляторы, управляемый напряжением фильтр и управляемый напряжением усилитель, а так же генератор низкочастотных колебаний.
o Управляемые напряжением осцилляторы обладают следующими параметрами: тип формы звуковой волны, громкость, выбор октавы и параметр «расстроенности».
o Управляемый напряжением фильтр обладает настраиваемыми параметрами типа фильтра, пороговой частоты и резонанса.
o Параметрами управляемого напряжением усилителя являются параметры его генератора ADSR-огибающей: время атаки, время спада, уровень задержки и время затухания.
o Параметры генератора низкочастотных колебаний – тип звуковой волны, частота и глубина.
• Система шаблонов настроек. Разработанный синтезатор обладает системой шаблонов настроек, позволяя пользователям сохранять или загружать свои собственные шаблоны или использовать встроенные.
• Панель звуковых эффектов (phaser, delay, реверберация). Эта особенность является относительно новой для виртуальных аналоговых синтезаторов, разрабатываемых как отдельная программа. Она позволяет не только использовать различные звуковые эффекты, но также даёт пользователям возможность изменять порядок подключения этих эффектов и даже использовать в цепочке несколько одинаковых модулей. Такой подход похож на использование педалей звуковых эффектов, когда все педали соединены друг с другом, с источником звука и с выходом сигнала проводами.
• Поддержка MIDI-клавиатур. Эта особенность считается стандартной деталью большого количества виртуальных аналоговых синтезаторов. Она необходима в подобных программных продуктах по двум причинам. Во-первых, играть на синтезаторе, используя MIDI-клавиатуру, намного удобнее, чем с обычной компьютерной клавиатурой. Во-вторых, большинство компьютерных клавиатур позволяют нажимать не более трёх клавиш одновременно, что сильно ограничивает полифонию синтезатора при возможных 16 голосах.
• Элемент управления тоном. Возможность изменять звуковой тон специальным элементом управления является популярной и востребованной среди музыкантов, поэтому данная функция присутствует в разработанном синтезаторе.
• Запись звуковых фрагментов. Функция записи музыкальных фрагментов редко встречается среди виртуальных аналоговых синтезаторов. Однако возможность настроить звук, нажать кнопку записи, сыграть музыкальный фрагмент и получить этот фрагмент записанным в формате WAV для его дальнейшего применения считается достаточно полезной.
• Удобный графический пользовательский интерфейс. Графический пользовательский интерфейс виртуальных аналоговых синтезаторов не должен иметь пустых пространств, и все звуковые настройки должны быть сгруппированы в модули синтезатора. Также считается, что приятный внешний вид программного продукта важен для пользователей, особенно когда это касается продуктов для творчества.

Субтрактивный синтез считается самым популярным среди производителей аналоговых синтезаторов и разработчиков виртуальных аналоговых синтезаторов. Главным достоинством данного метода является его строгая и хорошо-организованная структура. Имея относительно меньший набор параметров в сравнении с аддитивным синтезом и FM-синтезом, субтрактивные синтезаторы предоставляют широкий спектр различных возможных звучаний. Более того, графический пользовательский интерфейс таких синтезаторов является наиболее удобным, потому что пользователь может предсказать эффект от изменения какого-то определённого параметра. В дополнение к этому, данный метод не требует высокой производительности компьютера [1]. Учитывая все достоинства этого метода, субтрактивный синтез был выбран в качестве основного метода для реализации виртуального аналогового синтезатора.

Схема, представленная ниже, показывает, как устроены модули разработанного синтезатора на основе субтрактивного синтеза:

Рисунок 1. Схема работы разработанного виртуального аналогового синтезатора.

На схеме видно, что данная программа содержит все стандартные модули аналогового синтезатора: генератор низкочастотных колебаний (LFO), 3 управляемых напряжением осциллятора (VCO), управляемый напряжением фильтр (VCF) с генератором ADSR-огибающей и управляемый напряжением усилитель (VCA) с генератором ADSR-огибающей. В дополнение к этому справа, рядом с аудиовыходом, на схеме изображён модуль панели звуковых эффектов. Изначально, при нажатии клавиши на клавиатуре синтезатора значение её частоты передаётся на осцилляторы, а сигнал о нажатии/отпуске передаётся на генераторы ADSR-огибающих. Каждый осциллятор генерирует звуковую волну в зависимости от полученного значения частоты нажатой клавиши, значения частоты, полученного от генератора низкочастотных колебаний, и соответственно параметров самого осциллятора. Затем сгенерированные частоты из осцилляторов соединяются в микшере (“Mixer” на схеме) в одно значение, которое затем передаётся на фильтр. Управляемый напряжением фильтр срезает определённые частоты полученного сигнала в зависимости от параметров фильтра. Также, генератор ADSR-огибающей фильтра контролирует процент смешивания чистого входного сигнала с отфильтрованным с помощью функции атака-спад-задержка-затухание, настраиваемой пользователем с помощью параметров генератора. В дополнение к этому, точно такой же генератор ADSR-огибающей у управляемого напряжением усилителя контролирует громкость сигнала. Однако, несмотря на то, что сам усилитель присутствует на схеме, технически в виртуальном аналоговом синтезаторе он отсутствует, поскольку входной сигнал не нужно усиливать. И, наконец, с усилителя на выход сигнал (значение частоты) проходит через цепочку выбранных пользователем звуковых эффектов (phaser, delay, реверберация).

В результате виртуальный полифонический аналоговый синтезатор был разработан на объектно-ориентированном языке С# в среде Visual Studio 2010 с использованием пакета инструментов XNA Framework 4.0.

Список литературы:

1. Antti Huovilainen (2010). Design of a Scalable Polyphony-MIDI Synthesizer for a Low Cost DSP. Master of Science (Technology) thesis, Aalto University School of Science and Technology, Espoo, Finland.