Old 12-01-2018, 09:14 AM   #1
pandabot
Human being with feelings
 
pandabot's Avatar
 
Join Date: Oct 2018
Posts: 367
Default copy and paste rhythm

These scripts are for copy/pasting rhythm information to Media Items, leaving pitches intact



You can install it using ReaPack, search for "Copy and paste rhythm"
pandabot is offline   Reply With Quote
Old 12-01-2018, 10:55 AM   #2
mehmethan
Human being with feelings
 
mehmethan's Avatar
 
Join Date: Jun 2011
Posts: 603
Default

Thank you so much, very nice. I tried the script but sometimes it misses the rhythm pattern when pasting.
mehmethan is offline   Reply With Quote
Old 12-01-2018, 11:12 AM   #3
pandabot
Human being with feelings
 
pandabot's Avatar
 
Join Date: Oct 2018
Posts: 367
Default

Can you provide some more information? I'm not sure what behavior you're seeing
pandabot is offline   Reply With Quote
Old 12-01-2018, 01:06 PM   #4
nofish
Human being with feelings
 
nofish's Avatar
 
Join Date: Oct 2007
Location: home is where the heart is
Posts: 12,096
Default

Nice one, thanks for sharing.

Reminds me of this older JSFX which seems like a similar approach (just in realtime)
https://forum.cockos.com/showthread.php?t=179340
nofish is offline   Reply With Quote
Old 12-03-2018, 11:45 PM   #5
Ivannn Bennnettt
Human being with feelings
 
Join Date: Feb 2017
Posts: 305
Default

Thank you much!
It'll be definitely useful👍
Ivannn Bennnettt is offline   Reply With Quote
Old 04-09-2020, 08:25 PM   #6
TonE
Human being with feelings
 
Join Date: Feb 2009
Location: Reaper HAS send control via midi !!!
Posts: 4,031
Default

Thanks for sharing. Not tested yet.
TonE is offline   Reply With Quote
Old 05-09-2020, 04:42 PM   #7
Stimulus
Human being with feelings
 
Join Date: Nov 2016
Posts: 251
Default

Sorry, new to this.

I have installed ReaPack and found Copy and Paste Rhythm. Found the action. Not sure what to do next?

Thanks!

Last edited by Stimulus; 05-09-2020 at 05:20 PM.
Stimulus is offline   Reply With Quote
Old 05-09-2020, 06:00 PM   #8
pandabot
Human being with feelings
 
pandabot's Avatar
 
Join Date: Oct 2018
Posts: 367
Default

You can assign both actions to shortcuts, in the above animation you can see I assigned the "copy rhythm" action to ctrl-c and the "paste rhythm" action to ctrl-v. After that you can select a midi item whose rhythm you want to copy and then paste it on another midi item
pandabot is offline   Reply With Quote
Old 05-19-2020, 09:05 AM   #9
hectorolh
Human being with feelings
 
Join Date: Dec 2017
Posts: 1
Default

Hey Pandabot, great script. I had a few issues that I try to explain in a (shaky) video.

https://youtu.be/TZdJWsdw8M4
hectorolh is offline   Reply With Quote
Old 05-19-2020, 10:27 AM   #10
pandabot
Human being with feelings
 
pandabot's Avatar
 
Join Date: Oct 2018
Posts: 367
Default

I think that first issue is because the midi item is larger than what it appears to be, you're seeing the visible bounds but if you extended it by dragging the edges you'd see there is more stuff in there. If you glue it then the item gets cropped to what the visible bounds are so then it behaves like you'd expect. I'm not sure if there is a way to distinguish between just the visible parts of midi items in the ReaScript API so you wouldn't have to glue when necessary, these scripts currently operate on the entire midi item.

That second issue is because it grabs the nearest note pitch based on starting position, that's why halfway past the chord it starts grabbing the one on the right. However it might make more sense to always grab from the left when it's available, I'll take a look
pandabot is offline   Reply With Quote
Old 05-19-2020, 03:05 PM   #11
pandabot
Human being with feelings
 
pandabot's Avatar
 
Join Date: Oct 2018
Posts: 367
Default

Okay I agree with you, looking for the pitches on the left matches expectations better. You can update to version 1.1 in Reapack for the new behavior
pandabot is offline   Reply With Quote
Old 05-20-2020, 10:03 AM   #12
Perken
Human being with feelings
 
Perken's Avatar
 
Join Date: May 2019
Location: Los Angeles / God forbid…
Posts: 191
Default

This is really great, I’m using this to paste human interpretations from one part to the others of my virtual orchestra: that way the ensemble sounds cohesive and alive without having to re-record each part. Thank you so much for this script !
Perken is offline   Reply With Quote
Old 05-20-2020, 01:26 PM   #13
TonE
Human being with feelings
 
Join Date: Feb 2009
Location: Reaper HAS send control via midi !!!
Posts: 4,031
Default

Thanks Perken for giving use case descriptions.
TonE is offline   Reply With Quote
Old 05-21-2020, 06:54 AM   #14
SoaSchas
Human being with feelings
 
Join Date: May 2020
Posts: 12
Default

Nice script Pandabot. But I am curious. Could this also be enhanced to support arp rhytms?
So that one can write the arppegiated rhytm once and copy / paste it on chords.
SoaSchas is offline   Reply With Quote
Old 05-21-2020, 08:02 PM   #15
pandabot
Human being with feelings
 
pandabot's Avatar
 
Join Date: Oct 2018
Posts: 367
Default

I looked into that, I thought it would be cool if it worked for arpeggiated rhythms and complicated fingerpicking guitar patterns where there are overlapping drone notes and different things like that. It turned out to be a more difficult problem than I was willing to solve, so this thing only works on lead lines and chords where all the notes start at the same time. That's all I really needed anyway, so didn't want to procrastinate from my own music too much more. It would be cool if someone else made a better version that did that though
pandabot is offline   Reply With Quote
Old 05-22-2020, 01:07 AM   #16
TonE
Human being with feelings
 
Join Date: Feb 2009
Location: Reaper HAS send control via midi !!!
Posts: 4,031
Default

In my short testing I could see this is mainly taking care of the gaps, making sure those matching the copied version, I guess. This was my discovery and thinking while testing at least.
TonE is offline   Reply With Quote
Old 05-24-2020, 02:37 AM   #17
SoaSchas
Human being with feelings
 
Join Date: May 2020
Posts: 12
Default

Quote:
Originally Posted by pandabot View Post
I looked into that, I thought it would be cool if it worked for arpeggiated rhythms and complicated fingerpicking guitar patterns where there are overlapping drone notes and different things like that. It turned out to be a more difficult problem than I was willing to solve, so this thing only works on lead lines and chords where all the notes start at the same time. That's all I really needed anyway, so didn't want to procrastinate from my own music too much more. It would be cool if someone else made a better version that did that though
Ah ok I see.
I agree that you should´t neglect your music. It´s the most important for all of us.
Also I found a vst in the meantime which basically does this kind of stuff.
It´s called Kameleono if anyone is interrested.
But thanks for the script anyways. I still have use cases for it.
SoaSchas is offline   Reply With Quote
Old 05-25-2020, 03:04 AM   #18
Reflected
Human being with feelings
 
Reflected's Avatar
 
Join Date: Jul 2009
Posts: 3,294
Default

Hey panda,
I was wondering if you can also create a script to copy paste Midi Velocities without effecting anything else

inside the midieditor will be even cooler
?
Reflected is offline   Reply With Quote
Old 05-25-2020, 05:28 AM   #19
TonE
Human being with feelings
 
Join Date: Feb 2009
Location: Reaper HAS send control via midi !!!
Posts: 4,031
Default

Quote:
Originally Posted by SoaSchas View Post
Also I found a vst in the meantime which basically does this kind of stuff.
It´s called Kameleono if anyone is interrested.
But thanks for the script anyways. I still have use cases for it.
This is what midi vocoder does as well. See link of nofish above.
TonE is offline   Reply With Quote
Old 05-25-2020, 10:48 AM   #20
pandabot
Human being with feelings
 
pandabot's Avatar
 
Join Date: Oct 2018
Posts: 367
Default

Quote:
Originally Posted by Reflected View Post
Hey panda,
I was wondering if you can also create a script to copy paste Midi Velocities without effecting anything else

inside the midieditor will be even cooler
?
I'm not interested in creating that script but this one does take velocity into account as part of the rhythm, so the note velocities of the original item will be pasted into the new item with everything the same besides the pitch
pandabot is offline   Reply With Quote
Old 06-23-2021, 10:45 AM   #21
TonE
Human being with feelings
 
Join Date: Feb 2009
Location: Reaper HAS send control via midi !!!
Posts: 4,031
Default

And pitch is the least important information regarding rhythm. Timing and velocity variations are giving mainly the feeling. Which is your tool dealing with. Great.
TonE is offline   Reply With Quote
Old 06-24-2021, 02:38 AM   #22
Vagelis
Human being with feelings
 
Vagelis's Avatar
 
Join Date: Oct 2017
Location: Larisa, Greece
Posts: 3,795
Default

Cool script,thanks!
Vagelis is offline   Reply With Quote
Old 07-17-2023, 10:11 PM   #23
Perken
Human being with feelings
 
Perken's Avatar
 
Join Date: May 2019
Location: Los Angeles / God forbid…
Posts: 191
Default

I was just thinking of this functionality this morning, and made a mod.

This version doesn't require a copy script - only the paste script. Just copy an item, select another item and call pasteRhythmToPitches.lua
Here's where you can find it

PS: I just looked up the thread and realized I had posted here three years ago. In the meantime, I learned to code
Perken is offline   Reply With Quote
Old 08-18-2023, 03:03 AM   #24
PitchSlap
Human being with feelings
 
PitchSlap's Avatar
 
Join Date: Jan 2008
Location: Vancouver, BC
Posts: 3,792
Default

Quote:
Originally Posted by pandabot View Post
These scripts are for copy/pasting rhythm information to Media Items, leaving pitches intact
Quote:
Originally Posted by Perken View Post
I was just thinking of this functionality this morning, and made a mod.

This version doesn't require a copy script - only the paste script. Just copy an item, select another item and call pasteRhythmToPitches.lua
Here's where you can find it

PS: I just looked up the thread and realized I had posted here three years ago. In the meantime, I learned to code
Thanks guys!
Looking forward to trying this.

I've always wanted a way to do this and am glad I was able to find it.
It's a bit similar to the concept of "harmonic rhythm".

An idea might be to compile a track of MIDIs with different rhythms which could be saved in a project/track template (hidden if preferred), then the rhythms are always easily available.
__________________
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
PitchSlap is offline   Reply With Quote
Old 12-13-2023, 12:04 PM   #25
elcalen
Human being with feelings
 
elcalen's Avatar
 
Join Date: Sep 2019
Location: Finland
Posts: 754
Default

Hiya. This is a pretty nifty little script. I've had it on my toolbar for a while, although I haven't yet actually had an occasion to use it...

The one "issue" I see with it is, it really only works well when the source and target items are of equal length. I think it could be quite useful if it could repeat the pattern in cases where the source item is shorter than the target item.

I fully realize this might be too much work for you to implement. Still, could be a fun little scripting challenge if someone feels up to it... (A little beyond my own skills, I'm afraid.)
__________________
Artist name Ben Enkindle. Making electronic music exclusively with Linux software.
elcalen is online now   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 02:45 AM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.