|
|
|
10-06-2011, 11:23 PM
|
#1
|
Human being with feelings
Join Date: Jul 2007
Posts: 619
|
***reaLOOP*** :: live looping in reaper
(i put the majority of this together awhile ago but after seeing some recent posts I finally decided to clean it all up and put it together to share with everyone. hope this helps some of you out...)
*** ********************* *****
at this point consider this setup/workflow experimental.
it works fine for me but seems a bit touchy for others.
experiment and see if it works for you
-python and perl scripts available (perl probalbly works better)
-mac osx will not work due to unsupported actions in the SWS extension (sorry)
*** ********************* *****
- == reaLOOP == -
this is a combination of custom actions and a script which allows reaper to act similar to a looper pedal/ableton's session view.
using this system allows the following:
-tempo is automatically set from the first loop recorded
-all punch ins/outs execute cleanly at the start of the next measure
(i.e. trigger the reaLOOP action whenever and the punch in won't start until the next bar)
-each recording automatically moves to its own track
-each recording automatically loops and extends to fit the loop
(i.e. if the loop is 4 bars and you record 1 bar, that 1 bar automatically loops and extends to fill the 4 bars)
-separate action included for punching out without looping/extending the take
-separate action included for deleting the last take/track recorded
all of this behavior can be controlled from one button, reaper will automatically execute a different action depending on the situation.
here is a sample video:
https://www.youtube.com/watch?v=pZVWY-Yrad0
in order to run reaLOOP you need to install:
-the SWS extension: here
-either python 3.1: here or Perl 5.10: here
-perl users also need the FFI module: win32
(FFI.pm and FFI.dll should both be placed in the Perl/lib directory of your Perl installation)
installation:
1)import the attached reaLOOP keymap and the reaLOOP perl script.
2)then assign a hotkey to the reaLOOP perl script.
3)in preferences/general/keyboard make sure "use alternate keyboard section when recording" is turned OFF
4)arm a track and make sure reaper is stopped and there is no previous loop section set
5)hit your assigned hotkey to punch in and out of takes
i just have one button assigned to trigger the script which automatically controls punching in/out, moving each take to a new track and setting the tempo. i have another button assigned to punch out without looping (for the rare take where looping is not wanted) and a third button for deleting the last take in case it was bad.
(note:
-punching in in the last two bars will wait till the start of the loop to punch in
-punching out in the last bar will immediately punch out and loop the take up to the previous measure
***this is by design because of reaper's own latency executing time based actions***)
FOR PEOPLE USING MIDI FOOTSWITCHS:
for some reason the time based SWS actions do not trigger properly when a midi key is assigned to trigger it. so instead, to use midi you need to first assign a normal hotkey (example: "\") and then use a free program like Bome's Midi Translator to assign any midi command to trigger that same hotkey (example: in Midi Translator set Midi Note 64 to trigger "\"). its a small extra step you gotta do, but it works.
hopefully this works as well for some of you as it has been for me.
this was the only thing i had really been missing from ableton....
Last edited by slops; 10-22-2011 at 10:52 PM.
|
|
|
10-07-2011, 01:37 AM
|
#2
|
Human being with feelings
Join Date: Dec 2009
Posts: 543
|
wow, this looks amazing. Thank you for the effort!!
|
|
|
10-07-2011, 05:41 AM
|
#3
|
Human being with feelings
Join Date: Sep 2010
Location: Finland
Posts: 776
|
Interesting. I'd like to try this, but the link to download the FFI module for OS X is broken.
EDIT: Just found this: http://forum.cockos.com/showthread.php?t=52224
Any chance for a python version? ^_^
Last edited by Seventh; 10-07-2011 at 05:48 AM.
|
|
|
10-07-2011, 06:27 AM
|
#4
|
Human being with feelings
Join Date: Jul 2007
Posts: 619
|
Quote:
Originally Posted by Seventh
|
...wow, that kinda sucks.
didn't realize perl reascript on the OSX side of things was broken.
bummer.
Quote:
Originally Posted by Seventh
Any chance for a python version? ^_^
|
lol.
let me install python and take a stab at it.
the script isn't that complicated so i think i should be able to do it easy enough.
|
|
|
10-07-2011, 10:18 AM
|
#5
|
Human being with feelings
Join Date: Mar 2010
Posts: 1,572
|
Hey Slops!
Thanks so much for taking the time to share this!
I'm excited to try this out, just a bit hazy on how to get it all installed. I downloaded all the proper files. Extracted the Perl (64-bit) to my desktop. How exactly to I install Perl after that?
|
|
|
10-07-2011, 10:22 AM
|
#6
|
Human being with feelings
Join Date: Mar 2010
Posts: 1,572
|
Also, how do I import the Perl script into REAPER? Is that in options? I imported the KeyMap.
|
|
|
10-07-2011, 10:44 AM
|
#7
|
Human being with feelings
Join Date: Jun 2008
Location: Whales, UK
Posts: 6,009
|
just checked the vid, looks cool and simply implemented, good stuff, thanks - next is to install the titbits and give it a whirl..
|
|
|
10-07-2011, 11:25 AM
|
#8
|
Human being with feelings
Join Date: Mar 2010
Posts: 1,572
|
:/
I can't get the Perl Script to work.
I've got the looper working but I have every action assigned to a different hot key. I'm assuming the Perl Script is what allows you to use 1 key to take care of all the functions.
Any help in that regard is greatly appreciated.
Thanks!
|
|
|
10-07-2011, 11:41 AM
|
#9
|
Human being with feelings
Join Date: Sep 2010
Location: Finland
Posts: 776
|
Quote:
Originally Posted by slops
let me install python and take a stab at it.
the script isn't that complicated so i think i should be able to do it easy enough.
|
Much appreciated, thanks!
|
|
|
10-07-2011, 12:15 PM
|
#10
|
Human being with feelings
Join Date: Jul 2007
Posts: 619
|
Quote:
Originally Posted by DeyBwah
:/
I can't get the Perl Script to work.
I've got the looper working but I have every action assigned to a different hot key. I'm assuming the Perl Script is what allows you to use 1 key to take care of all the functions.
|
yeah, the perl script is what allows 1 key to take care of all the functions.
any people who don't want to bother with the script can assign all the actions to separate keys, but the script makes it WAY easier because it uses only one key and switches actions by itself.
for perl reascript to work you have to:
-install perl 5.10 (there are newer perl versions...DO NOT install those... 5.10 is what you want. it is the second download choice in the perl link i posted)
-install the FFI module: (the win32 link is in my original post)
(FFI.pm and FFI.dll should both be placed in the Perl/lib directory of your Perl installation)
if you have perl 5.10 and the FFI files installed perl reascript should work. maybe the issue is that you installed perl 64 bit and the FFI files are compiled for 32 bit? try installing the files i linked to in my original post and see if it works.
ohh, and to import the reascript file you open the custom actions window in reaper and there should be an import button at the bottom of the window. if it is greyed out then perl still isn't installed correctly.
hope this helps.
|
|
|
10-07-2011, 12:19 PM
|
#11
|
Human being with feelings
Join Date: Mar 2010
Posts: 1,572
|
Thanks slops going to give it a go right now!
|
|
|
10-07-2011, 12:25 PM
|
#12
|
Human being with feelings
Join Date: Mar 2010
Posts: 1,572
|
Ok installed the second link for Perl.
Placed the two FFI files in the lib folder.
What about the reaLOOP.pl? Where should I place that file?
The button is greyed out atm...
|
|
|
10-07-2011, 12:29 PM
|
#13
|
Human being with feelings
Join Date: Mar 2010
Posts: 1,572
|
When you say install the FFI module, you mean just place it in the lib folder within the Perl directory?
|
|
|
10-07-2011, 12:32 PM
|
#14
|
Human being with feelings
Join Date: Mar 2010
Posts: 1,572
|
Are you using 64-bit or 32-bit REAPER?
|
|
|
10-07-2011, 12:54 PM
|
#15
|
Human being with feelings
Join Date: Mar 2010
Posts: 1,572
|
|
|
|
10-07-2011, 01:25 PM
|
#16
|
Human being with feelings
Join Date: Sep 2010
Location: Finland
Posts: 776
|
Looks like it might benefit windows people as well if the script could be translated to python, no?
|
|
|
10-07-2011, 06:34 PM
|
#17
|
Human being with feelings
Join Date: Jul 2007
Posts: 619
|
Quote:
Originally Posted by Seventh
Looks like it might benefit windows people as well if the script could be translated to python, no?
|
yeah, looks like perl only works for win32 people.
what a shame.
i just updated the original post with a python version of the script.
try it out and let me know if it works...
|
|
|
10-07-2011, 08:26 PM
|
#18
|
Human being with feelings
Join Date: Mar 2010
Posts: 1,572
|
Quote:
Originally Posted by slops
yeah, looks like perl only works for win32 people.
what a shame.
i just updated the original post with a python version of the script.
try it out and let me know if it works...
|
I was able to import the script but it doesn't appear to be working properly. I'm using "O" as the hot key for the Python script. It records the first take well and sets the tempo but when I hit "O" again, it says no track was record enabled.
|
|
|
10-07-2011, 08:32 PM
|
#19
|
Human being with feelings
Join Date: Mar 2010
Posts: 1,572
|
Nevermind, it is working but the behavior is a bit strange.... I hit "O" to begin recording and stop to set the initial loop. When I record the second loop, it is only using half of the loop I record and looping it to fit the initial loop. It doesn't matter if I stop the second loop after the initial loops duration. It still only uses half..
|
|
|
10-07-2011, 08:35 PM
|
#20
|
Human being with feelings
Join Date: Mar 2010
Posts: 1,572
|
Seems like the behavior is inconsistent. Some times it doesn't stop recording when I hit the hotkey(O). Other times it stops and does the half loop thing. And sometimes, it doesn't even record and just kind of gets stuck and I have to undo it back to the initial loop.
|
|
|
10-07-2011, 09:08 PM
|
#21
|
Human being with feelings
Join Date: Nov 2008
Location: Toronto, Canada
Posts: 4,630
|
Cool. Reminds me also of "Polar" in Digital Performer. Same function.
Do files save after each pass, or only after you finish the entire loop recording process?
|
|
|
10-07-2011, 09:09 PM
|
#22
|
Human being with feelings
Join Date: Jul 2007
Posts: 619
|
Quote:
Originally Posted by DeyBwah
Seems like the behavior is inconsistent. Some times it doesn't stop recording when I hit the hotkey(O). Other times it stops and does the half loop thing. And sometimes, it doesn't even record and just kind of gets stuck and I have to undo it back to the initial loop.
|
hmmm.... that is odd. i have this installed on two different computers and i don't get any of those issues. maybe there is a difference in preferences in our reaper setups?
well i think i might possibly have a slight idea about the half loop thing. were you punching out in the last bar? reaper's time based actions execute with a slight bit of latency/accuracy. this would cause missed punch in outs in the last bar. so by design i wrote the script to recognize the last bar of the loop and punch out immediately and loop the previous bars. you will also notice when punching in from the last two bars of the loop that the punch in won't start until the beginning of the loop. again, this is on purpose because of the latency with time based actions in reaper.
i guess if the loop you tried to record was only two bars it might have caused this odd behavior maybe? i don't know.
or maybe its the python script that i just threw together today. i'll take a look at it again tommorrow and see if i can spot any odd behavior happening.
Last edited by slops; 10-07-2011 at 09:14 PM.
|
|
|
10-07-2011, 09:34 PM
|
#23
|
Human being with feelings
Join Date: Jul 2007
Posts: 619
|
Quote:
Originally Posted by Kundalinguist
Do files save after each pass, or only after you finish the entire loop recording process?
|
Each take saves after each time you punch out.
|
|
|
10-07-2011, 11:32 PM
|
#24
|
Human being with feelings
Join Date: Mar 2010
Posts: 1,572
|
Quote:
Originally Posted by slops
hmmm.... that is odd. i have this installed on two different computers and i don't get any of those issues. maybe there is a difference in preferences in our reaper setups?
well i think i might possibly have a slight idea about the half loop thing. were you punching out in the last bar? reaper's time based actions execute with a slight bit of latency/accuracy. this would cause missed punch in outs in the last bar. so by design i wrote the script to recognize the last bar of the loop and punch out immediately and loop the previous bars. you will also notice when punching in from the last two bars of the loop that the punch in won't start until the beginning of the loop. again, this is on purpose because of the latency with time based actions in reaper.
i guess if the loop you tried to record was only two bars it might have caused this odd behavior maybe? i don't know.
or maybe its the python script that i just threw together today. i'll take a look at it again tommorrow and see if i can spot any odd behavior happening.
|
I think I understand what you are saying... I'm now hitting the punch out before the measure ends and it seems to be ending it on time(right at the end of the loop).
But just when things felt like they were working, now I'm getting some other quirky behavior. For example, sometimes when I punch out, the last loop I recorded gets moved onto the initial loops track. So I have to select FIPM to see both loops.
Also, right now, I'm noticing that when I try to punch out on my initial loop, it just stops the looping. The playhead doesn't continue to loop.
Let me know if there's anything I can do to help troubleshoot this.
|
|
|
10-07-2011, 11:34 PM
|
#25
|
Human being with feelings
Join Date: Mar 2010
Posts: 1,572
|
Also noticed that upon punching out, it creates 2 new tracks....
|
|
|
10-08-2011, 07:47 AM
|
#26
|
Human being with feelings
Join Date: Sep 2010
Location: Finland
Posts: 776
|
Thanks for translating this to python!
Now, there seems to be some strange quirk with the punch-actions. First loop records ok, but the next time I try to use the realoop script, Reaper freezes. Same thing happens if I only use the punch out custom action manually with the second loop.
|
|
|
10-08-2011, 01:00 PM
|
#27
|
Human being with feelings
Join Date: Jan 2008
Location: Vancouver, BC
Posts: 3,793
|
Having some issues.
If I use the first loop actions the tempo is adjusted, but the item ends up completely faded in, is not a 4 or 8 bar length and the play cursor jumps way out of the loop points (no longer looped).
If I try to use the script I get this error:
Loving how this looks in the video. Once I get it figured out, I'll be a very happy person.
__________________
FRs: v5 Media Explorer Requests, Global Quantization, Session View
Win10 Pro 64-bit, Reaper 6(x64), AMD 3950x, Aorus X570 Master, 64GB DDR4 3600, PowerColor Red Devil 5700XT, EVO 970 2TB, 10TB HD, Define R6
|
|
|
10-08-2011, 01:17 PM
|
#28
|
Human being with feelings
Join Date: Jul 2007
Posts: 619
|
Quote:
Originally Posted by PitchSlap
If I try to use the script I get this error:
Loving how this looks in the video. Once I get it figured out, I'll be a very happy person.
|
hmm, which version of python do you have installed?
you need to have 3.1 installed.
i believe the error message you posted is from python 3.2.
reaper does not work with 3.2 sadly so you have to use python 3.1.
|
|
|
10-08-2011, 02:26 PM
|
#29
|
Human being with feelings
Join Date: Sep 2010
Location: Finland
Posts: 776
|
Ok I solved the reason for the crash on punch out:
SWS: Wait for next bar (if playing) and SWS: Wait for next beat (if playing) are crashing Reaper on OSX.
Reported it on the sws tracker.
Last edited by Seventh; 10-08-2011 at 02:38 PM.
|
|
|
10-08-2011, 02:39 PM
|
#30
|
Human being with feelings
Join Date: Jan 2008
Location: Vancouver, BC
Posts: 3,793
|
Ok, going to 3.1.4 fixed that script error, but I'm still having issues as seen below:
The tempo doesn't change, loop points are not set, and the cursor goes back to the very start...
Any ideas? I probably just screwed on on the instructions somewhere...
__________________
FRs: v5 Media Explorer Requests, Global Quantization, Session View
Win10 Pro 64-bit, Reaper 6(x64), AMD 3950x, Aorus X570 Master, 64GB DDR4 3600, PowerColor Red Devil 5700XT, EVO 970 2TB, 10TB HD, Define R6
|
|
|
10-09-2011, 03:45 PM
|
#31
|
Human being with feelings
Join Date: Mar 2010
Posts: 1,572
|
Maybe it's the version of Python I d/led and installed?
Windows X86-64 MSI Installer (3.1.4)
Is this the right version? It's 64-bit...
|
|
|
10-09-2011, 03:45 PM
|
#32
|
Human being with feelings
Join Date: Mar 2010
Posts: 1,572
|
Quote:
Originally Posted by DeyBwah
Also noticed that upon punching out, it creates 2 new tracks....
|
I realized it isn't creating 2 new tracks, it's moving the recorded loop onto the initial loop's track instead of the new track's loop.
|
|
|
10-09-2011, 03:47 PM
|
#33
|
Human being with feelings
Join Date: Mar 2010
Posts: 1,572
|
Argg I really want this to work!
Such a great idea~!
I was also thinking once it works, it would be great to be able to create different sections seamlessly like Ableton, and then be able to move between the different sections seamlessly.
For example, I would start by creating the beat, the bassline, then vocal motif... then with hotkeys be able to create the next section, layering the loops on that section. And then be able to move between the two sections and freestyle over the top of the two sections live.
Would that be possible? Using markers to go between the two sections?
|
|
|
10-09-2011, 03:49 PM
|
#34
|
Human being with feelings
Join Date: Jan 2008
Posts: 506
|
Quote:
Originally Posted by DeyBwah
I realized it isn't creating 2 new tracks, it's moving the recorded loop onto the initial loop's track instead of the new track's loop.
|
I'm getting similar behavior here (Win7 x64).
|
|
|
10-09-2011, 03:53 PM
|
#35
|
Human being with feelings
Join Date: Mar 2010
Posts: 1,572
|
Question...
After the initial loop, when recording the next loop.. when am I supposed to punch out? Before the last measure ends? If I do that, it doesn't record the last measure and ends up looping the last measure. If I punch AFTER the measure ends, it ends up recording a full measure over the regular loop length and acting really funky.
|
|
|
10-09-2011, 04:08 PM
|
#36
|
Human being with feelings
Join Date: Jul 2010
Posts: 1,268
|
This looks really cool. I think I'll probably wait for the bugs to be worked out til I give it a shot though, but seems really nice.
|
|
|
10-10-2011, 11:16 PM
|
#37
|
Human being with feelings
Join Date: Mar 2010
Posts: 1,572
|
Any updates?
|
|
|
10-11-2011, 01:42 AM
|
#38
|
Human being with feelings
Join Date: Jan 2009
Location: Castlemaine,Australia
Posts: 252
|
Sorry folks...I have win7 32 bit..what is the difference between python and perl....I am not sure which I should be installing.?
Otherwise this looks to good to be true thank you very much
|
|
|
10-11-2011, 08:02 AM
|
#39
|
Human being with feelings
Join Date: Mar 2010
Posts: 1,572
|
Quote:
Originally Posted by Omarkum
Sorry folks...I have win7 32 bit..what is the difference between python and perl....I am not sure which I should be installing.?
Otherwise this looks to good to be true thank you very much
|
Perl works with 32-bit REAPER.
|
|
|
10-11-2011, 08:37 AM
|
#40
|
Human being with feelings
Join Date: Jan 2009
Location: Castlemaine,Australia
Posts: 252
|
Thanks DeyBwah
|
|
|
Thread Tools |
|
Display Modes |
Linear Mode
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT -7. The time now is 09:51 PM.
|