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 —
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 дальше.
Захотелось встроить в свой плагин звук 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
🔥13❤2👍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
- Добавлен слайдер 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🔥13❤10👍2🏆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
- 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
🔥21❤5🥰3
Зарелизил хотфикс для картриджа:
- Исправлено: ADSR + моно — повторное нажатие той же ноты теперь корректно обрывает предыдущий хвост
- Исправлено: ADSR + легато — иногда пропускался note-off, из-за чего сэмпл проигрывался до конца
- Hold в режиме Slice теперь работает при включённом Legato
https://dsgdnb.com/plugins/cartridge
- Исправлено: ADSR + моно — повторное нажатие той же ноты теперь корректно обрывает предыдущий хвост
- Исправлено: ADSR + легато — иногда пропускался note-off, из-за чего сэмпл проигрывался до конца
- Hold в режиме Slice теперь работает при включённом Legato
https://dsgdnb.com/plugins/cartridge
DsgDnB
Cartridge — Sample/Slicer with Reaper DAW Integration (VST3, AU, LV2)
Cross-platform sampler/slicer with time-stretching, realtime looping, MSEG modulation, and Reaper DAW integration. VST3, AU, and LV2 formats.
👍14🔥10❤5
Пока всё более менее стабильно, причесываю старые плагинчики.
KickSpace получил обновленный интерфейс и другой алгоритм детекта транзиентов. Ну и как у младших братишек: апдейт чекер да подписанный установщик для MacOS.
Плагин позволяет добавить моносовместимое стерео на атаки киков (и не только) за счет шустрой модуляции панорамы. Может повысить читаемость бочки и согласованность со снэйром.
https://dsgdnb.com/plugins/kickspace
KickSpace получил обновленный интерфейс и другой алгоритм детекта транзиентов. Ну и как у младших братишек: апдейт чекер да подписанный установщик для MacOS.
Плагин позволяет добавить моносовместимое стерео на атаки киков (и не только) за счет шустрой модуляции панорамы. Может повысить читаемость бочки и согласованность со снэйром.
https://dsgdnb.com/plugins/kickspace
❤16🔥14🥰4
vitOTTx доступен всем под Windows, Mac и Linux 🎉
Лично у меня сбылась мечта иметь это дело таким вот плагином, думаю многие хотели тоже.
А еще это мой первый опенсорс плагинчик, да и опыт форка.
Скачать и узнать как и из чего это сделано можно тут:
https://github.com/Sakhnovkrg/vitOTTx
Лично у меня сбылась мечта иметь это дело таким вот плагином, думаю многие хотели тоже.
А еще это мой первый опенсорс плагинчик, да и опыт форка.
Скачать и узнать как и из чего это сделано можно тут:
https://github.com/Sakhnovkrg/vitOTTx
1❤28🔥13🥰6
This media is not supported in your browser
VIEW IN TELEGRAM
Такую штучку можно залутать в бусти-чатике
❤13🌭4🔥1
https://www.youtube.com/shorts/K-k3PCVcs-U
Заметил что подобные шортсы могут набирать довольно неплохо, а у меня куча демок. Лайкните, кто может, засветим Сциллоскоп. А с меня пресеты басков в комментариях.
Заметил что подобные шортсы могут набирать довольно неплохо, а у меня куча демок. Лайкните, кто может, засветим Сциллоскоп. А с меня пресеты басков в комментариях.
YouTube
FL Studio Neurofunk Sketch (Free presets)
#flstudio #dnb #drumandbass #neurofunk #serum #vital #presetshare #...
👍14🔥3⚡2❤2👌1