+9315,9k9930
ВАКАНСИИ
·
.NET разработчик
UniGuideМожно удаленно
от 2 000 до 3 500
·
.NET разработчик
Hunt4YouСевастополь
от 60 000 до 120 000
·
Программист C# \.NET Developer
Payment SystemsМосква
от 200 000
·
.net разработчик (c#,.net, Azure) mid-senior
ВЫМПЕЛМоскваМожно удаленно
от 150 000 до 200 000
·
.NET разработчик
RadarioСанкт-Петербург
от 100 000 до 140 000
Все вакансии
Комментарии 19
· Smi1e 28 сентября 2016 в 18:09
o
o
+4
Очень годная статья из песочницы, не то что большинство. Спасибо, ждем продолжения!
· Refridgerator 28 сентября 2016 в 19:45
o
o
VST SDK можно скачать с официального сайта.
В дальнейшем мы будем работать с библиотекой VST.NET, которая является оберткой для VST 2.4.
Если я не ошибаюсь, SDK для VST 2.4 на официальном сайте уже давно недоступна.
o lis355 28 сентября 2016 в 23:13
§
§
§
§
Все правильно, на официальном сайте сейчас можно скачать SDK версии 3.6.6.
В статье я не рассказываю про программирование на «голом» SDK, а лишь знакомлю читателя c общей идеей работы VST-плагинов (делаю обзор кода, который находится в папке VST3 SDK\pluginterfaces\vst2.x — интерфейсы, структуры и объявления для версии 2.4).
А для работы с VST. NET и вовсе не нужно качать VST SDK.
o cadabr 30 сентября 2016 в 23:13
§
§
§
§
Поддержка VST 2.4 включена в SDK 3.
§ lis355 30 сентября 2016 в 23:19
§
§
§
§
да, в версии 3.6.6 есть объявления структур, перечислений из VST 2.x. Но нету примеров, доков, вспомогательных классов для разработки (это все есть для VST 3.x).
· unrealsolver 28 сентября 2016 в 22:50
o
o
Reaper 5 поддерживает VST 3.
o lis355 28 сентября 2016 в 22:55
§
§
§
§
спасибо. я не работал в нем, и, видимо, на вики имели ввиду более ранние версии.
поправил статью.
· Refridgerator 29 сентября 2016 в 12:19
o
o
+1
Подозреваю, что вся статья писалась ради посткриптума)
Я даже сходил и послушал и скажу честно, был разочарован. Вы же не думали, что ваше творчество понравится абсолютно всем? Да и у слышал совсем не то, что ожидал — живое исполнение вместо электронной музыки, что было логичным ожидать в теме про синтезаторы. Я не хочу никого обижать, но — хорошая музыка не нуждается в саморекламе. Стив Вай не придёт на хабрахабр с предложением заценить его суперзапил в постскриптуме в статье о неважно о чём.
Проблема с VST сейчас в том, что их — чересчур много. Миллиарды авторских синтезаторов с убогим звучанием и ужасным интерфейсом. Триллиарды эффектов с абсолютно одинаковыми дилэями и компрессорами. А знаете почему? Сейчас расскажу.
1. Подмена целевой функции.
Вместо создания шедевра и приятного звучания целью становится — самоутверждение. Лучше плохой звук, зато свой собственный. Отсюда и неприятие любой критики. Написали шедевр, но его не оценили — значит, не шедевр. Написали крутой синт, а его не качают — значит, он крутой только в вашем личном воображении.
2. Подобного рода руководства.
Здесь нет обобщения опыта за несколько десятков лет. Вы разобрались с этим пару за дней (как вам показалось) и почувствовали себя достаточно квалифицированным, чтобы учить этому других. И кому-то может показаться, что сложность написания VST — это сложность прикрутить C# к С++, а сложность написания синтезатора — это сложность соединить осциллятор с огибающей и частотной модуляцией. Вам удалось получить отличный от синусоиды звук — и кажется, что вы уже познали дзен. А на самом деле это ещё даже ещё не таблица умножения.
3. Ограничение сложности.
Синтезатор — это модульное устройство. Простую конструкцию (как здесь) ещё можно описать процедурно или функционально, но после некоторого усложнения код становится совершенно неподъёмным и не читаемым. Здесь привычные паттерны программирования не подходят — нужен совсем другой механизм абстракции.
Что же делать?
1. Взрослая теория, а не руководства для школьников.
Например, Вадим Завалишин — The Art of VA Filter Design. А после — теорию DSP (ЦОС) как есть, потом — множество научных работ, только из которых можно почерпнуть самое актуальное.
Например, синтезировать элементарные сигналы (помимо синусоиды), как в этом проекте — нельзя. Почему? Потому что эти алгоритмы создают шум. Почему? Сказывается эффект дискретизации. Как правильно? Например — так.
2. Учиться у классиков.
Настоящие музыканты учатся, играя Баха. Ну или признанных современников. Ненастоящие музыканты учатся на гитарных школах, написанных другими ненастоящими музыкантами, и состоящими исключительно из коротких музыкальных фраз. Из которых, как не напрягайся, музыки не получается.
Так и тут. Здесь классика — это аналоговые синтезаторы. Многие из них перенесены в цифровую форму. Не смогли найти структурную схему? Подберите звук на слух и методом тыка перебора, чтобы звучание совпадало один в один. Также, как и настоящие музыканты в состоянии подобрать музыку на слух, если у них нет нот.
3. Использовать подходящие инструменты.
Самый прогрессивный на текущий момент модульный синтезатор — это NI Reaktor, и все инструменты от NI также строятся на его основе. Там есть (почти) всё. Лучше найти самые первые её версии — 2.3 и Generator (предыдущее название). Там и синты с эффектами попроще, и модели реальных (например, Juno) можно найти. Заодно можно будет отследить и развитие тенденций по синтезу (и обработке в том числе) звука.