Помогите создать экшн / кастом экшн / скрипт

  • Автор темы Автор темы @Michael
  • Дата начала Дата начала
Думаю стоит не убирать в байпас трек который стоит в режиме записи, там их два режима думаю на два режима делать исключение rec и активный arm record
 
На эти два состояния трека исключить уход в оптимизацию. Это для тех у кого интерактивная запись
 

Вложения

  • 2017-10-20_224838.jpg
    2017-10-20_224838.jpg
    186,3 KB · Просмотры: 120
Последнее редактирование:
Женя, замечания понятные - попробую как будет время и желание...
[DOUBLEPOST=1508868178][/DOUBLEPOST]
На эти два состояния трека исключить уход в оптимизацию
Дело в том, что REC на треке это САМЫЙ злейший враг производительности, его бы при работе над аранжем ВООБЩЕ отключать.
Но я понимаю, что есть и режим накопления, при котором слушается возможно уже созданный проект с обработками.
В общем нужно ещё кого-то послушать... я не занимаюсь сложными аранжировками и не владею до конца пониманием технологии и возможных путей оптимизации.
 
Последнее редактирование:
в том то и дело что иногда пустить тех несчастных два три процента а порой и семь CPU с не играющего трека, на запись . Нужно больше мнений народ спит? Вообще-то предполагалось для уже готового трека но Аппетит приходит.........
 
Последнее редактирование:
в том то и дело что иногда пустить тех несчастных два три процента а порой и семь CPU с не играющего трека, на запись .
Да, я понимаю, но это два разных режима - запись и аранжировка и под них лучше наверное иметь и два разных подхода и скрипта, как следствие.
 
  • Like
Реакции: Maestro Sound
А тут я уже не знаю специфику скриптинга и его работы:) какие его особенности на записи и на плее
 
А тут я уже не знаю специфику скриптинга и его работы:) какие его особенности на записи и на плее
Не, скриптинг тут не при чём. Просто это две разные задачи, которые совместить сложно, да и не нужно скорее всего - так как при Аранже треки со включённой записью не нужны, а при записи, скорее всего, часть треков уже записанных могут быть не нужны или их уж точно лучше фризить на тяжёлых проектах и слабых компах.
 
@Aleksandr Oleynik, соглашусь с @Maestro Sound, по поводу

Думаю стоит не убирать в байпас трек который стоит в режиме записи, там их два режима думаю на два режима делать исключение rec и активный arm record
На самом деле по сути это один режим. Т.Е. не отключать фх с армированых треков.
[DOUBLEPOST=1508870982][/DOUBLEPOST]Формула перевода BPM в секунды проста
длина одной четверти в секундах равна
t=60/BPM
[DOUBLEPOST=1508871056][/DOUBLEPOST]Но я думаю пребуфер не зависит от BPM, а зависит от PDC
 
  • Like
Реакции: Maestro Sound
Да все же думаю было бы полезно не снимать фх c Rec как альтернатива Фризу и рендеру все как никак и пощада HD. Просто помню на старом компе у меня было такое, тяжелый синт ну почти останавливал проект, приходилось чуть ли не в соло режиме писать под метроном. Аппетит конечно растет..............

пребуфер не зависит от BPM""""" Скорей всего да независит . Я по тестировал разницы никакой
 
Последнее редактирование:
по идее, лучше собирать данные об айтемах(start, end) на треке при изменениях в проекте Proj Change, это редко происходит.
Так, кстати, ничего не потеряется не по трекам, ни по айтемам. Создать как бы маршрут, где и на каких треках делать проверку.
Потом доставать все из таблицы, а не перебирать при каждом цикле дефера все это богатство, тем более, когда его много.
Устанавливать в "I_FXEN" постоянно на уже глухих треках не стоит.
Латенси можно получить из АПИ. Правда, там были мелкие расхождения, насколько помнится, но не существенные.
Ну а дальше примерно так как и сделано.
-------------
И по поводу Proj Change момент, если будете делать - нужно не учитывать изменения, внесенные самим скриптом. Если это будет счетчик - после того, как скрипт вносит свои изменения - просто сразу обновляйте счетчик.
Не совсем понял механику процесса, но думаю что мы мыслим одинаково. Напишу по своему.
Согласен с Женей что не нужно постоянно отслеживать проект. Нужно создать карту автоматизации ON/OFF FX. Т.е
По сути это как в миди события. Таблица в виде
Время, номер трека, ON/OFF
Держать её где-то в памяти. Если произошли какие-то изменения, я так понял

при изменениях в проекте Proj Change
То перестать наверное отключать фх на том треке где произошли изменения до тех пор пока не восстановится карта автоматизации. Или же перейти на режим слежки с последующим восстановлением таблицы. А вообще наверное как-то можно восстанавливать таблицу по мере изменений проекта.
[DOUBLEPOST=1508872468][/DOUBLEPOST]@Aleksandr Oleynik, ты просто монстр. Замутить такое!!!!!!!!!!!
 
Не трогать треки на которых включена запись - не проблема. Логично в общем-то, если включили запись, значит это режим накопления, а не аранжировки.

По поводу того, что намисал Евгений - мне всё понятно и в общих чертах ясно как делать. Что-то не выйдет, спрошу у него.

А вот по поводу PDC не очень понял, он ведь только задерживает, он начало айтема ни как не передвинет в лево.
 
Последнее редактирование:
@Aleksandr Oleynik, нарвался на баг с реверберацией. Детектор отловил минимальное значение амплитуды и ревер прервался значительно ранее чем нужно. Видимо волна через ноль проскочила. Давай ка считать по RMS. Тогда не будет ложного обрывания сигнала.
 
@Aleksandr Oleynik, ты просто монстр. Замутить такое!!!!!!!!!!!
Кто у нас монстры мы знаем, не будем тыкать пальцами, я же просто - ушки на макушке, люблю разбираться с интересными и полезными задачками, ну и если что - телефончик одного монстра имеется - звонок Другу всегда поможет.

Если хочешь посмотреть на РЕАЛЬНУЮ БОМБУ, скачай Женин FX Reack -
http://rmmedia.ru/threads/110165/page-19#post-2165444
Вот ЭТО РАБОТА!
Он даже косяки Джастина поисправлял.
[DOUBLEPOST=1508873415][/DOUBLEPOST]
@Aleksandr Oleynik, нарвался на баг с реверберацией. Детектор отловил минимальное значение амплитуды и ревер прервался значительно ранее чем нужно. Видимо волна через ноль проскочила. Давай ка считать по RMS. Тогда не будет ложного обрывания сигнала.
Я на глаз поставил порог, он, к сожалению снимается API не в dB. Можно просто поменять ручками значение - сейчас, до компа доберусь и скажу какая строка.
Чтоб считывать RMS, нужно функцию писать (API умеет только за пиковыми значениями следить и за холдом), не уверен что это нужно, хотя может у Жени она и есть
 
Последнее редактирование:
  • Like
Реакции: Buyan
А вот по поводу PDC не очень понял, он ведь только задерживает, он начало айтема ни как не передвинет в лево.
Смоделировал на 4-ёх Reacomp с макимальным лукахидом по 250. Итого получилось 44100 сэмплов. Запуская проект с пустого места, проигрываем чутка айтем и, не дожидаясь его окончания, стопуем. Далее снова стартуем с того же места и ловим баг при начале айтема. Также баго показательно ведёт себя JS Time Adjust Delay or Negative Delay при отрацательных задержках. По идее он должен начать играть ранее, а получается что съедает часть айтема как раз на величину задержки.
[DOUBLEPOST=1508873805][/DOUBLEPOST]
Чтоб считывать RMS, нужно функцию писать
Само собой. Но там не сложно. Не надо особо изгаляться, выбрать окно в 50 мс и всех делов. Функцию знаешь же?
RMS=квадратный корень (суммы квадратов значений поделённых на их количество).
 
По идее он должен начать играть ранее, а получается что съедает часть айтема как раз на величину задержки.
В общем получается то, что бы плагин с PDC отрабатывал правильно, FX надо включать заранее на то количество сэмплов, которое репортируется в окне ФХ. Причем надо брать максимальное, т.к. оно и есть реальное. Рипер же кратно буферу задерживает. Как я и думал так и получилось.
Вопрос с лукахидом наверное то же не обделён вниманием. Если нет, то поделюсь размышлениями. На некоторых FX может использоваться лукахид. Например тотже самый Reacomp. Плагины будут давать репорт о PDC, и вот на эту величину и надо заранее включать FX.
 
  • Like
Реакции: Maestro Sound
Slick У меня скрипт оптимизации не всегда срабатывает,или я не понял как он работает? опиши как его использовать в миксе ?
 
Само собой. Но там не сложно. Не надо особо изгаляться, выбрать окно в 50 мс и всех делов. Функцию знаешь же?
RMS=квадратный корень (суммы квадратов значений поделённых на их количество).

Это не будет работать. Частота обновления ReaScript от 20Гц.
 
  • Like
Реакции: Aleksandr Oleynik
Это не будет работать. Частота обновления ReaScript от 20Гц.
Вопрос, а функция reaper.Track_GetPeakInfo( track, 0 ) возвращает значение модуля или может быть как положительное так и отрицательное значение? Если последние, тогда надо использовать модуль функции.
 
@belovw, только положительное, это считывание не волны, а индикатора трекового.
Но я могу, если баг с пропуском будет повторяться и занижение порога не спасёт, сделать не разовый опрос, а по двум точкам с временной дистанцией (какой-то), чтоб избежать ложного срабатывания на кратковременное снижение уровня ниже порога.
Ну и ещё для стерео сигналов добавлю высчитывание среднего значения.
 
Последнее редактирование:
  • Like
Реакции: Maestro Sound
Отловил баг. Несущественный, но всёже. Если плэй курсор поставить до начала события в положение меньше или равно 200 мс (5ГЦ) то скрипт не успевает не успевает запустить FX. Я так понимаю это связано со скоростью обновления скрипта. Не думаю что это мегакритично. В принципе для сведения аудиоматериала пойдет. А вот аранжировщики будут ловить проглоченные первые ноты. Особенно когда поставят курсор на такт на котором уже что-то есть или с него что-то начинается. Поэтому, предлагаю рассмотреть дополнительный режим работы скрипта после изменения положения плэй курсора в ручную и после остановки. Тогда поидее мы сразу исключим нюансы с проглотом первых нот и несрабатыванием плагин с PDC. Тогда вообще можно будет забыть про PDC для скрипта.
[DOUBLEPOST=1508911806][/DOUBLEPOST]Хорошая мысля приходит опосля. ))

Всё надеюсь очень просто. Надо поменять работу скрипта по следующему сценарию:
Нужно скрипту перехватить команду PLAY, начать работу и самому запустить PLAY команду. Тогда он вовремя включит ФХы.
Как это сделать не знаю. Как вариант: после запуска скрипта, скрипт отвязывает хоткей плэй/стоп, ждет нажатия этой клавиши, активирует работу основного тела по фх, и также ловит пробел что бы остановиться. После выключения скрипта, он должен восстановить хоткей плэй/стоп.
Если же есть более простые функции перехвата коткея, то я только за.
 

Вложения

Последнее редактирование:
я могу сделать не разовый опрос, а по двум точкам с временной дистанцией (какой-то), чтоб избежать ложного срабатывания на кратковременное снижение уровня ниже порога.
Ну и ещё для стерео сигналов добавлю высчитывание среднего значения.
Вот так вот и можно сделать. Причем временного промежутка работы скрипта вполне хватит как единицы временной дистанции. Если указание времени всё равно нужно то используй 250 мс. Ну и конечно просчёт стерео обязательно надо сделать. Баг отловлен. Если поставить стерео файл, повесить восьмушками делэй с фидбэком -6 дБ, то при повороте панарамы круто влево - звучит как надо, то при повороте вправо - звучит только один повтор и далее звук прерывается.
 
Последнее редактирование:
В общем получается два варианта:
1) перехват команды плэй/стоп
2) работа скрипта при стопе и изменение положения плэй курсора.

Первый вариант предпочтительней, тогда ФХы вообще можно было бы при стопе выключить. И сиди себе ровняй там или чего другое делай на совершенно незагруженой машине.
При втором варике получится так, что при каждой смене положения плэй курсора, а при редакции это неизбежно - будут включаться выключаться ФХы, что как-бы не очень.
 
Версия 4_2 - только добавленно исключение из процесса треков с рекармом и усреднённое значение пиков уровня для стерео сигналов с понижением порогового уровня срабатывания.
 

Вложения

  • Like
Реакции: Slick и Maestro Sound
"При втором варике получится так, что при каждой смене положения плэй курсора, а при редакции это неизбежно - будут включаться выключаться ФХы, что как-бы не очень.""

Но стартовать при втором варианте "удобней"? При первом варианте (Выключенный плей) нужно дать функцию чтобы выделеный трек оcтавался в UnBypass а при смене на другой выделеный уходил в Байпас и выводя новый виделенны из байпаса. Это скорей для режима накопления для аранжировщиков коим я себя "возомняю" ибо иной раз править мыди итем без звука проблематично если у тебя не апсолютный слух. Но для этого скрипту нужно постояно прослеживать состояние всех треков я так понимаю.....Мля я уже и без Ваших скриптов голову вот-вот сломаю
 
Кстати, сейчас заметил особенность работы скрипта. Если на треке нет айтемов, то ФХы скрипт не отключает. Что собственно хорошо для аукс треков.
 
  • Like
Реакции: Maestro Sound
Кстати, сейчас заметил особенность работы скрипта. Если на треке нет айтемов, то ФХы скрипт не отключает. Что собственно хорошо для аук треков.

Что именно это АУК? И чем собственно хорошо? Если Вас не затруднит
 
При первом варианте (Выключенный плей) нужно дать функцию чтобы выделеный трек оcтавался в UnBypass а при смене на другой выделеный уходил в Байпас и выводя новый виделенны из байпаса.
Хорошее замечание для работы с миди инструментами. Но тут мы можем столкнуться с другой проблемой, когда одна "миди" дорожка посылает миди данные на другую дорожку с инструментом. Придется последнюю заполнять пустыми айтемами.
[DOUBLEPOST=1508914675][/DOUBLEPOST]
Что именно это АУК? И чем собственно хорошо? Если Вас не затруднит
Очепятка, сори. Аукс, он же Aux, он же FX track. Используется для временных эфектов. Вторая разновидность - групп трэки.
@Maestro Sound, дальнейшее объяснение выходит за рамки топика.
[DOUBLEPOST=1508914802][/DOUBLEPOST]
усреднённое значение пиков уровня для стерео сигналов
Работает.
 
Хорошее замечание для работы с миди инструментами. Но тут мы можем столкнуться с другой проблемой, когда одна "миди" дорожка посылает миди данные на другую дорожку с инструментом. Придется последнюю заполнять пустыми айтемами.
[DOUBLEPOST=1508914675][/DOUBLEPOST]
Очепятка, сори. Аукс, он же Aux, он же FX track. Используется для временных эфектов. Вторая разновидность - групп трэки.
@Maestro Sound, дальнейшее объяснение выходит за рамки топика.
Понял а отсутствие айтемов на треке сыграло положительную роль для моего ForRetroRec(MIDI) v20151213 на первом скрытом треке Он в обеих режимах всегда пока в "тонусе"
Для посыл миди на другой трек возможно выводить его из байпассса при поступлении миди сигнала? Ну я это так предположения примитивного идиота. Ну опять же тут уже скрипт не проследит когда тебе вздумается подыграть и первая нота возможно будет съедаться или я ошибаюсь
 
Последнее редактирование:

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