Reaper: вопросы присматривающихся к этой программе (2 онлайн)

  • Автор темы Автор темы goa
  • Дата начала Дата начала
@Alex_028,
Код:
Script: me2beats_Set note ends to start of next note (legato).lua
Edit: Lengthen notes one pixel
Edit: Lengthen notes one pixel
Edit: Lengthen notes one pixel
Edit: Lengthen notes one pixel
Edit: Lengthen notes one pixel
Edit: Lengthen notes one pixel
Edit: Lengthen notes one pixel
Edit: Lengthen notes one pixel
Второго пункта сколько нужно, столько и добавить
 
  • Like
Реакции: Alex Longard
@borisuperful, благодарю, ноты двигает)))
Но судя по второй версии рипера у меня что-то в настройках мидиредактора, основной рипер x64 v5.80 легато ни в какую не делает, а x86 v5.32 делает все как надо и при наложении нот легато срабатывает. Видать я что-то лишнее настроил в новой версии. Завтра еще поковыряю.
 
@patt, для этого нужно закрыть рипер (обязательно!), открыть в текстовом редакторе файл S&M.ini (лежит в директории с рипером) и найти в нём строчки S&M_APPLY_PRJTEMPLATE=4 и S&M_NEWTAB_PRJTEMPLATE=4. И вместо 4 указать желаемое количество (уж не помню, какой предел, но до сотни точно возможно).
 
@vitalker, он отличается тем, что не лигует последнюю ноту к концу айтема, почему-то оказалось, чаще всего это нужно
 
  • Like
Реакции: vitalker
Понадобилось из Рипера сделать "простой аналоговый магнитофон", а нипалучаица.
Что надо - чтоб при изменении темпа прожекта айтемы соответственно замедлялись/ускорялись (про ратио знаю, но это считать нужно всегда, если не в два раза), не применяя продвинутые алгоритмы стретчинга с сохранением питча.
Ну и простой реверс - одной кнопкой, как и плей, с проигрыванием в другую сторону (и с возможностью записи).
Вроде бы Рипер может все, может и такую элементарщину тоже умеет?
 
Это основа для привязки айтемов к темпу.
Да, так получается, но весь таймстреч получается с сохранением питча, нету "тупого" повышения/понижения семплрейта, как в простых семплерах (что имитировало бы и магнитофон тоже). Только при сдвигании ратио (ну тоже как вариант).

Новое
Toggle take reverse
Это кое-что другого.
 
Миди в данном случае можно было бы пережить, так как нужна именно аудиозапись. Но запись, а не просто мышой потянуть (так вроде и в Кубасе можно было).
 
@ljekio, а что мешает просто делать реверс треков? Сделать кастом из 2 экшнов: выделить все треки и тоггл реверса.
 
Это не наш метод, Шура (с) :)
Разумеется, ничего не мешает, но меня тут больше интересует теоретическая возможность - вроде бы ничего сложного, ан нет (или не знаю как).
Может на уровне скриптов такое возможно?
 
подскажите, есть ли в штатном наборе миди-плагин, работающий по принципу Humanizer для миди-редактора?
Цель простая: для конкретного трека получить рандомное отклонение стартовой позиции нот и велосити в пределах заданной в плагине величины в %.
 
можете в строке поиска при вставке плагинов на трэк написать - hum и вам его высветит.
стандартный у меня почему-то не работает (если Вы про JS: MIDI Velocity and Timing Humanizer). Ставлю его на трек в следующий слот после VST, кручу все ручки вправо-влево - на слух ничего не меняется :((


Updated: разобрался. его (плагин) нужно ДО vsti ставить, а не ПОСЛЕ
 
Последнее редактирование:
  • Like
Реакции: Alex Longard
Доброй ночи! Подскажите - как в Рипере удалить все миди контроллеры на дорожках после импорта миди файла?
 
@konikloun, скрипт удаляет CC во всех айтемах
PHP:
--[[
ReaScript name: js_Remove all CCs, pitch, channel pressure and program change events from all tracks.lua
Version: 2.00
Author: juliansader
Website: http://forum.cockos.com/showthread.php?t=179065
About:
  # Description
  Removes all CCs, pitch, channel pressure and program change events from all takes and all tracks in project.
]]

--[[
Changelog:
  * v1.00 (2016-09-13)
  + Initial release
  * v2.00 (2017-03-18)
  + Much faster execution, using new API in REAPER v5.30.
]]

CC  = 11
PROGSEL  = 12
CHANPRESS = 13
PITCH  = 14
tRemove = {}

gotInputsOK = false
repeat
  gotInputsOK, userInputs = reaper.GetUserInputs("Remove CCs", 4, "Remove all CCs?,Program changes?,Channel pressure?,Pitchbends?", "n,y,y,n")
  
  if not gotInputsOK then return end
  
  userInputs = userInputs:lower()
  tRemove = nil
  tRemove = {}
  tRemove[CC], tRemove[PROGSEL], tRemove[CHANPRESS], tRemove[PITCH] = userInputs:match("([yn]),([yn]),([yn]),([yn])")
  if not (tRemove[CC] and tRemove[PROGSEL] and tRemove[CHANPRESS] and tRemove[PITCH]) then gotInputsOK = false end
  
until gotInputsOK == true

for i = 11, 14 do
  if tRemove[i] == "y" then tRemove[i] = true else tRemove[i] = false end
end

num_items = reaper.CountMediaItems(0)
for i = 0, num_items-1 do

  cur_item = reaper.GetMediaItem(0, i)
  if reaper.ValidatePtr2(0, cur_item, "MediaItem*") then
  
  num_takes = reaper.CountTakes(cur_item)
  for t = 0, num_takes-1 do
  
  cur_take = reaper.GetTake(cur_item, t)  
  if reaper.ValidatePtr2(0, cur_take, "MediaItem_Take*") and reaper.TakeIsMIDI(cur_take) then
  
  local tableEvents = {}
  local t = 0 -- Table key
  local gotAllOK, MIDIstring = reaper.MIDI_GetAllEvts(cur_take, "")
  local MIDIlen = MIDIstring:len()
  local stringPos = 1 -- Position inside MIDIstring while parsing
  local offset, flags, msg
  
  while stringPos < MIDIlen-12 do -- -12 to exclude final All-Notes-Off message
  offset, flags, msg, stringPos = string.unpack("i4Bs4", MIDIstring, stringPos)
  if msg:len() > 1 then
  if tRemove[msg:byte(1)>>4] == true then
  msg = ""
  end
  end
  t = t + 1
  tableEvents[t] = string.pack("i4Bs4", offset, flags, msg)
  end
  
  reaper.MIDI_SetAllEvts(cur_take, table.concat(tableEvents) .. MIDIstring:sub(-12))
  
  end -- if(reaper.TakeIsMIDI(cur_take)) 
  
  end -- for t = 0, num_takes-1 do
  
  end -- if reaper.ValidatePtr2(0, curItem, "MediaItem*")

end -- for i = 0, num_items-1 do

reaper.UpdateArrange()
reaper.Undo_OnStateChange("Remove all CCs from all tracks")
 
Последнее редактирование:
  • Like
Реакции: konikloun и lamamama
не применяя продвинутые алгоритмы стретчинга с сохранением питча.
снять галку "preserve pitch" в настройках айтема. причем это и на стретч маркеры работает. если сделать кривую у стретч маркера, то прям магнитофон тейп стоп можно сделать, правда без возможности сделать нелинейно.
 
  • Like
Реакции: ljekio
Может на уровне скриптов такое возможно?
Какие нафиг скрипты? Что тут вообще такого сверхъестественного требуется?
Проиграть в обратную сторону
Код:
Item: Select all items
Item properties: Toggle take reverse
И все это на кнопку в топ тулбаре

Не сохранять высоту при стретчинге - просто нажмите по пустому месту в браузере ПКМ и снимите галочку на втором пункте.
upload_2018-5-3_5-5-55.png
[DOUBLEPOST=1525313707][/DOUBLEPOST]
правда без возможности сделать нелинейно.
Просто побольше маркеров поставить и все можно сделать. Ну по крайней мере близко будет к нелинейности.
 
Последнее редактирование:
  • Like
Реакции: ljekio
Друзья,может кто подскажет !
В проекте есть и миди и аудио ,загрузка процессора 38% ,оперативка около 4 ГБ при 16 в наличии,в какой то момент вновь подгружаемые плагины загружаются в режиме offline !
Скрин прилагаю !
61db00b3bdc73ac18bfb1e43ad4b85ba-full.jpg
61db00b3bdc73ac18bfb1e43ad4b85ba-prev.jpg
61db00b3bdc73ac18bfb1e43ad4b85ba-full.jpg
gm8rm7
 
Последнее редактирование:

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