MK Shaper/Stutter - скрипт для быстрых операций с envelopes.

Kokarev Maxim

Rawker
13 Май 2007
5.850
5.272
113
44
Барнаул
recording-studio.ru
DAe0EY7.jpg


MK Shaper/Stutter - это скрипт для быстрых операций с envelope, основанных на транзиентах или ритмической сетке.

Features:


  • В основе работы скрипта лежит проверенный временем MK Slicer.
  • Полностью не-деструктивная обработка аудио, основанная на манипуляциях с envelopes. Realtime envelope operations.
  • Основные операции: Transient or Grid shaping (Ableton Sampler like), выделение или подавление атак, укорачивание хвостов звуков, гейтирование перкуссии, равномерная ритмическая пульсация (stutter), сайдчейн пульсация, основанная на транзиентах или сетке. Работа с сеткой так же включает в себя triplets и swing.
  • Возможность работы с мультитреками. Возможность работать с множеством айтемов. Возможность работы с МИДИ айтемами (только в режиме Grid).
  • Параметр Атаки зависим от Велосити транзиентов. Доступно несколько режимов.


Системные требования:

Актуальная версия REAPER и SWS. Не тестировалась (но вполне может работать) со старыми версиями.

Video 1 (Main):


Инструкция по использованию:


1. Выделите один трек и выберите область с айтемом. Или: просто веделите айтем(ы) на одном треке без выделения области. Скрипт не запустится, выделено несколько треков.
2. Запустите скрипт.
3. Готово! Можно работать. Для формирования envelopes нажмите "Shape".
Для отмены действий, используйте Reset. Сброс слайдеров до дефолтных: Ctrl + Click. Точная подстойка: Shift + Drag. Выход: Esc, Пробел - Play.
Так же, после запуска скрипта, вы можете выбрать трек, на котором нужно сформировать envelope и нажать "Shape".

В окне с волноформой:
Mouswheel or Left/Right keys - Horizontal Zoom,
Ctrl(Shift)+Mouswheel or Up/Down keys - Vertical Zoom,
Middle Drag or Left Drag - Move View (Scroll),
Left Click - Set Edit Cursor,
Shift+Left Drag - Move Marker,
Ctrl+Left Drag - Change Velocity,
Shift+Ctrl+Left Drag - Move Marker and Change Velocity,
Right Click on Marker - Delete Marker,

Альтернативный вариант запуска:

1. Не выделяете айтемы/область перед запуском скрипта. Запускаете скрипт.
2. Выберите нужный айтем(ы)/область и нажмите кнопку "Get Selection".
3. и т.д.

Работа с мультитреком:

1. Выделите один трек и выберите область с айтемом. Или: просто веделите айтем(ы) на одном треке без выделения области. Скрипт не запустится, выделено несколько треков.
2. Запустите скрипт.
3. Выберите остальные треки в мультитреке. Рабочая область автоматически установится по длине айтема, который был выбран перед запуском скрипта.
4. Готово! Можно работать. Для формирования envelopes нажмите "Shape".


Важно!

Для корректной работы скрипта ВАЖНО, чтобы айтемы или граница выделения стартовали строго с начала такта.
Если в области работы скрипта уже находятся envelope points, скрипт удалит их. При необходимости, вы можете вернуть их с помощью undo, после закрытия скрипта.
Так же, не забывайте сохраняться перед работой. Просто на всякий случай.

Что делает кнопка Reset?
"Reset" сбрасывает envelope до исходного состояния, но только в пределах работы скрипта (айтемы или граница выделения). Если перед запуском скрипта в рабочей области уже были envelope points, Reset не восстановит их. Для этого вы можете использовать undo после закрытия скрипта.

Советы по улучшению производительности.

Скрипт довольно хорошо оптимизирован и быстро работает даже на слабых компьютерах, но есть некоторые вещи, которые необходимо знать.
Если у айтема изменён Rate, это заметно замедлит работу скрипта. На больших проектах, вы можете предварительно делать glue для айтемов с изменённым Rate для увеличения скорости работы.
Скорость скрипта также зависит и от размера проекта. Длинные партии и большое количество айтемов или треков в мультитреке, могут сильно замедлить старый компьютер. В таких случаях, большие проекты лучше обрабатывать частями, по 30-60 секунд.
Дополнительный совет: как уменьшить время запуска скрипта.


Рекомендации по настройке и использованию:

Детектор:

Настройки по умолчанию изначально установлены так, чтобы успешно детектировать транзиенты различного материала сразу, "из коробки".
Для перкуссии и струнных щипковых инструментов, поднятие Low Cut до 2500Hz и выше, часто работает хорошо.
Для мультитрека живых барабанов (Kick and Snare guide track), Low Cut 200Hz и Hi Cut 4500Hz.
Для самых низких звуков, таких как SubBass, SubKick или 808 bass, я рекомендую понизить Low Cut до 20-60Hz.
Цвета оригинальной и фильтрованной форм волны разные, таким образом вы сразу можете видеть, что именно поступает на детектор.
Имейте ввиду: настройки фильтров и уровней никак не влияют на звук, это только то, что поступает на детектор!

Sensitivity, Retrig и Reduce не самые важные настройки, но могут быть полезны, когда настроек Threshold и Filters не достаточно.
Если вам нужно больше чувствительности, уменьшите параметр Sensitivity. Порой, даже снижение всего на 1dB может помочь получить дополнительные транзиенты на тихих звуках. И наоборот - при увеличении параметра, чувствительность снижается.
Retrig как и предыдущий параметр, это вроде того же разрешения, но "по горизонтали". Если у вас есть лишние транзиенты рядом с основными, увеличение параметра позволит это исправить.
Reduce уменьшает количество транзиентов, начиная с самых тихих звуков (в правом положении слайдера) до самых громких (в левом положении). В режиме триггер, когда видны Velocity транзиентов, его работа хорошо видна. При этом, слайдер Range не влияет на действие Reduce, не смотря на то, что визуально смещает уровни Velocity.

Операции с envelopes:

Floor - управляет силой воздействия на звук по аналогии с dry/wet. Режимы: Flat (по умолчанию), Rise (поднятие Floor от начала к концу) и Fall (опускание Floor от начала к концу).
Attack - время атаки после транзиента. Режимы: Fixed (по умолчанию), By Vel - увеличение velocity увеличивает время атаки. By Vel Inv. - увеличение velocity уменьшает время атаки.
Shape - форма огибающей Release. Настройки: Bias - сдвиг точек деления release. По умолчанию, каждый release поделён ровно посередине. Bias Threshold - отключение разделительных точек ниже определённого порога времени.
Invert - инвертирование всех точек по вертикали (sidechain mode).
Shift - сдвиг всех точек на половину шага сетки (off-beat) в режиме Grid.


Некоторые пункты меню ">":

Track Envelope
- если активно, то envelope формируется на треке. Если отключено, envelope формируется на айтеме.
Pre-FX Track Volume - Pre-FX envelope, если активно. Post-FX envelope, если отключено.
Обе эти настройки не влияют на МИДИ айтемы. Для МИДИ доступна только стандартная Volume envelope.
High Precision (Slow, Restart required) - точная, но более медленная работа скрипта. Рекомендуется при работе с несколькими айтемами: помогает удалить артефакты и ложные транзиенты между айтемами.



Скрипт доступен в ReaPack.

Не забывайте, скрипты развиваются и поддерживаются только благодаря вашим донатам. Пожалуйста, сделайте донат.

DONATION (PayPal)
DONATION (Yandex)
 
Сорян за задержку. Он мне капец тяжело даётся.

v1.20
+ Добавлен Razor Edit.
+ Теперь скрипт умеет управлять любыми выделенными envelopes. Если перед запуском скрипта envelope не выделен, скрипт создаст volume envelope по умолчанию.
+ Имя активного Envelope теперь отображается в интерфейсе скрипта.
+ Добавлен envelope селектор для Items (Volume, Pan, Pitch).
+ Для огибающей Pan скорректированы Rise и Fall. Регулятор Gain меняет размах панорамы.
+ Увеличен диапазон и изменён принцип работы регулятора Gain.
+ Добавлена опция "Soft Attack".
+ Значительно улушена работа скрипта при обработке Selected Area.
+ Теперь Reset корректно удаляет envelopes мультитреков и выделенные области.
+ Режим True Stutter: Если регулятор Shape на максимуме, envelope принимает прямоугольную форму.
+ Исправлен баг: иногда в режиме item envelope не корректно расставлялись точки если айтем имел изменённый ratio.
+ Исправлен баг: теперь изменение опции Shift не приводит к крашу скрипта, если это сделано до нажатия кнопки Shape.
+ Исправлен баг: мерцание и не корректная позиция точек item envelope в режимах Rise и Fall.
+ Исправлен баг: не корректно расставлялись точки, если айтем размещён в самом начале проекта.
+ Исправлен баг: теперь скрипт не крашится при попытке обработать Empty Items.
+ Исправлен баг: теперь пойнт первого транзиента прорисовывется корректно, если он находится не в самом начале айтема.
+ Исправлен баг, замедляющий обновление окна скрипта при работе Loop.
+ Исправлен баг: теперь функция DestroyAudioAccessor срабатывает корректно.
+ Теперь loop selection захватывается скриптом только в моменты управления из интерфейса скрипта.
+ Ограничено минимальное разрешение сетки и линейки: теперь длинные айтемы и мелкие разрешения сетки не перегружают процессор.
+ Оптимизация вцелом: теперь скрипт стартует мгновенно. На 50% снижена нагрузка на процессор в простое.
+ Элементы управления упорядочены для более интуитивной работы.
+ Работа без айтемов: если в выделенной области нет айтемов, скрипт запустится в режиме Grid и Track Envelope.
+ Теперь при работе с миди айтемами и без айтемов скрипт запускается почти мгновенно, не расходуя ресурсы на обработку.
+ Добавлена опция управления всеми энвелопами одновременно. При отключении, скрипт управляет только выделенной.
+ Теперь при горизонтальном зуме клавишами клавиатуры, вейвформа центруется по эдит курсору.
+ Минимальное значение HPF выключает фильтр, полностью убирая артефакты фильтрации.
+ Увеличены лимиты максимальной ширины окна вейвформы и размера главного окна для лучшего отображения на больших экранах.
+ Тема: Добавлена опция "Large Font Size" (Options - User Settings (Advanced)), увеличивающая размер шрифта при большом размере окна.
+ Теперь во время формирования огибающей создаются Undo Points.
+ Donate сервис изменён на валидный.
 
















наткнулся на этот скрипт недавно, открываю а он не работает, кажется функция определения транзиентов не работает.
 
наткнулся на этот скрипт недавно, открываю а он не работает, кажется функция определения транзиентов не работает.
Это Grid режим с синей лампочкой. Нужен режим Transients с жёлтой.
 
  • Like
Реакции: elektrozz
спасибо, думал как в слайсере по умолчанию режим транзиентов, никогда не менял режим на grid)
 
спасибо, думал как в слайсере по умолчанию режим транзиентов, никогда не менял режим на grid)
В новой версии, если выделена только область без айтемов, скрипт запустится в режиме Grid. Это позволяет использовать скрипт на автоматизации папок или шин. Например, делать ритмичный сайдчейн на них.
Как побочный эффект - статус режима запоминается и при следующем открытии скрипта на айтемах. Возможно стоит и для айтемов сделать автоматический Transient режим, надо это обдумать. Любой режим будет неудобен для части пользователей и казаться непредсказуемым.
 
  • Like
Реакции: elektrozz
Второе огромное обновление.
На данный момент все известные проблемы решены, внедрён дизайн из МК Слайсера, и самое главное: добавлена возможность ставить маркеры. Мне реально нужно было дорасти до этого как программисту, чтобы за полчаса в несколько строчек кода решить проблему.

v1.30
+ Добавлена возможность устанавливать маркеры вручную.
+ В селектор Grid добавлены кнопки 4, 2 и Dotted Grid.
+ Добавлены флажки маркеров для простого перетаскивания мышью без применения горячих клавиш.
+ Тема: Новый цветовой дизайн, добавлены 11 новых тем оформления.

+ Интерактивные маркеры: теперь активный маркер подсвечивается при наведении мыши.
+ Тема: Изменён внешний вид слайдеров, некоторые слайдеры стали безрамочными.
+ Теперь колесо мыши изменяет размер сетки, если курсор находится над кнопками разрешения сетки.
+ Теперь регулятор Sensitivity имеет условную шкалу от 1 до 10 и работает более логично: 1 - минимальная чувствительность, 10 - максимальная.
+ Расширен диапазон значений Retrig, теперь значение не привязано к темпу.
+ Улучшено зонирование захвата маркеров в зависимости от размера окна и зума.
+ Улучшено зонирование выделения и захвата первого маркера, если он находится у левого края окна.
+ Расширена зона удержания маркеров при захвате.
+ Улучшено расположение пойнтов на старте и окончании айтема/выделенной области айтема.
+ Исправлен баг: теперь первый маркер не может принимать отрицательное значение и виден всегда.
+ Исправлен баг: сетка скрипта откликается на изменение размера сетки в Рипере.
+ Исправлен баг: теперь статус Triplet Grid не сбрасывается при переключении сетки колесом мыши.
+ Добавлена экспериментальная опция сглаживания шрифтов (требуется установка ReaimGUI).
+ Опция Sync View теперь находится в главном меню.
+ Теперь, если при запуске скрипта на выделен айтем или область, скрипт не переключается в режим Grid.
+ Теперь переключатель Track/Item Envelope находится на панели управления.
+ Для совместимости и корректной работы, теперь extstate данные записываются под новым заголовком.
+ Установлено корректное значение по умолчанию для слайдера Rel.Thr.
 
Здравствуйте! Можно добавить возможность сохранения настроек (пользовательский список пресетов) ?
 
А вот еще подумал: подхватить настройки регуляторов из envelope.
Актуально, когда завтра захочется немножко докрутить.
 
А вот еще подумал: подхватить настройки регуляторов из envelope.
Актуально, когда завтра захочется немножко докрутить.
Это, как и пресеты, относится к одному и тому же функционалу, который невозможен. В скрипте положения слайдеров задаются или при старте, или вручную. После старта скрипта, нет возможности их сдвинуть программно: это не было заложено изначально тем, кто писал самую первую версию. А у меня навыков не хватит с нуля писать скрипт с нужным функционалом.
 
  • Like
Реакции: variator

Сейчас просматривают