Как прокачать MIDI Editor или скрипты от Julian Sader

Тема в разделе "Reaper", создана пользователем borisuperful, 10 мар 2018.

  1. borisuperful

    borisuperful Well-Known Member

    Регистрация:
    31 янв 2013
    Сообщения:
    891
    Симпатии:
    260
    Казалось бы, это очередные скрипты из Reapack, которые не следует рассматривать в отдельной теме. Однако здесь я не смог остаться равнодушным. При этом подозреваю, что для многих заинтересованных в настройке Reaper это не новость. Но тем не менее, также подозреваю, что не все пользователи о них вообще знают, или, даже если видели, показались сложными для понимания. Думаю, тема в рамках русскоязычного форума будет не лишней. Итак, поехали.

    Скрипты, как уже сказал выше, включены в reapack и подписаны в названии "js_". На мой взгляд - это самые продвинутые на данный момент скрипты для Midi editor, которые сильно расширяют его функционал. Они стабильно работают и не вызывают подтормаживаний при большом кол-ве 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


    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 такт - делит его на заданное в скрипте кол-во отрезков и в пределах этого отрезка будут выделяться ноты.
    Мультик в следующем посте, т.к. больше не дает залить.
     
    Последнее редактирование: 13 мар 2018
    sd, Nordum, Andrew_G и 18 другим нравится это.
  2. borisuperful

    borisuperful Well-Known Member

    Регистрация:
    31 янв 2013
    Сообщения:
    891
    Симпатии:
    260
    Селектор:
     

    Вложения:

    riko, Furqat, MusPro и ещё 1-му нравится это.
  3. fractala

    fractala Well-Known Member

    Регистрация:
    1 авг 2012
    Сообщения:
    1.238
    Симпатии:
    268
    Пол:
    Мужской
    Отличный топик, автору спасибо - все доходчиво, и еще с мультиками - вдвойне полезно.
     
    Последнее редактирование: 11 мар 2018
  4. Furqat

    Furqat Active Member

    Регистрация:
    27 окт 2012
    Сообщения:
    485
    Симпатии:
    191
    Пол:
    Мужской
    Род занятий:
    Keyboardist, composer, arranger
    Адрес:
    Tashkent
  5. alexshur

    alexshur Well-Known Member

    Регистрация:
    5 дек 2006
    Сообщения:
    822
    Симпатии:
    288
  6. axis

    axis Well-Known Member

    Регистрация:
    18 апр 2005
    Сообщения:
    4.664
    Симпатии:
    3.149
    Пол:
    Мужской
    Род занятий:
    freelance
    Адрес:
    Kaniv, UA
    скрипты крутые, давно заметил их, но как-то не нашел применения у себя
     
  7. SKlogic

    SKlogic Well-Known Member

    Регистрация:
    14 май 2006
    Сообщения:
    2.579
    Симпатии:
    693
    Адрес:
    Moscow
    интересно)
     
  8. borisuperful

    borisuperful Well-Known Member

    Регистрация:
    31 янв 2013
    Сообщения:
    891
    Симпатии:
    260
    Продолжаю обзор скриптов от 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. Пресеты кстати сохраняются при перезагрузке скрипта, и синхронизируются во всех модификациях скрипта
     
    Последнее редактирование: 18 авг 2018
    podushkin, diggidon, YuriOl и 2 другим нравится это.
  9. borisuperful

    borisuperful Well-Known Member

    Регистрация:
    31 янв 2013
    Сообщения:
    891
    Симпатии:
    260
    Из недавних новинок среди скриптов от 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
     
    Последнее редактирование: 28 май 2018
    sd и YuriOl нравится это.
  10. YuriOl

    YuriOl Active Member

    Регистрация:
    6 май 2005
    Сообщения:
    483
    Симпатии:
    95
    Пол:
    Мужской
    Адрес:
    Луганск
    @borisuperful, а у меня именно этого скрипта нет!
     
    borisuperful нравится это.
  11. borisuperful

    borisuperful Well-Known Member

    Регистрация:
    31 янв 2013
    Сообщения:
    891
    Симпатии:
    260
    Его нужно установить, обнови из Реапака
     
  12. YuriOl

    YuriOl Active Member

    Регистрация:
    6 май 2005
    Сообщения:
    483
    Симпатии:
    95
    Пол:
    Мужской
    Адрес:
    Луганск
    @borisuperful, Обновлял....

    PS
    Всё! Обновился наконец-то. Какой-то глюк был! :)
    Но скрипт у меня не работает. всегда статус - ON и ничегошеньки :(
     
    Последнее редактирование: 28 май 2018
  13. borisuperful

    borisuperful Well-Known Member

    Регистрация:
    31 янв 2013
    Сообщения:
    891
    Симпатии:
    260
    @YuriOl, шапку прочитай внимательно, там все рассказано) Скрипт надо в тулбар добавлять
     
  14. YuriOl

    YuriOl Active Member

    Регистрация:
    6 май 2005
    Сообщения:
    483
    Симпатии:
    95
    Пол:
    Мужской
    Адрес:
    Луганск
    Да всё заработало! :) А какую шапку читать?
     
  15. borisuperful

    borisuperful Well-Known Member

    Регистрация:
    31 янв 2013
    Сообщения:
    891
    Симпатии:
    260
    @YuriOl, ну начало этого топика)
     
    YuriOl нравится это.

Поделиться этой страницей