Как прокачать MIDI Editor или скрипты от Julian Sader (актуально только для v5)

borisuperful

Well-Known Member
31 Янв 2013
2.017
1.158
113
Казалось бы, это очередные скрипты из Reapack, которые не следует рассматривать в отдельной теме. Однако здесь я не смог остаться равнодушным. При этом подозреваю, что для многих заинтересованных в настройке Reaper это не новость. Но тем не менее, также подозреваю, что не все пользователи о них вообще знают, или, даже если видели, показались сложными для понимания. Думаю, тема в рамках русскоязычного форума будет не лишней. Итак, поехали.

На мой взгляд - это самые продвинутые на данный момент скрипты для Midi editor, которые сильно расширяют его функционал. К сожалению, версии скриптов, о которых пойдет речь, уже нет в Reapack, которые были заменены новыми, и они мне лично пока не понравились. Скачать эти версии скриптов можно здесь
Данные скрипты стабильно работают и не вызывают подтормаживаний при большом кол-ве midi информации. Их достаточно много, все я сейчас не рассмотрю (может позже), но по крайней мере те, которые мне показались самыми полезными. Сейчас я приведу список некоторых:


Script: js_Draw linear or curved ramps in real time.lua
Script: js_Draw sine curve in real time.lua
Script: js_Tilt selected CCs or velocities to mouse position.lua
Script: js_Compress or expand selected CC or velocity events using mousewheel.lua
Script: js_Stretch selected events in lane under mouse.lua
Script: js_Split notes by drawing a line with the mouse.lua
Script: js_Arch selected events in lane under mouse with linear or power curve.lua
Script: js_Arch selected events in lane under mouse with sine curve.lua
Script: js_1-sided warp (accelerate) selected events in lane under mouse.lua
Script: js_2-sided warp (and stretch) selected events in lane under mouse.lua


Данные скрипты нужно будет просто добавить в Toolbar миди редактора в виде кнопок. Можно также в меню или шоркаты, но визуально кнопки вроде удобнее.
Скрипты можно представить как выбор инструмента для работы, подобно Cubase. Если мы нажмем на один из этих скриптов, кнопка загорится, то есть скрипт примет статус "on". При переключении на другие кнопки скрипты будут перетягивать на себя статус "on", выключая предыдущие. Но ничего при этом не будет происходить, пока вы не найдете следующий специальный скрипт:

Script: js_Run the js_'lane under mouse' script that is selected in toolbar (link this to shortcut and mousewheel).lua

Он позволяет как раз запустить уже в процессе любой скрипт, выбранный в тулбаре, то есть на котором будет гореть кнопка. На этот специальный скрипт надо назначить несколько шорткеев, например так - z, shift+z, shift+mouswheel - их я использую для объяснения работы скриптов. Можно использовать любые комбинациями shift, ctrl, alt, но рекомендую, чтобы они совпадали для простоты работы, то есть, как в примере, везде только shift. А почему именно три сочетания, в процессе объясню.

Итак, каждый скрипт из тулбара я буду объяснять по отдельности, т.к. порой они выполняют несколько различных действий. И, конечно, приложу мультики. Итак:

1) Draw linear or curved ramps in real time
Он позволяет создавать CC автоматизации в Midi Editor. Рисует линию с возможностью придать ей выпуклую или вогнутую форму. Скрипт запускается с помощью любых из трех сочетаний - клавиши или колесо. Сразу рекомендую его запускать с помощью shift+z, то есть без колеса. Выключить скрипт можно ТОЛЬКО с помощью клавишы и опять же рекомендую shift+z. А вот shift+mouswheel будет как раз выступать в качестве регулирования выпуклости или вогнутости в зависимости от того, в какую сторону крутить колесо. Когда скрипт запущен, нужно просто повести курсор мыши и, если необходимо, покрутить колесо под shift. Курсор, кстати, должен быть строго в области СС, чтобы скрипт случайно не прерывал работу. Когда повели курсор и сделали нужный рисунок, закрепляем его - нажимаем шорткей. Почему же именно shift+z, а не просто z? А потому, что процессе вы просто можете зажать shift, не отпускать, и нажимать либо этот z для включения/отключения скрипта, либо крутить колесо для придания форм. Так оно для мозга проще. Скрипт может учитывать сетку - рисунок будет как бы "снэпиться" под нее. Либо идти плавно. Поверх рисунка можно рисовать новый, который будет перекрывать созданный.
Вот мультик:
Draw linear or curved ramps in real time.lua.gif

UPD: Помимо всего прочего, в mouse modifiers рипера, в разделе MIDI CC lane -> left drag, есть такая функция, как Erase CC events, которая по умолчанию стоит на alt. Если ее переназначить на shift, то появится еще одна приятная фишка - по мере рисования СС мы можем ее, ведя левой кнопкой мышки, сразу же стирать, если нам не понравился рисунок (когда сам скрипт отключен). Получается, что все действия с миди автоматизацией происходят под одним shift. Для удобства можно еще назначить в разделе MIDI CC event -> left drag -> та же функция Erase CC event (также под shift). Это для того, чтобы стиралось всегда, независимо от того, двигаем мы левым кликом в зоне автоматизации, или поверх самой автоматизации.

2) Draw sine curve in real time
Д
елает почти все то же самое, но рисует синусоидальные линии
Мультик:
Draw sine curve in real time.lua.gif

Существуют еще похожие скрипты:

Script: js_Draw linear or curved ramps in real time, chasing start values.lua
Script: js_Draw sine curve in real time, chasing start values.lua

Ключевое их отличие именно в "chasing start values". Это более узконаправленные скрипты. которые рисуют CC от последней точки. Я их лично так и не стал использовать, хотя могут понадобиться.


3) Tilt selected CCs or velocities to mouse position

Этот скрипт работает как на СС, так и на Velocity. Является более качественным аналогом известного скрипта velocity tool, потому что не тормозит. Просто мы должны выделить СС или Velocity, чтобы скрипт влиял только на выделенные. Мы просто наводим курсор в нужной половине и поднимаем/опускаем. Для включения/отключения скрипта можно использовать только z, чтобы не запариваться. Кстати, если мне нужна ровная линия, для еще более точной корректировки или для сбрасывания каких-то форм, я люблю использовать скрипт Script: kawa_MIDI_VelocityInterPolation_Liner.lua для velocity и Script: kawa_MIDICC_InterPolationCCValue_Liner.lua для СС.
Их я назначил на клавишы x и shift+x, рядом с z :) И часто их нажимаю после первого скрипта.
Мультик:
Tilt selected CCs or velocities to mouse position.gif


4) Compress or expand selected CC or velocity events using mousewheel

Данный скрипт служит для придания форм и работает на СС и Velocity. Все будет зависеть от того, куда вы наведете курсор. Если в зоне выделенных СС или Velocity, то при кручении колеса будет происходить компрессия или экспансия. Если за пределы них, то есть с левого или правого бока, то будет изменяться форма на выпуклую или вогнутую в рамках компрессии или экспансии относительно положения курсора.
Мультик:
Compress or expand selected CC or velocity events using mousewheel.gif

5) Stretch selected events in lane under mouse

Вроде бы данная фича существует штатно - обыкновенный timestretch нот, который по умолчанию делается с помощью ЛКМ под alt. Но, во-первых, скриптом это делать более приятно, т.к. не следует искать конец ноты, увеличивая масштаб. Во-вторых у него есть несколько стилей работы, и все зависит от того, куда двигать курсор - по вертикали или по горизонтали, и куда его ставить. Скрипт также учитывает привязку к сетке.
Я думаю, в мультике все будет понятно:
Stretch selected events in lane under mouse.gif


6) Split notes by drawing a line with the mouse

Скрипт напоминает ножик в Cubase, когда мы можем задать его диагональ. Есть также похожий скрипт, режущий только выделенные ноты, которые будут под него попадать. Учитывает привязку к сетке. Сначала нажимаете z, запускаете скрипт, формируете диагональ, потом еще раз z - разрезка
Мультик:
Split notes by drawing a line with the mouse.gif

7) Arch selected events in lane under mouse with linear or power curve

Позволяет опускать или поднимать Velocity или СС в любом месте по центру или относительно в центре. При этом может придавать выпуклость или вогнутость форм, опять же с помощью колеса.
Мультик:
Arch selected events in lane under mouse with linear or power curve.gif

UPD: этим скриптом можно работать вместо предыдущего под 3м номером. Опускать поднимать по бокам, при этом сразу формировать выпуклость и вогнутость. Но курсор нужно выставлять точнее

8) Arch selected events in lane under mouse with sine curve

Делает почти то же самое, но в рамках синусоидальных форм. Думаю, можно и без мультика :)

9) 1-sided warp (accelerate) selected events in lane under mouse

"Стретчит" выделенные ноты или СС подобно тому, как вы выставляете маркеры для "стретчинга" аудио.
Мультик:
1-sided warp (accelerate) selected events in lane under mouse.gif

Более того, он еще может делать вот так, поднимая курсор вверх или вниз:
1-sided warp (accelerate) selected events in lane under mouse.gif

10) 2-sided warp (and stretch) selected events in lane under mouse

Этот скрипт тоже на тему "стретчинга", но с иным стилем работы, с более расширенными возможностями. Курсор можно двигать влево/вправо или вверх/вниз. Работает тоже на нотах и СС.
Мультик:
2-sided warp (and stretch) selected events in lane under mouse.gif

Последние два скрипта по стретчингу не учитывают сетку.



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

Script: js_Select and deselect MIDI notes by step pattern.lua

Выделяет нужные ноты в пределах заданного в скрипте количественного промежутка. Причем у него два стиля работы.

1) Step pattern - подсчитывает любые ноты с любой длительностью, следуемые друг за другом. Для его корректной работы необходимо, иногда, подгонять сетку, в мелкую сторону.
2) Measure divisions - анализирует 1 такт - делит его на заданное в скрипте кол-во отрезков и в пределах этого отрезка будут выделяться ноты.
Мультик в следующем посте, т.к. больше не дает залить.
 
Последнее редактирование:
Отличный топик, автору спасибо - все доходчиво, и еще с мультиками - вдвойне полезно.
 
Последнее редактирование:
скрипты крутые, давно заметил их, но как-то не нашел применения у себя
 
Продолжаю обзор скриптов от Julian Sader, на очереди LFO генератор.

Для основного окна (обычные автоматизации и айтемы автоматизации - желательно один айтем) подходит скрипт:
Script: js_Envelope LFO generator and shaper.lua

Для СС в midi editor подходит скрипт:
Script: js_LFO Tool (MIDI editor version, insert CCs in time selection in last clicked lane).lua


Есть еще различные модификации для midi editor, в частности для Velocity мне удалось задействовать
Script: js_LFO Tool (MIDI editor version, apply to existing CCs or velocities in last clicked lane).lua
Также есть модификации с окончанием "under mouse cursor", которые я еще не задействовал.

Все эти скрипты по сути представляют одно и то же окно управления, для генерирования LFO форм.
У скрипта есть управление скорости, амплитуды, положения относительно центра, смещение фазы, выбор форм волны и ее рандомизация, фейд ин/аут регулирование и т.д.

Рассмотрим скрипт для создания СС в midi editor.

Для начала нужно создать time selection, чтобы скрипт в пределах него сгенерировал форму LFO.
1.gif

Скрипт сгенерировал форму по умолчанию. Далее нам нужно ее корректировать. Перейдем во вкладку "Rate".
Попробуем навести курсор в зону точек. Зажмем ctrl+ЛКМ и потянем вверх или вниз курсор мыши. Обнаружим, что обе точки будут двигаться синхронно вверх и вниз. Вместе с скриптом начнет равномерно изменяться скорость LFO.
2.gif

Попробуем нажать на ctrl+ПКМ и выберем в меню длительности. Скорости LFO теперь будет точно привязана к секте и длительностям.
3.gif

Теперь попробуем поставить новые точки. Делается это простым нажатием ЛКМ. При этом alt+ЛКМ - удаляет точку. Ctrl при любых сочетаниях линкует все точки. Простое же перемещение ЛКМ перемещает одну точку.
Положение новых точек будет влиять на LFO рисунок в разном месте. На примере rate мы можем добиться возрастания скорости от одной точке к другой и наоборот.
4.gif

В оставшихся двух разделах - "Amplitude" и "Center" - управление устроено точно также. С одним лишь отличием - это создание значения точки/точек вручную. Там выскочит окно. В обоих разделах - то есть и в "Amplitude" и в "Center" - нужно вводить значение от 0 до 1. То есть половина будет равна 0.5
Amplitude - и так понятно, управляет амплитудой, Center - управляет положением и наклоном LFO в различных точках.
5.gif

Теперь рассмотрим оставшиеся параметры.
Timebase - может быть beats и time - тут извиняйте, пока не допер разницу в генерировании LFO :) МБ кто подскажет
LFO shape - форма LFO, треугольная, квадртаная, синусоидальная и т.д.
Phase step - регулирование старта LFO. Важными отправными точками здесь станут значения - 0, 25, 50, 75, 100
Randomness - рандомизация
Quant steps - напоминает увеличение и уменьшение частоты дискретизации
Smoothing - степень плавности, которая будет заметно на угловатых формах
Последние два пункта это fade in и fade out амплитуды

Из управления скриптом стоит также отменить наличие возможности создания большого кол-ва точек за курсором, если удерживать shift и вести ЛКМ. Практического применения вообще не могу представить.

Скрипт также дает возможность сохранить пресеты. Для этого мы жмем ПКМ по любому пустому месту окна (либо внизу в левом углу есть решетка, на нее ЛКМ) и нажимаем save curve. Там же мы и загружаем и удаляем существующие пресеты. Аналогично работает во всех свои модификациях, в том числе в main. В основном окне точно также надо создать time selection. Пресеты кстати сохраняются при перезагрузке скрипта, и синхронизируются во всех модификациях скрипта
 
Последнее редактирование:
Из недавних новинок среди скриптов от Julian Sader меня порадовал следующий
Script: js_Mouse editing - Draw basic LFO curves in real time.lua
Он рисует LFO, подобно предыдущему скрипту, описанный постом выше, но без всяких окон, а простым движением мыши. Он всегда привязывает LFO к длительностям (сетки), выставление которых влияет на генерирование частоты LFO. При этом привязка к самой сетке, снэп также может настраиваться. Кручением колеса мы можем регулировать некоторые встроенные в скрипт базовые формы. Но в целом без каких либо излишеств. Кстати, там есть и простая линия с синусоидальной, подобно старым добрым скриптам, видимо автор стремился их таким образом частично унифицировать, но однако это было бы ошибочно полагать ввиду того, что отсутствует возможность регулирования выпуклости и вогнутости. Стоит отметить, скрипт при запуске сохраняет последнюю выбранную пользователем форму. А поверх СС точно также рисует новые, убирая предыдущие. Не работает на Velocity.
2018-05-28_19-20-44.gif
 
Последнее редактирование:
  • Like
Реакции: audiojinn, sd и YuriOl
@borisuperful, Обновлял....

PS
Всё! Обновился наконец-то. Какой-то глюк был! :)
Но скрипт у меня не работает. всегда статус - ON и ничегошеньки :(
 
Последнее редактирование:
@YuriOl, шапку прочитай внимательно, там все рассказано) Скрипт надо в тулбар добавлять
 
Под курсором символ.Это как то настраивается?
 

Вложения

  • QIP Shot - Screen 183.png
    QIP Shot - Screen 183.png
    87,7 KB · Просмотры: 324
Расскажите, как установить? Мне просто нужна возможность сжимать или расширять Pitch-данные в Piano Roll (смотрите картинку: bit.ly/2tFnBLB ). В FL это делается очень легко, жмёшь Alt+X и делаешь всё что нужно. Подозреваю, что чтобы установить описанные скрипты мне надо будет установить ещё что-нибудь, и это обламывает. Может подскажете простой инструмент для моей задачи? Не советуйте "MIDI velocity tool spk77 and Breeder", он даже с 16-тью тактами не справляется, и он корявый. Жду вашей помощи. Спасибо.
3qinfA3or
 
Едва ли друзья. Данный топик потеряет актуальность или претерпит изменения :)
Все дело в том, что в бетах СС теперь такие, какие многие бы их хотели видеть :)
В данный момент у меня получается использовать Julian Sader скрипты, но полагаю, что он их должен модифицировать под новый функционал кривых. Я удивляюсь, что они еще продолжают работать исправно, есть лишь проблема с отображением во время редактирования. В общем это будет бомба :)
upload_2019-3-8_21-52-29.png
 
Последнее редактирование:
  • Like
Реакции: riko и Broojacker
@vitalker, Это я про огибающие СС. С velocity разобрался, экшн Set default mouse modifier action for "MIDI CC lane left drag" to "Edit selected velocities, or freehand draw CC events ignoring snap" и move CC в default modifer.
 
С velocity разобрался, экшн Set default mouse modifier action for "MIDI CC lane left drag" to "Edit selected velocities, or freehand draw CC events ignoring snap" и move CC в default modifer.
ну так всегда было) По умолчанию редактируются выделенные ноты. Было бы круто какую-нибудь фишку, чтоб одновременно делать разную громкость нотом в аккорде.
 
@vitalker, У меня стоял какой то другой экшн. Насколько я понял, тут важна комбинация включённого экшна в списке action и выбора нужного mouse modifer, что бы работал корректно edit CC и velocity. Вообще, очень рад этой фиче, раньше приходилось помудохаться, что бы нарисовать нужный СС, даже с скриптами сабжа. А сколько лет в Кубейсе этого ждут.
 
Последнее редактирование:
тут важна комбинация включённого экшна в списке action и выбора нужного mouse modifer, что бы работал корректно edit CC и velocity.
экшн со словами "mouse modifier"? Если да, то это и есть модификатор, только его можно в экшнах включить)
 
  • Like
Реакции: Broojacker
@DimR, посмотрите в соседних темах ReaPack. И изучите эту утилиту.
Установил ReaPack, попробовал нужные мне скрипты:
js_Compress or expand selected CC or velocity events using mousewheel.lua
js_Mouse editing - Stretch and Compress.lua
Не работают. Других не нашёл. Зря время потратил
 
Я понимаю, трудно помочь, когда сам не можешь сделать
 

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