Занимаясь музыкальным творчеством, я часто делаю аранжировки и записи на компьютере — используя кучу всяких [VST плагинов и инструментов][1]. Стыдно признаться — я никогда не понимал, как "накручивают" звуки в синтезаторах. Программирование позволило мне написать свой синтезатор, "пропустить через себя" процесс создания звука.
Я планирую несколько статей, в которых будет пошагово рассказано, как написать свой VST плагин/инструмент: программирование осциллятора, частотного фильтра, различных эффектов и модуляции параметров. **Упор будет сделан на практику**, объяснение программисту простым языком, как же все это работает. Теорию (суровые выводы и доказательства) обойдем стороной (естественно, будут ссылки на статьи и книги).
Обычно плагины пишутся на C++ (кроссплатформенность, возможность эффективно реализовать алгоритмы), но я решил выбрать более подходящий для меня язык — C#; сфокусироваться на изучении самого синтезатора, алгоритмов, а не технических деталей программирования. Для создания красивого интерфейса я использовал WPF. Возможность использования архитектуры .NET дала возможность библиотека-обертка [VST. NET][2].
Ниже представлен обзорный ролик [моего простого синтезатора][3], полученных интересных звучаний.
Предстоит нелегкий путь, если вы готовы — добро пожаловать под кат.
[Читать дальше →][4]
[1]:
https://ru.wikipedia.org/wiki/Virtual_Studio_Technology
[2]:
https://vstnet.codeplex.com/
[3]:
https://github.com/lis355/Syntage
[4]:
https://habrahabr.ru/post/311220/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut