DsgDnB DSP
644 subscribers
48 photos
119 videos
15 files
93 links
Плагинчики https://dsgdnb.com/plugins/
Мой бусти https://boosty.to/dsgdnb
Download Telegram
DsgDnB DSP pinned «Сэмплер Cartridge теперь доступен всем 🎉 Бесплатная версия не имеет ограничений кроме маленького бэйджа. Поддержать разработку и получить ключ можно с подпиской на бусти/патреоне либо единоразовой оплатой: Boosty: https://boosty.to/dsgdnb/posts/27a98b8e…»
This media is not supported in your browser
VIEW IN TELEGRAM
Как реверснуть VST дисторшн за вечер

Захотелось встроить в свой плагин звук CamelCrusher'а. Исходников нет. Подошёл как к чёрному ящику: пропускать через него тестовые сигналы, смотреть что на выходе, подбирать формулу под результат.

Идея

Многие виды дисторшна — по сути статическая функция: пришёл сэмпл, ушёл сэмпл. Если внутри блока нет своих фильтров и динамики, его поведение полностью задано графиком «вход → выход» — точнее, семейством таких графиков для разных положений ручек. Эти кривые можно перенести в свой код один в один.

Так устроены лампы, клипперы, сатураторы. Так не устроены реверы, дилеи, фильтры, компрессоры — у них есть «состояние», и одной формулой не отделаешься.

Подход

1. Оборачиваем плагин в Python. Есть готовые библиотеки, которые грузят VST и прогоняют через него аудио, как DAW. Для VST2 на Windows — dawdreamer.

2. Отключаем всё лишнее. В CamelCrusher кроме дисторшна есть фильтр и компрессор — их выключаем. Хотим изолировать один блок.

3. Делаем снимки. Прогоняем через плагин медленный треугольник — 5 Гц на полную амплитуду — и записываем выход. Это и есть искомая кривая. Повторяем для разных положений ручки drive: я снимал с шагом 5%, между точками потом линейно интерполируем.

Тут важно — не синус и не слишком медленный сигнал. Синус половину времени болтается у пиков и плохо покрывает середину; а слишком медленные изменения могут попасть под внутренний DC-блокер плагина (он там нередко стоит) и кривую исказить. Треугольник на нескольких герцах — золотая середина: и амплитуду покрывает равномерно, и блокер его не достанет.

4. Превращаем в таблицу. Можно сохранить кривые как есть — десятки килобайт на тип. Можно подобрать формулу, которая хорошо их описывает, и тогда вместо тысяч точек хватает нескольких чисел на положение ручки. У CamelCrusher кривая tube — парабола с линейным «ядром» вокруг нуля, mech — ломаная попроще; на положение ручки хватает 3–4 коэффициентов. Итого по полкилобайта на тип дисторшна.

Тут есть подвох: если попросить программу подобрать все коэффициенты сразу, она часто сходится к мусору — слишком легко свалиться в локальный минимум. Устойчивее — сначала замерить из данных, насколько кривая усиливает сигнал у нуля (это пре-гейн), и только потом подгонять её форму на загнутых краях. После этого ошибка уходит в шум флоата.

5. Реализуем в плагине. На JUCE. Таблицу коэффициентов вшиваем в бинарь как константу. На каждом сэмпле берём коэффициенты для текущего drive, считаем формулу — десяток умножений. Поверх — обычная обвязка: оверсэмплинг (иначе вэйвшейпер сильно алиасит), dry/wet, output gain.

Что я узнал

— Сначала проверь, что фитить вообще можно. Снять одну кривую и посмотреть, ложатся ли точки в линию — это пять минут, а спасти могут часы.

— Аналитическая модель почти всегда лучше большой таблицы: меньше, точнее, плавнее интерполируется по drive.

— У кривой две независимые составляющие — насколько она усиливает сигнал и где загибается. Подбирать их по отдельности устойчивее, чем оптимизировать всё разом.

— Треугольник.

Результат

Tube и mech — по полкилобайта коэффициентов на каждый. Ушами с оригиналом не различить. Архитектура под следующие типы дисторшна готова.

Прикрепляю результат в виде VST. Это только начало — планирую развивать Devastator дальше.
24🔥8🏆5
This media is not supported in your browser
VIEW IN TELEGRAM
В слайсере будет подстройка BPM
🔥132👍1
Вышла версия 0.6.2

- Добавлен слайдер BPM в slice-режиме + MIDI export с привязкой
- Простенький детект BPM через контекстное меню слайдера
- Hot-swap сэмплов (prev/next, normalize) работает без открытого GUI
- Фикс краша при быстром переключении сэмплов с открытым GUI
- Prev/Next Sample как bool-триггеры
- Исправлен баг при несовместимости частоты дискретизации в проекте и сэмпле(терялась часть верхов)
- Исправлен pan law, теперь в центре не будет -3db
⚠️ Старые проекты грузятся в legacy-режимах — миксы не меняются

https://dsgdnb.com/plugins/cartridge
1🔥1310👍2🏆1🆒1
О как 🌚
Картридж интегрирован в TK Media Browser

https://forum.cockos.com/showthread.php?t=295954
🔥19🥰5👻3👍1🍾1
Вышел Cartridge 0.6.3 🎉

- Sync в режиме Slice — растягивает сэмпл под темп проекта
- Hold в режиме Slice — слайс проигрывается до конца (удобно для лайв-игры)
- В режиме Slice параметр Root Note теперь задаёт базовую ноту для слайсов (например, диапазон пэдов C2–G2 и т.д.)
- Старые проекты загружаются в legacy-режиме slice-мэппинга — раскладка остаётся без изменений
- Shift+drag на rootNote/transpose/cents/MIDI range больше не ломает класс ноты на границах диапазона
- Адаптивная ритмическая сетка в режиме MSEG (зависит от BPM проекта); при удержании Shift при перемещении или добавлении точки происходит привязка к сетке

Скачать: https://dsgdnb.com/plugins/cartridge
🔥215🥰3
Зарелизил хотфикс для картриджа:

- Исправлено: ADSR + моно — повторное нажатие той же ноты теперь корректно обрывает предыдущий хвост
- Исправлено: ADSR + легато — иногда пропускался note-off, из-за чего сэмпл проигрывался до конца
- Hold в режиме Slice теперь работает при включённом Legato

https://dsgdnb.com/plugins/cartridge
👍14🔥105
Не переживаем, написал в поддержку, думаю все будет ок
5🤯2👍1
Все ребят, разбанили меня. Скоро чёт залью на бустики ;)
🔥15👍71
Пока всё более менее стабильно, причесываю старые плагинчики.
KickSpace получил обновленный интерфейс и другой алгоритм детекта транзиентов. Ну и как у младших братишек: апдейт чекер да подписанный установщик для MacOS.

Плагин позволяет добавить моносовместимое стерео на атаки киков (и не только) за счет шустрой модуляции панорамы. Может повысить читаемость бочки и согласованность со снэйром.

https://dsgdnb.com/plugins/kickspace
16🔥14🥰4
https://boosty.to/dsgdnb/posts/0dc180d7-3505-49c6-a882-37da1f34fa3f

vitOTTx уже доступен на бусти 🐣
🔥203🍾2
vitOTTx доступен всем под Windows, Mac и Linux 🎉

Лично у меня сбылась мечта иметь это дело таким вот плагином, думаю многие хотели тоже.

А еще это мой первый опенсорс плагинчик, да и опыт форка.

Скачать и узнать как и из чего это сделано можно тут:
https://github.com/Sakhnovkrg/vitOTTx
128🔥13🥰6
ля какой
🔥20😎85
ну мёд
🔥196👍6❤‍🔥1
Простите)
122😁12👍8😍3❤‍🔥1🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Такую штучку можно залутать в бусти-чатике
13🌭4🔥1
https://www.youtube.com/shorts/K-k3PCVcs-U
Заметил что подобные шортсы могут набирать довольно неплохо, а у меня куча демок. Лайкните, кто может, засветим Сциллоскоп. А с меня пресеты басков в комментариях.
👍14🔥322👌1
Media is too big
VIEW IN TELEGRAM
Что войдет в новую версию пикера
12🔥3🥰1