Как написать свой VST синтезатор?

Как написать свой VST синтезатор?Статьи, на которые ссылается Армянское Радио. действительно хороши. Я их переводил, собственно, именно потому, что хотел сам начать писать свой низкоуровневый DSP код. Используемая там библиотека WDL-OL позволяет абстрагироваться от нескольких стандартов и просто писать код, компилируя его в разные форматы, в т. ч. VST2 и VST3.

По прошествии времени могу добавить несколько вещей. Во-первых, стоит определиться несколько четче, что именно вы хотите сделать. Плагин плагину рознь. Написать какой-нибудь более-менее стандартный синтезатор и экспериментировать с z-преобразованием — это две принципиально разные задачи. Из этого вытекает второй момент: хорошо иметь несколько разных инструментов для моделирования/исследований/программирования. Иногда полезно набросать то, что называется proof of concept. Т. е. создать быстро самую базовую модель того, что вы хотите сделать, просто чтобы посмотреть, работает оно или нет.

С++ со всеми доступными фреймворками и библиотеками — это здорово, особенно если есть хорошие навыки программирования. Но иногда проще собрать из кубиков, например соединить готовые осцилляторы в нужную сеть генераторов и модуляторов, отправить на реверб и т. д. Или прочитать семплы из файла и сделать что-то с ними. Это все можно сделать за несколько минут, не заморачиваясь с динамическими массивами и указателями. Взгляните на языки ChucK и Pure Data. Они позволяют нырять несколько глубже просто кубиков конструктора. Есть еще Сsound и SuperCollider. По всем, кроме ChucK, есть много ресурсов, книг и форумов.

Еще один вариант для эффектов и синтов — SyntEdit. Это недорогой и достаточно мощный инструмент для разработки плагинов, что-то типа NI Kontakt.

Добавить комментарий