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

Посмотрю. Возможно, что-то получится. Тот скрипт старый и медленный. Проблема вся в скорости, а время можно любое поставить.
Для такого дела eel нужен, попробую переписать основное без графики(она там не особо и нужна) и потестить, но не обещаю в ближ. время.
[DOUBLEPOST=1487672925][/DOUBLEPOST]И есть еще один вариант, альтернативный, который, возможно, подойдет. По спектральным пикам, потестировал немного, можно всякие интересные штуки делать.
 
GetMediaItemTake_Peaks - практически и есть готовый вариант, причем и с графикой одновременно!
1234.gif
И работает очень быстро. 5-10 минут летает. На lua.
4321.gif

Ну и, "дякую, що натякнули" - по пререлизам давно не лазил и как-то пропустил.
=======
Функция просто охренительная - начиная с envelope - компрессора для определенного диапозона частот, всяких гейтов и прочего, и до того, что можно разложить барабаны, почти по слогам разложить вокал и тп. И работает, ну просто очень быстро.
Единственное, что вижу макс. рейт более 300 именно для спектр. пиков не проходит(или я ошибся) - но это допустимо, это очень неплохо. В 44100 - 147 семплов макс. возможная погрешность
 
Последнее редактирование:
Поскольку, в ближайшее время я ничего делать не собираюсь, кроме JS(но я еще вернусь в Луа!), может быть, кто-то возьмется что-то хорошее сделать.
Это может быть красивой помощью(не потому что я считаю всех д...и, а потому что сам д...б долго думал, искал и нашел).
Итак, есть новая функция GetMediaItemTake_Peaks.
Итого, имеем - скудную информацию из описания и по поиску - пример от Джастина, который, он видимо, для прикола и написал(у него свой прикол в один пик).
Но это хоть что-то уже. Но я провел некоторые пробы и выяснил, сука, все нюансы. Ну и глядите, какие чудеса выходят.
Грубо говоря, буфер состоит из трех частей(если брать спектр), иначе из двух. Мы можем это легко увидеть тупо распечатав буфер через консоль.
Первая часть - макс. пики, поканально идут.
Вторая часть - мин. пики, поканально идут.
Третья часть, если запрашивали - спектральные пики, поканально идут.
Пиз...ц разбил чашку кофе. Хорошо, что глиняная, нет острых осколков, херня, варю повторно кофе, чашка номер 3, такая же точно.
=================
Сейчас допишу.
Ладно, продолжим,
кол-во каналов - это ясно, но у меня свое мнение по этому вопросу, совпадает с мнением разарабов
peakrate - это частота, с которой берутся пики, тупо, сколько пиков на секунду
Вот и все
=================
Забыл, может пригодится.
Спектральнрые пики сохр. в 24-число, как я понимаю(я всегда прав. понимаю)
--объясняю на пальцах!
spec = buf[n_spls*2 + i] -- извлекли число
frequency = spec&0x7fff -- low 15 bits frequency - нижние 15 бит, можно глянуть на калькуляторе, не стесняйтесь, я смотрел
tonality = (spec>>15)/16384 -- ну и верхние, (Джастин разделил на биты, чтобы получить нормализованное значение) но это ситуации не меняет вообще. Но это важное значение, если хотите.
Называется относительный вес. Суть - насколько самая "тяжелая" частота превышает самую легкую(не считая нуля).
Вот и все вроде бы. Всем успехов!
++++++++++++++++++++
Я хочу, чтобы у кого-то получилось, хоть у кого-то.
Возьмите спектральные пики в таблицу( не забудьте про время!)
Проведите минимальный анализ, хоть простяковый, Дядя Вася и тот знает)
Это и есть информация, необходимая и достаточная для анализа
 
Последнее редактирование:
  • Like
Реакции: lil-burn
@EUGEN27771, спасибо, как раз это все скорее всего скоро понадобится, вчера все-таки начал писать медиа браузер, уже реализовано прослушивание аудио из произвольной папки


нужно будет рисовать волноформу)
 
  • Like
Реакции: Al Brazy и vitalker
@EUGEN27771, пока через Xenakios/SWS: Preview selected media item. При клике сэмпл кидаю на новый трек, а сам трек скрываю. Совсем не идеальное решение, но сейчас никаких других вариантов для луа нет.
Но есть и плюсы: есть такой же экшен для остановки воспроизведения, и вообще можно реализовать практически все, что сейчас имеет стандартный риперовский браузер (уменьшить громкость = уменьшить громкость на скрытом треке или айтеме, прослушать через выделенный трек = сделать посыл на выделенный трек, прослушать кусок айтема = обрезать этот айтем и запустить Preview selected media item и тд).
 
@vitalker, не вижу особо в нем смысла (в контексте медиа браузера, о кот. писал выше), если есть отдельно плей и стоп. Тем более этот toggle даже не имеет state

@EUGEN27771,
))

В принципе в конце концов не важно как сделано - главное же чтоб работало
 
  • Like
Реакции: stepperian
Переделал деессер на eel, полностью переписал алгоритм.
Env-based deesser.gif
По сути, теперь алгоритм полностью соответствует алгоритму эффекта "деесер", только вместо выхода строит огибающую.
Написал JS для тестов, JS потом выложу, может кому-то пригодиться.
Время обр. участка практически не ограничено(там где-то в часах получится максимум), но лучше не брать большие участки.
На участках до 3-5 минут все просто летает, раз в 50 быстрее, чем старый, несмотря на то, что алгоритм сложнее, чем в Lua был.
В связи с этим графика даже и не нужна, можно смотреть прямо по огибающей и форме волны в Рипере.
На описание нет времени пока, но там все понятно должно быть, нашкрябал на английском: http://forum.cockos.com/showthread.php?t=189120
Ссылка на скрипт: gen_Envelope-based Deesser.eel
 
Жень, ты сайдчейнер свой не забросил? Я очень жду, сейчас пока обхожусь двумя включенными в инсерт параллельно что жутко неудобно. И если ты запилишь к огибающим еще изменение параметров, того же cutoff например - будет круто ;)
 
@fractala, я попробовал сделать так, как Вы говорили, сделал две огибающих и морфинг - реально попробовал - результат херовый получился.
В чем-то фишка есть, но сложно в настройке и игра не стоит свеч.

Жаль конечно, у меня на материале очень здорово прижилась пара твоих сайдчейнеров с разными length и кривыми. :(
Если рассматривать стандартный функционал - да тут вроде бы как все есть, ну может иногда не хватает copy/paste кривых
 
Ребята подскажите есть ли скрипт который линкует крутилки ? например если надо поднять фэйдер на микшере то что бы одновременно изменялся уровень на посыле(если в префэйдерном режиме)......
 

Вложения

Последнее редактирование:
  • Like
Реакции: Shwily
А смысл тогда в префейдерном режиме?
чтоб посыл был pre-FX. Иногда так надо, без обработки, но после федера))
[DOUBLEPOST=1489872326][/DOUBLEPOST]Никто не встречал блокнот с возможностью хранить персональные для акаждого трека заметки? (типа как в кубе)
Или, как вариант, чтоб выводил имена нот с миди-трека
Гыыы SWS же!
 
Последнее редактирование:
А смысл тогда в префейдерном режиме?
В префэйдерном режиме удобно работать с ч-мя крутилками это: 1.фейдер микшера 2.панорама микшера 3.крукилка посыла 4.панорама посыла, c помощью их мы размещяем звук в пространстве например: направляем панораму посыла левее и выстраиваем уровень с помощью крутилочки посыла, потом фейдером микшера добавляем основной звук, и панорамой микшера направляем его например немного правее.Эта техника особенно хороша при работе с инструментами заднего плана, с бек-вокалами и не только!!!Но теперь что бы нам изменить громкость необходимо крутить ДВЕ ручки фейдер и посыл что бы звук не "уплыл" из своего места в миксе, и вот только по этой причине я прошу подсказать мне как залинковать фэйдер и посыл на одном и том же треке т.е.линкуем ПОСЛЕ вcех манипуляций с панорамами и уровнями на выбранном треке.....
 
Можно конечно накинуть крутилку громкости в инсерт (что я и сделал) но это не удобно!!! рука тянется к фейдеру))) да и открывать/закрывать плагин только ради громкости не сильно круто )
 
Ребята может кто с английским на "МЫ" напишите разработчикам пускай сделают так что бы префейдерные сенды можно было бы добавлять в групповую матрицу...от було б щастячко )))
 
Коллеги, подскажите плз как исправить скрипт чтобы работал не только на обычных треках, но и на МАСТЕР ТРЕКЕ.
Этот скрипт позволяет делать байпас активного открытого окна плагина.
-------------
function nothing() end

retval, trnum, itnum, fxnum = reaper.GetFocusedFX()
if retval == 1 then
reaper.Undo_BeginBlock()
tr = reaper.GetTrack(0,trnum-1)
fx_enabled = reaper.TrackFX_GetEnabled(tr, fxnum)
if fx_enabled == true then
reaper.TrackFX_SetEnabled(tr, fxnum, false)
elseif fx_enabled == false then
reaper.TrackFX_SetEnabled(tr, fxnum, true)
end
reaper.Undo_EndBlock('toggle bypass focused fx', -1)
elseif retval == 2 then
reaper.MB("it's a take fx. my programmer will fix this later", 'oops', 0)
else reaper.defer(nothing) end
------------
 
Коллеги, подскажите плз как исправить скрипт чтобы работал не только на обычных треках, но и на МАСТЕР ТРЕКЕ.
Этот скрипт позволяет делать байпас активного открытого окна плагина.

Например так (take fx туда же):
PHP:
local r = reaper retval, trnum, itnum, fxnum = r.GetFocusedFX()
r.Undo_BeginBlock()
if retval == 1 then  r.TrackFX_SetEnabled( r.CSurf_TrackFromID( trnum, false ), fxnum, not r.TrackFX_GetEnabled(r.CSurf_TrackFromID( trnum, false ), fxnum))
elseif retval == 2 then  r.TakeFX_SetEnabled(  r.GetActiveTake(  r.GetMediaItem( 0, itnum ) ), fxnum, not  r.TakeFX_GetEnabled( r.GetActiveTake(  r.GetMediaItem( 0, itnum ) ) ,fxnum)) end
reaper.Undo_EndBlock('Toggle bypass focused FX', -1)
 
Последнее редактирование:
  • Like
Реакции: lil-burn и vax
Здесь как-то добрые люди помогали со скриптом для организации треков в шины, в зависимости от названий треков. Скрипт работал. А сейчас не работает. В чем может быть причина?
 

Вложения

Последнее редактирование:
@EUGEN27771, gen_Envelope-based Deesser.eel работает действительно быстро. Но цепляет не только эс-ки. Может бы стоит ещё один фильтр добавить? ВЧ отфильтровывать.
 

Вложения

  • gen_Envelope-based Deesser.jpg
    gen_Envelope-based Deesser.jpg
    191,7 KB · Просмотры: 191
@EUGEN27771 правильно - надо писать под себя :) Если вы про volume, то зависит от настройки(на выбор из 4): до 0, до 6, 12, до 24 дб. А нельзя такой мэйкап, чтобы тихие части(где эти противные эсссски) оставались тихими, а громкие становились громче?
ma7wADf.jpg
 

Вложения

  • 12.JPG
    12.JPG
    44,5 KB · Просмотры: 123
  • 12.JPG
    12.JPG
    44,5 KB · Просмотры: 118
  • 12.jpg
    12.jpg
    44,5 KB · Просмотры: 113

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