ReaScripts (скрипты для Reaper) - делимся

@Martin111, я не просто так задаю вопросы, на которые нужно иметь ответы, чтобы по 10 раз не переделывать скрипт. Менять цвет папок можно и сейчас - поменяв цвет ячеек в кастом колор.
Убрать раскраску чилдренов я могу.
Так устроит?
 
  • Like
Реакции: Mateush1982
@Martin111, я не просто так задаю вопросы, на которые нужно иметь ответы, чтобы по 10 раз не переделывать скрипт. Менять цвет папок можно и сейчас - поменяв цвет ячеек в кастом колор.
Убрать раскраску чилдренов я могу.
Так устроит?
Большая просьба к вам Александр, если будете этот новый скрипт делать , то отдельным скриптом , потому что меня и не только меня устраивает что сейчас есть, мы еще со временем доработаем скрипт. спасибо
 
@Martin111, ловите
Можете назначать любые ячейки (можете одинаковые) для цвета фолдеров
local numb_color_1 = 1 -- цифра определяет номер ячейки с custom color

ни и для всех последующих пар -
local numb_color_* = * -- цифра определяет номер ячейки с custom color
 

Вложения

  • Like
Реакции: Martin111
По просьбе сделал скрипты для прятания треков ниже или выше выделенного с задаваемым в скрипте шагом (стоит 5)
Скрипт - ShowAllTrack_FocusSelect - показывает все треки и фокусируется на выделенном треке (показывет его в окне аранжа)
 

Вложения

  • Like
Реакции: Aliko, stepperian и sd
Копи-паст огибающих активного тейка выделенного айтема.
Первый скрипт копирует огибающие активного тейка выделенного айтема
Второй - вставляет их на активные тейки выделенных айтомов
Copy-paste active take envelopes.gif
охотно рассмотрю и попробую пофиксить все случаи, когда скрипты не работают (скорей всего, такие случаи будут)
 
  • Like
Реакции: Aliko и Nagor
@lil-burn, при попытке сохранить Копи выдаёт ... and Settings\1\Application Data\REAPER\Scripts\Copy.lua:18: bad argument #1 to 'GetItemStateChunk' (MediaItem expected)
 
Apply Tape-stop effect to selected items

Запилил простенький скрипт для эффекта tape-stop.
В основу легли стретч-маркеры

Chooze_Apply Tape-stop effect to selected items.gif

Код:
function TapeStopItem(item)
reaper.CountSelectedMediaItems(0)
    if item~=nil then
       local item_len = reaper.GetMediaItemInfo_Value(item, "D_LENGTH")
       local tk =  reaper.GetActiveTake(item, 0)
             reaper.SetMediaItemTakeInfo_Value(tk, "D_PLAYRATE", 0.5)
       local marker_first = reaper.SetTakeStretchMarker(tk, -1, 0)
       local marker_last = reaper.SetTakeStretchMarker(tk, -1, item_len*0.5)
             reaper.SetTakeStretchMarkerSlope(tk, marker_first, -1)
             reaper.SetMediaItemInfo_Value(item, "B_LOOPSRC", 0 )
             reaper.SetMediaItemTakeInfo_Value(tk, "B_PPITCH", 0 )
    else return nil end
end
            
---------------------------------------------------------------------------
            
             reaper.Undo_BeginBlock()
            
             item =  reaper.GetSelectedMediaItem(0, 0)
             item_count = reaper.CountSelectedMediaItems(0)
             if item_count >= 1 then
                for i = 0, item_count-1 do
                item =  reaper.GetSelectedMediaItem(0, i)
                TapeStopItem(item)
                end
             end
            
             reaper.Undo_EndBlock("Tape-stop",-1)
             reaper.UpdateArrange()
 
Скрипт выравнивает аудио по найденным транзиентам. Простой вариант со встроенным Риперовским транзиент-детектором.
Подходит для инструментов, в которых имеются выраженные транзиенты - барабаны, ритм-гитары, перкуссия и тп.
Скрипт расставляет маркеры по своему усмотрению и совмещает по известному принципу - "как карта ляжет".
Для поиска транзиентов используются нейронные сети и принцип квантовой запутанности - короче, встроенные средства Рипера:).
Сперва может показаться, что ни хрена не работает и все пропало, но не тут-то было, нужно немного привыкнуть к настройкам!
==========
При нормальных настройках все выравнивается достаточно точно. Настройки всего три, но они взаимосвязаны.
Sensetive - чувствительность. А вот почему она работает так резко - не знаю.
Threshold - порог, ниже которого детектор неактивен.
Retrig - мин. допустимое расстояние между маркерами, но также влияет и на зону поиска ближайшего маркера в выравниваемом тейке.
Чем меньше значение - тем меньше зона поиска.
==========
Выравнивать можно аудио, в котором есть выраженные транзиенты. То есть, барабаны, ритм-гитары и тп.
Причем, не обязательно, чтобы это были одинаковые партии и даже инструменты. Можно ровнять барабаны под гитары или наоборот.
Получается иногда интересно.
==========
Для использования нужно выделить два аудио-айтема и установить тайм-селекшн на выравниваемый участок.
По уровню они должны быть сопоставимы. Если есть изменения на протяжении тейков, можно делать отдельными участками.
Работает быстро, можно слушать сразу по ходу настройки.
Не используйте без необходимости большие значения Sensetive и низкий Threshold.
Align mini3.gif Align mini4.gif

Поддерживается разный playrate, offset, loop sourced и т.д.
Добавлен выбор референсного айтема и квантайз маркеров(если нужно).

Align Items by transients

ПС. Интересный тест - сыграл несколько партий на гитаре, абсолютно без метрономов и тп. Партии разошлись даже по темпу достаточно сильно - выровнял растягиванием, запустил скрипт - он выровнял все практически так, будто это игралось друг под друга и под клик.
Честно, такого не ожидал. В общем скрипт прикольный, хотя и простой, единственная сложность может возникать с правильной настройкой, но понять за пару минут можно. Если будет время, попробую добавить доп. настройки, возможно поменять детектор, добавить фильтр, сделать более качественное сравнение маркеров, но пока так.
 
Последнее редактирование:
ПС. Интересный тест - сыграл несколько партий на гитаре, абсолютно без метрономов и тп. Партии разошлись даже по темпу достаточно сильно - выровнял растягиванием, запустил скрипт - он выровнял все практически так, будто это игралось друг под друга и под клик.
а в чем разница между Мишиной ровнялкой http://rmmedia.ru/threads/121230/? Честно не понимаю.
 
Скрипт создает огибающую на основе сдетектированных сибилянтов.
Краткая инструкция:
1. Выбрать трек, установить time selection на нужный участок(но не более 60 секунд - ограничил специально, лучше и быстрее работать короткими участками).
2. Установить значение фильтра - HP Freq(можно оставить по-умолчанию) и нажать "Get Selection".
Посмотреть вложение 115845
На достаточно большом участке может занять некоторое время - несколько секунд.
После детектирования синим цветом отображается ориг. сигнал, красным - сибилянты.
3. Остальные параметры работают практически мгновенно и визуально отображаются в окне скрипта. Изменения сразу проявляются на огибающей, поэтому можно сразу и слушать.
Посмотреть вложение 115846
=======
Курсор можно перемещать левым кликом в окне по форме волны. Плей-курсор тоже отображается в оне
Колесо мыши - горизонтальный зум. Мидл-драг перемещение волны влево-вправо.
Посмотреть вложение 115847
=======
Vox-Deess Enveloper.lua
очень нраивтся скрипт, только можете переделать его что бы он post-fader (volume) энвелоп менял, а не pre-fx ? хочется что бы он после всей обработки был. что бы было две модификации и PRE и POST, многие по разному предпочитают
 
Пожалуйста, подскажите, срочно! Как залинковать быстро параметры двух (и более) одинаковых FX на разных треках? Попадалось здесь где-то перед отпуском, страшно понравилось, но не сохранил, а теперь не могу найти, хоть тресни:(
 
Вот такая штука.
EnvCompressor miniDemo2.gif

Envelope-based Compressor.eel
====================
Это первоначальная версия, в дальнейшем, вероятно, будет изменяться, чтобы на атаку всегда попадала точка, независимо от интервала.
Если какие-то ошибки и т.п. - сообщайте.
Это не является копией другого скрипта(от spk77), хотя в чем-то похоже(спасибо spk77), но принцип иной.
Это не является компрессором, хотя сильно похоже. Настройки работают немного не так, как в компрессоре, хотя имеют сходные названия.
Я не стал придумывать другие названия. Потому что, в принципе, они во многом соответствуют компрессорным.
Скрипт работает с моно, стерео и т.п.
По скорости - скажем так...на 10-минутном аудио надписи типа "Processing" и т.п. не требуются...это о-ительно быстро.
 
Envelope-based Compressor.eel
@EUGEN27771, Женя, это очень круто. Спасибо!
А не мог бы ты ещё сделать модификацию, в дополнение к этому скрипту, чтобы мод работал не с выделенным айтемом целиком, а внутри тайм селекшна?
По типу скрипта от spk77 (который после твоего скрипта однозначно под замену).
 
  • Like
Реакции: Aleksandr Oleynik и Furqat
Женя, можно понаглеть? ))) и попросить сразу файлом скрипты (если это реально канеш), чтоб закинуть в папку и сразу рюмаху за твое здоровье ))) и жду равнятель твой по транзюкам, а то ссыль, которая была, уже не работает
 
@EUGEN27771, очень круто! а реально ли прикрутить сюда автокомпенсацию выходной громкости?
и байпас бы в этом же окне считаю был бы очень удобен
 
  • Like
Реакции: Furqat
@EUGEN27771, успешно протестировал "компрессор" в нескольких проектах - реально, отличная вещь. Из пожеланий/дополнений: в моём случае, была бы полезной функция применения последних активных настроек к новому айтему и/или возможность ввести значение параметра с клавиатуры. Возможно, есть смысл глянуть в сторону сохранения пользовательских пресетов. Думаю, не я один такой, кому бы это значительно облегчило работу.
 

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