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

borisuperful

Well-Known Member
31 Янв 2013
2.017
1.152
113
@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

Alex Longard

Well-Known Member
10 Май 2015
1.941
1.232
113
36
München->Deutschland, Київ->Україна
@borisuperful, благодарю, ноты двигает)))
Но судя по второй версии рипера у меня что-то в настройках мидиредактора, основной рипер x64 v5.80 легато ни в какую не делает, а x86 v5.32 делает все как надо и при наложении нот легато срабатывает. Видать я что-то лишнее настроил в новой версии. Завтра еще поковыряю.
 

CerberPic

Member
17 Фев 2017
70
22
8
35
@patt, для этого нужно закрыть рипер (обязательно!), открыть в текстовом редакторе файл S&M.ini (лежит в директории с рипером) и найти в нём строчки S&M_APPLY_PRJTEMPLATE=4 и S&M_NEWTAB_PRJTEMPLATE=4. И вместо 4 указать желаемое количество (уж не помню, какой предел, но до сотни точно возможно).
 

borisuperful

Well-Known Member
31 Янв 2013
2.017
1.152
113
@vitalker, он отличается тем, что не лигует последнюю ноту к концу айтема, почему-то оказалось, чаще всего это нужно
 
  • Like
Реакции: vitalker

ljekio

хоныч
11 Дек 2007
5.760
6.852
113
50
Toksova
soundcloud.com
Понадобилось из Рипера сделать "простой аналоговый магнитофон", а нипалучаица.
Что надо - чтоб при изменении темпа прожекта айтемы соответственно замедлялись/ускорялись (про ратио знаю, но это считать нужно всегда, если не в два раза), не применяя продвинутые алгоритмы стретчинга с сохранением питча.
Ну и простой реверс - одной кнопкой, как и плей, с проигрыванием в другую сторону (и с возможностью записи).
Вроде бы Рипер может все, может и такую элементарщину тоже умеет?
 

ljekio

хоныч
11 Дек 2007
5.760
6.852
113
50
Toksova
soundcloud.com
Это основа для привязки айтемов к темпу.
Да, так получается, но весь таймстреч получается с сохранением питча, нету "тупого" повышения/понижения семплрейта, как в простых семплерах (что имитировало бы и магнитофон тоже). Только при сдвигании ратио (ну тоже как вариант).

Новое
Toggle take reverse
Это кое-что другого.
 

ljekio

хоныч
11 Дек 2007
5.760
6.852
113
50
Toksova
soundcloud.com
Миди в данном случае можно было бы пережить, так как нужна именно аудиозапись. Но запись, а не просто мышой потянуть (так вроде и в Кубасе можно было).
 

vitalker

Well-Known Member
8 Окт 2013
5.085
2.195
113
Гродно
@ljekio, а что мешает просто делать реверс треков? Сделать кастом из 2 экшнов: выделить все треки и тоггл реверса.
 

ljekio

хоныч
11 Дек 2007
5.760
6.852
113
50
Toksova
soundcloud.com
Это не наш метод, Шура (с) :)
Разумеется, ничего не мешает, но меня тут больше интересует теоретическая возможность - вроде бы ничего сложного, ан нет (или не знаю как).
Может на уровне скриптов такое возможно?
 

Supa75

Active Member
21 Мар 2017
672
164
43
48
Днепр, Украина
подскажите, есть ли в штатном наборе миди-плагин, работающий по принципу Humanizer для миди-редактора?
Цель простая: для конкретного трека получить рандомное отклонение стартовой позиции нот и велосити в пределах заданной в плагине величины в %.
 

Supa75

Active Member
21 Мар 2017
672
164
43
48
Днепр, Украина
можете в строке поиска при вставке плагинов на трэк написать - hum и вам его высветит.
стандартный у меня почему-то не работает (если Вы про JS: MIDI Velocity and Timing Humanizer). Ставлю его на трек в следующий слот после VST, кручу все ручки вправо-влево - на слух ничего не меняется :((


Updated: разобрался. его (плагин) нужно ДО vsti ставить, а не ПОСЛЕ
 
Последнее редактирование:
  • Like
Реакции: Alex Longard

konikloun

Active Member
24 Июл 2007
82
136
33
Обратите внимание, пользователь заблокирован на форуме.
Доброй ночи! Подскажите - как в Рипере удалить все миди контроллеры на дорожках после импорта миди файла?
 

Broojacker

Active Member
4 Сен 2010
276
213
43
Киев
soundcloud.com
@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

Slick

IDDQD
13 Май 2008
2.088
1.040
113
38
Москва, Переделкино
www.vk.com
не применяя продвинутые алгоритмы стретчинга с сохранением питча.
снять галку "preserve pitch" в настройках айтема. причем это и на стретч маркеры работает. если сделать кривую у стретч маркера, то прям магнитофон тейп стоп можно сделать, правда без возможности сделать нелинейно.
 
  • Like
Реакции: ljekio

borisuperful

Well-Known Member
31 Янв 2013
2.017
1.152
113
Может на уровне скриптов такое возможно?
Какие нафиг скрипты? Что тут вообще такого сверхъестественного требуется?
Проиграть в обратную сторону
Код:
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 !
Скрин прилагаю !
 
Последнее редактирование:

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