Гранулярный семплер своими руками
И теперь когда 99% людей перестали читать — поговорим на задрото-музыкантском. Подруга DJ попросила сделать ей нечто похожее на семплер Torso S4, но чтобы можно было крутить на айпаде и использовать в лайв сессиях, а мне было интересно насколько Codex будет хорош в C++ и JUCE, а также в реализации кастомных алгоритмов гранулярного синтеза и ревёрба.
Немного покурив мануалы и собрав первые сборки мы решили, что для первой рабочей версии будет ок иметь:
- три вида гранулярного движка
- на три вида распределения гранул
- внутренний темп, темпозависимые ручки
- 4 дорожки
- по 4 модулятора на каждую
- рандомизатор питча с музыкальным рандомом
- фильтр с двумя огибающими и резонансом
- биткраш, сатурация, копрессия, шум
- дилей
- и особый кастомный Dattoro Reverb
- ну и базовый микшер, конечно
Честно сказать, я охерел сколько пришлось дебажить и делать именно внутренний метроном и синхронизацию семплов с темпом. Пришлось научить софтину разбирать каждый семпл по его BPM, привязывать к сетке и делать всё это заранее.
Ну и чтобы дважды не вставать - сделал примерное определение тональности, чтобы рандом был более музыкальным и не вызывал кровь из ушей. Скормил ему более 3000 готовых миди мелодий, выделил из них 256 паттернов и между ними рандом и скачет, отыгрывая вам разные мелодические рисунки.
Есесна можно чуть покрутить Variation ручку вправо и получить безумие, но точно так же можно и покрутить её влево, чтобы остановиться на текущем рисунке.
Программа будет с открытым исходным кодом, так что любой сможет допилить и перепилить её со своими Claude/Codex как того пожелаете.
Уже сейчас сотфина работает под Windows и Intel/ARM macOS (от 13.3) и можно потыкать стендалон на обеих системах.
Ну и да, VST3 буду собирать последним делом, так как их жутко неудобно тестировать и надо переимпортировать в DAW каждый раз.
Как вам звук?