Go Back   Cockos Incorporated Forums > REAPER Forums > REAPER Feature Requests

Reply
 
Thread Tools Display Modes
Old 05-18-2017, 06:37 AM   #1
DeBased
Human being with feelings
 
DeBased's Avatar
 
Join Date: Jun 2010
Location: UK
Posts: 412
Default per-plugin instance Tempo manipulation

I like syncing delays to tempo, but I hate hard-syncing, I like them to drift off the beat slightly. Unfortunately none of the delay plugs I've seen support this.

I can set delay times manually to achieve this effect, but I need these to follow tempo automation (or just future tempo changes), including for live use where I may floor-tap a different tempo each night. So it would be much better if Reaper could 'lie' to a plugin instance with a modified tempo value to achieve this drift. That way all tempo-syncing plugins (not just delays) could be sync-drift enabled, and keep that feel across any tempo changes automatically.

Each plugin instance would get these Tempo Mod options:

- relative: bpm scale (eg. 0.95x)
- absolute: bpm offset (eg. -10 bpm)
- absolute: millisecond offset (eg. +50ms)

These mods would be applied to the current project tempo in real-time, and reported this way to the plugin.
__________________
Reaper5, Win10Pro, Ryzen 5950x/64GB, RME UFX/BabyFace Pro, Behringer X-Touch
- my true 'global' (project-tab independent) Send/Receive FX
- my Behringer X-touch mods + XCtrl mode for CSI (coloured scribble strips!)

Last edited by DeBased; 05-19-2017 at 09:02 AM.
DeBased is offline   Reply With Quote
Old 05-18-2017, 06:37 AM   #2
Jae.Thomas
Human being with feelings
 
Join Date: Jun 2006
Posts: 22,572
Default

seems like a great idea for this type of thing. perhaps like a midi plugin?
Jae.Thomas is offline   Reply With Quote
Old 05-18-2017, 06:41 AM   #3
DeBased
Human being with feelings
 
DeBased's Avatar
 
Join Date: Jun 2010
Location: UK
Posts: 412
Default

I looked into that a while ago. Plugs don't get the tempo from MIDI, but from the VST interface directly, so it cannot be modified by 3rd parties.

I actually coded the JSFX to modify the current tempo value and calculate a modified millisecond value to apply to a delay's 'time' parameter. The problem there is that effect parameters are usually in normalized 0.0 - 1.0 range (ie. not in milliseconds) and also typically use a non-linear range (to make their GUI dials nicer to use). So mapping my MS value to the parameter is tricky, it would have to be reverse-engineered for each plugin (as they all use different MS ranges and curves), so it's not a universal solution.

Modifying the tempo would 'just work' for everything.
__________________
Reaper5, Win10Pro, Ryzen 5950x/64GB, RME UFX/BabyFace Pro, Behringer X-Touch
- my true 'global' (project-tab independent) Send/Receive FX
- my Behringer X-touch mods + XCtrl mode for CSI (coloured scribble strips!)

Last edited by DeBased; 05-18-2017 at 07:50 AM. Reason: (confirmed)
DeBased is offline   Reply With Quote
Old 05-18-2017, 07:27 AM   #4
Judders
Human being with feelings
 
Join Date: Aug 2014
Posts: 11,052
Default

Soundtoys' Echoboy has shuffle/swing and rushing/dragging knobs that you can use as well as sync'ing to tempo.

Is that the kind of thing you're after?
Judders is offline   Reply With Quote
Old 05-18-2017, 07:36 AM   #5
DeBased
Human being with feelings
 
DeBased's Avatar
 
Join Date: Jun 2010
Location: UK
Posts: 412
Default

Unfortunately not. IIRC Shuffle/swing changes the gaps between alternating repeats (I don't usually use it), but it doesn't change the timing overall (ie. even repeats might happen faster, but odds happen later to compensate).

'Feel' just affects the first delay, all repeats after are still hard-synced to tempo (saying that it's really handy too).

What I need is that the tempo is slightly different, that causes each repeat to drift a little more than the previous one. Basically like setting a time value that's slightly longer or shorter than it should be for sync (easy to do manually, but it doesn't follow tempo changes correctly).
__________________
Reaper5, Win10Pro, Ryzen 5950x/64GB, RME UFX/BabyFace Pro, Behringer X-Touch
- my true 'global' (project-tab independent) Send/Receive FX
- my Behringer X-touch mods + XCtrl mode for CSI (coloured scribble strips!)
DeBased is offline   Reply With Quote
Old 05-18-2017, 07:45 AM   #6
Judders
Human being with feelings
 
Join Date: Aug 2014
Posts: 11,052
Default

Quote:
Originally Posted by DeBased View Post
Unfortunately not. IIRC Shuffle/swing changes the gaps between alternating repeats (I don't usually use it), but it doesn't change the timing overall (ie. even repeats might happen faster, but odds happen later to compensate).

'Feel' just affects the first delay, all repeats after are still hard-synced to tempo (saying that it's really handy too).

What I need is that the tempo is slightly different, that causes each repeat to drift a little more than the previous one. Basically like setting a time value that's slightly longer or shorter than it should be for sync (easy to do manually, but it doesn't follow tempo changes correctly).
Hmmm... I'm really surprised no-one has thought to include this in a plugin!

If you want it later you could add a sample delay before a delay plugin on an aux channel. Not sure how you'd get it sooner...
Judders is offline   Reply With Quote
Old 05-18-2017, 07:48 AM   #7
DeBased
Human being with feelings
 
DeBased's Avatar
 
Join Date: Jun 2010
Location: UK
Posts: 412
Default

Yeah right? It seems so obvious to me, I never liked hard-sync'ed delays.

Adding an extra delay before the main delay plug is what Echoboy's 'Feel' param essentially does, but it's not the same thing as all the remaining repeats are still hard-sync'ed, ie. the gaps between them are still at exactly the project tempo, the whole lot are just shifted slightly by the extra initial delay.
__________________
Reaper5, Win10Pro, Ryzen 5950x/64GB, RME UFX/BabyFace Pro, Behringer X-Touch
- my true 'global' (project-tab independent) Send/Receive FX
- my Behringer X-touch mods + XCtrl mode for CSI (coloured scribble strips!)
DeBased is offline   Reply With Quote
Old 05-18-2017, 07:57 AM   #8
Judders
Human being with feelings
 
Join Date: Aug 2014
Posts: 11,052
Default

Just tried Waves Supertap, and it seems like this behaves the way you'd want.

You can set the taps to the grid, then set them to free and make small changes and these changes move proportionally to tempo changes.
Judders is offline   Reply With Quote
Old 05-18-2017, 12:16 PM   #9
DeBased
Human being with feelings
 
DeBased's Avatar
 
Join Date: Jun 2010
Location: UK
Posts: 412
Default

Quote:
Originally Posted by Judders View Post
Just tried Waves Supertap, and it seems like this behaves the way you'd want.

You can set the taps to the grid, then set them to free and make small changes and these changes move proportionally to tempo changes.
Cool, I'll have to check that out. But manually adjusting each tap is too much work, and I really want to use my preferred delays - so I've just reverse-engineered their time parameter dials, and can now do what I want with my JSFX plugin (for 3 plugs so far, including ReaDelay, Echoboy and Guitar Rig 5's QuadDelay). Let me know if anyone wants to try it.

But yeah, having per-plugin instance tempo modification in Reaper would enable this for any tempo-syncing plugin.
__________________
Reaper5, Win10Pro, Ryzen 5950x/64GB, RME UFX/BabyFace Pro, Behringer X-Touch
- my true 'global' (project-tab independent) Send/Receive FX
- my Behringer X-touch mods + XCtrl mode for CSI (coloured scribble strips!)
DeBased is offline   Reply With Quote
Old 05-19-2017, 02:07 AM   #10
Judders
Human being with feelings
 
Join Date: Aug 2014
Posts: 11,052
Default

Quote:
Originally Posted by DeBased View Post
Cool, I'll have to check that out. But manually adjusting each tap is too much work, and I really want to use my preferred delays - so I've just reverse-engineered their time parameter dials, and can now do what I want with my JSFX plugin (for 3 plugs so far, including ReaDelay, Echoboy and Guitar Rig 5's QuadDelay). Let me know if anyone wants to try it.

But yeah, having per-plugin instance tempo modification in Reaper would enable this for any tempo-syncing plugin.
Yeah man, that would be cool!
Judders is offline   Reply With Quote
Old 05-19-2017, 08:59 AM   #11
DeBased
Human being with feelings
 
DeBased's Avatar
 
Join Date: Jun 2010
Location: UK
Posts: 412
Default

In the meantime I've got my workaround JS script doing this with 4 reverse-engineered delay plugins: http://forum.cockos.com/showthread.php?p=1846538
__________________
Reaper5, Win10Pro, Ryzen 5950x/64GB, RME UFX/BabyFace Pro, Behringer X-Touch
- my true 'global' (project-tab independent) Send/Receive FX
- my Behringer X-touch mods + XCtrl mode for CSI (coloured scribble strips!)
DeBased is offline   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 09:05 PM.


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