Помогите создать экшн / кастом экшн / скрипт (3 онлайн)

Maestro Sound

Active Member
1 Ноя 2007
721
86
28
Думаю стоит не убирать в байпас трек который стоит в режиме записи, там их два режима думаю на два режима делать исключение rec и активный arm record
 

Maestro Sound

Active Member
1 Ноя 2007
721
86
28
На эти два состояния трека исключить уход в оптимизацию. Это для тех у кого интерактивная запись
 

Вложения

Последнее редактирование:

Aleksandr Oleynik

Well-Known Member
16 Янв 2007
26.360
20.063
113
62
Киев
Женя, замечания понятные - попробую как будет время и желание...
[DOUBLEPOST=1508868178][/DOUBLEPOST]
На эти два состояния трека исключить уход в оптимизацию
Дело в том, что REC на треке это САМЫЙ злейший враг производительности, его бы при работе над аранжем ВООБЩЕ отключать.
Но я понимаю, что есть и режим накопления, при котором слушается возможно уже созданный проект с обработками.
В общем нужно ещё кого-то послушать... я не занимаюсь сложными аранжировками и не владею до конца пониманием технологии и возможных путей оптимизации.
 
Последнее редактирование:

Maestro Sound

Active Member
1 Ноя 2007
721
86
28
в том то и дело что иногда пустить тех несчастных два три процента а порой и семь CPU с не играющего трека, на запись . Нужно больше мнений народ спит? Вообще-то предполагалось для уже готового трека но Аппетит приходит.........
 
Последнее редактирование:

Aleksandr Oleynik

Well-Known Member
16 Янв 2007
26.360
20.063
113
62
Киев
в том то и дело что иногда пустить тех несчастных два три процента а порой и семь CPU с не играющего трека, на запись .
Да, я понимаю, но это два разных режима - запись и аранжировка и под них лучше наверное иметь и два разных подхода и скрипта, как следствие.
 
  • Like
Реакции: Maestro Sound

Maestro Sound

Active Member
1 Ноя 2007
721
86
28
А тут я уже не знаю специфику скриптинга и его работы:) какие его особенности на записи и на плее
 

Aleksandr Oleynik

Well-Known Member
16 Янв 2007
26.360
20.063
113
62
Киев
А тут я уже не знаю специфику скриптинга и его работы:) какие его особенности на записи и на плее
Не, скриптинг тут не при чём. Просто это две разные задачи, которые совместить сложно, да и не нужно скорее всего - так как при Аранже треки со включённой записью не нужны, а при записи, скорее всего, часть треков уже записанных могут быть не нужны или их уж точно лучше фризить на тяжёлых проектах и слабых компах.
 

belovw

Well-Known Member
22 Апр 2009
9.201
8.384
113
50
RK Almaty
@Aleksandr Oleynik, соглашусь с @Maestro Sound, по поводу

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

Maestro Sound

Active Member
1 Ноя 2007
721
86
28
Да все же думаю было бы полезно не снимать фх c Rec как альтернатива Фризу и рендеру все как никак и пощада HD. Просто помню на старом компе у меня было такое, тяжелый синт ну почти останавливал проект, приходилось чуть ли не в соло режиме писать под метроном. Аппетит конечно растет..............

пребуфер не зависит от BPM""""" Скорей всего да независит . Я по тестировал разницы никакой
 
Последнее редактирование:

belovw

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

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

Aleksandr Oleynik

Well-Known Member
16 Янв 2007
26.360
20.063
113
62
Киев
Не трогать треки на которых включена запись - не проблема. Логично в общем-то, если включили запись, значит это режим накопления, а не аранжировки.

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

А вот по поводу PDC не очень понял, он ведь только задерживает, он начало айтема ни как не передвинет в лево.
 
Последнее редактирование:

belovw

Well-Known Member
22 Апр 2009
9.201
8.384
113
50
RK Almaty
@Aleksandr Oleynik, нарвался на баг с реверберацией. Детектор отловил минимальное значение амплитуды и ревер прервался значительно ранее чем нужно. Видимо волна через ноль проскочила. Давай ка считать по RMS. Тогда не будет ложного обрывания сигнала.
 

Aleksandr Oleynik

Well-Known Member
16 Янв 2007
26.360
20.063
113
62
Киев
@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

belovw

Well-Known Member
22 Апр 2009
9.201
8.384
113
50
RK Almaty
А вот по поводу PDC не очень понял, он ведь только задерживает, он начало айтема ни как не передвинет в лево.
Смоделировал на 4-ёх Reacomp с макимальным лукахидом по 250. Итого получилось 44100 сэмплов. Запуская проект с пустого места, проигрываем чутка айтем и, не дожидаясь его окончания, стопуем. Далее снова стартуем с того же места и ловим баг при начале айтема. Также баго показательно ведёт себя JS Time Adjust Delay or Negative Delay при отрацательных задержках. По идее он должен начать играть ранее, а получается что съедает часть айтема как раз на величину задержки.
[DOUBLEPOST=1508873805][/DOUBLEPOST]
Чтоб считывать RMS, нужно функцию писать
Само собой. Но там не сложно. Не надо особо изгаляться, выбрать окно в 50 мс и всех делов. Функцию знаешь же?
RMS=квадратный корень (суммы квадратов значений поделённых на их количество).
 

belovw

Well-Known Member
22 Апр 2009
9.201
8.384
113
50
RK Almaty
По идее он должен начать играть ранее, а получается что съедает часть айтема как раз на величину задержки.
В общем получается то, что бы плагин с PDC отрабатывал правильно, FX надо включать заранее на то количество сэмплов, которое репортируется в окне ФХ. Причем надо брать максимальное, т.к. оно и есть реальное. Рипер же кратно буферу задерживает. Как я и думал так и получилось.
Вопрос с лукахидом наверное то же не обделён вниманием. Если нет, то поделюсь размышлениями. На некоторых FX может использоваться лукахид. Например тотже самый Reacomp. Плагины будут давать репорт о PDC, и вот на эту величину и надо заранее включать FX.
 
  • Like
Реакции: Maestro Sound

muzicgrand

Well-Known Member
26 Ноя 2009
462
772
93
44
СССР
Slick У меня скрипт оптимизации не всегда срабатывает,или я не понял как он работает? опиши как его использовать в миксе ?
 

@Michael

Well-Known Member
14 Дек 2010
969
1.461
93
Орёл / Москва
Само собой. Но там не сложно. Не надо особо изгаляться, выбрать окно в 50 мс и всех делов. Функцию знаешь же?
RMS=квадратный корень (суммы квадратов значений поделённых на их количество).
Это не будет работать. Частота обновления ReaScript от 20Гц.
 
  • Like
Реакции: Aleksandr Oleynik

belovw

Well-Known Member
22 Апр 2009
9.201
8.384
113
50
RK Almaty
Это не будет работать. Частота обновления ReaScript от 20Гц.
Вопрос, а функция reaper.Track_GetPeakInfo( track, 0 ) возвращает значение модуля или может быть как положительное так и отрицательное значение? Если последние, тогда надо использовать модуль функции.
 

Aleksandr Oleynik

Well-Known Member
16 Янв 2007
26.360
20.063
113
62
Киев
@belovw, только положительное, это считывание не волны, а индикатора трекового.
Но я могу, если баг с пропуском будет повторяться и занижение порога не спасёт, сделать не разовый опрос, а по двум точкам с временной дистанцией (какой-то), чтоб избежать ложного срабатывания на кратковременное снижение уровня ниже порога.
Ну и ещё для стерео сигналов добавлю высчитывание среднего значения.
 
Последнее редактирование:
  • Like
Реакции: Maestro Sound

belovw

Well-Known Member
22 Апр 2009
9.201
8.384
113
50
RK Almaty
Отловил баг. Несущественный, но всёже. Если плэй курсор поставить до начала события в положение меньше или равно 200 мс (5ГЦ) то скрипт не успевает не успевает запустить FX. Я так понимаю это связано со скоростью обновления скрипта. Не думаю что это мегакритично. В принципе для сведения аудиоматериала пойдет. А вот аранжировщики будут ловить проглоченные первые ноты. Особенно когда поставят курсор на такт на котором уже что-то есть или с него что-то начинается. Поэтому, предлагаю рассмотреть дополнительный режим работы скрипта после изменения положения плэй курсора в ручную и после остановки. Тогда поидее мы сразу исключим нюансы с проглотом первых нот и несрабатыванием плагин с PDC. Тогда вообще можно будет забыть про PDC для скрипта.
[DOUBLEPOST=1508911806][/DOUBLEPOST]Хорошая мысля приходит опосля. ))

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

Вложения

Последнее редактирование:

belovw

Well-Known Member
22 Апр 2009
9.201
8.384
113
50
RK Almaty
я могу сделать не разовый опрос, а по двум точкам с временной дистанцией (какой-то), чтоб избежать ложного срабатывания на кратковременное снижение уровня ниже порога.
Ну и ещё для стерео сигналов добавлю высчитывание среднего значения.
Вот так вот и можно сделать. Причем временного промежутка работы скрипта вполне хватит как единицы временной дистанции. Если указание времени всё равно нужно то используй 250 мс. Ну и конечно просчёт стерео обязательно надо сделать. Баг отловлен. Если поставить стерео файл, повесить восьмушками делэй с фидбэком -6 дБ, то при повороте панарамы круто влево - звучит как надо, то при повороте вправо - звучит только один повтор и далее звук прерывается.
 
Последнее редактирование:

belovw

Well-Known Member
22 Апр 2009
9.201
8.384
113
50
RK Almaty
В общем получается два варианта:
1) перехват команды плэй/стоп
2) работа скрипта при стопе и изменение положения плэй курсора.

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

Aleksandr Oleynik

Well-Known Member
16 Янв 2007
26.360
20.063
113
62
Киев
Версия 4_2 - только добавленно исключение из процесса треков с рекармом и усреднённое значение пиков уровня для стерео сигналов с понижением порогового уровня срабатывания.
 

Вложения

  • Like
Реакции: Slick и Maestro Sound

Maestro Sound

Active Member
1 Ноя 2007
721
86
28
"При втором варике получится так, что при каждой смене положения плэй курсора, а при редакции это неизбежно - будут включаться выключаться ФХы, что как-бы не очень.""

Но стартовать при втором варианте "удобней"? При первом варианте (Выключенный плей) нужно дать функцию чтобы выделеный трек оcтавался в UnBypass а при смене на другой выделеный уходил в Байпас и выводя новый виделенны из байпаса. Это скорей для режима накопления для аранжировщиков коим я себя "возомняю" ибо иной раз править мыди итем без звука проблематично если у тебя не апсолютный слух. Но для этого скрипту нужно постояно прослеживать состояние всех треков я так понимаю.....Мля я уже и без Ваших скриптов голову вот-вот сломаю
 

belovw

Well-Known Member
22 Апр 2009
9.201
8.384
113
50
RK Almaty
Кстати, сейчас заметил особенность работы скрипта. Если на треке нет айтемов, то ФХы скрипт не отключает. Что собственно хорошо для аукс треков.
 
  • Like
Реакции: Maestro Sound

Maestro Sound

Active Member
1 Ноя 2007
721
86
28
Кстати, сейчас заметил особенность работы скрипта. Если на треке нет айтемов, то ФХы скрипт не отключает. Что собственно хорошо для аук треков.
Что именно это АУК? И чем собственно хорошо? Если Вас не затруднит
 

belovw

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

Maestro Sound

Active Member
1 Ноя 2007
721
86
28
Хорошее замечание для работы с миди инструментами. Но тут мы можем столкнуться с другой проблемой, когда одна "миди" дорожка посылает миди данные на другую дорожку с инструментом. Придется последнюю заполнять пустыми айтемами.
[DOUBLEPOST=1508914675][/DOUBLEPOST]
Очепятка, сори. Аукс, он же Aux, он же FX track. Используется для временных эфектов. Вторая разновидность - групп трэки.
@Maestro Sound, дальнейшее объяснение выходит за рамки топика.
Понял а отсутствие айтемов на треке сыграло положительную роль для моего ForRetroRec(MIDI) v20151213 на первом скрытом треке Он в обеих режимах всегда пока в "тонусе"
Для посыл миди на другой трек возможно выводить его из байпассса при поступлении миди сигнала? Ну я это так предположения примитивного идиота. Ну опять же тут уже скрипт не проследит когда тебе вздумается подыграть и первая нота возможно будет съедаться или я ошибаюсь
 
Последнее редактирование:

Сейчас онлайн (Пользователей: 0, Гостей: 3)