Old 07-04-2015, 02:50 AM   #1
IXix
Human being with feelings
 
Join Date: Jan 2007
Location: mcr:uk
Posts: 3,891
Default Sample accurate param modulation?

I thought I read in some pre thread or other that parameter modulation was going to be/had been changed to work per-sample instead of per-block. Did I dream it?

If I dreamed it, could one of you kind developers turn the dream into reality?
IXix is offline   Reply With Quote
Old 07-04-2015, 07:21 AM   #2
Xenakios
Human being with feelings
 
Xenakios's Avatar
 
Join Date: Feb 2007
Location: Oulu, Finland
Posts: 8,062
Default

That would only work with VST3 and JS plugins. And for both it has to be also implemented by the plugins themselves. Most plugins don't implement it.
__________________
I am no longer part of the REAPER community. Please don't contact me with any REAPER-related issues.
Xenakios is offline   Reply With Quote
Old 07-04-2015, 07:31 AM   #3
IXix
Human being with feelings
 
Join Date: Jan 2007
Location: mcr:uk
Posts: 3,891
Default

Quote:
Originally Posted by Xenakios View Post
That would only work with VST3 and JS plugins. And for both it has to be also implemented by the plugins themselves. Most plugins don't implement it.
So I dreamed it. Stupid dreams.
IXix is offline   Reply With Quote
Old 07-04-2015, 08:39 AM   #4
Xenakios
Human being with feelings
 
Xenakios's Avatar
 
Join Date: Feb 2007
Location: Oulu, Finland
Posts: 8,062
Default

Quote:
Originally Posted by IXix View Post
So I dreamed it. Stupid dreams.
I have a vague recollection it actually is implemented in Reaper 5. Why would they otherwise have made a new version of the JS volume/panner plugin that supports the sample accurate parameter changes...? (JS: Utility/volume_pan_sample_accurate_auto)

However, implemented or not, it's kind of moot considering there are so few plugins that actually support it.
__________________
I am no longer part of the REAPER community. Please don't contact me with any REAPER-related issues.
Xenakios is offline   Reply With Quote
Old 07-04-2015, 09:21 AM   #5
IXix
Human being with feelings
 
Join Date: Jan 2007
Location: mcr:uk
Posts: 3,891
Default

Quote:
Originally Posted by Xenakios View Post
I have a vague recollection it actually is implemented in Reaper 5. Why would they otherwise have made a new version of the JS volume/panner plugin that supports the sample accurate parameter changes...? (JS: Utility/volume_pan_sample_accurate_auto)

However, implemented or not, it's kind of moot considering there are so few plugins that actually support it.
Yeah, JS got sample accurate automation. I thought I read something about PM but I might have been mistaken and it was ages ago. Perhaps it was just someone else asking for sample accurate PM and my failing brain misinterpreted the memory.
IXix is offline   Reply With Quote
Old 07-04-2015, 09:40 AM   #6
Xenakios
Human being with feelings
 
Xenakios's Avatar
 
Join Date: Feb 2007
Location: Oulu, Finland
Posts: 8,062
Default

Ah crap, in the "best" Reaper tradition automation envelopes and parameter modulation do not seem to work the same. Sigh. They should really be the same thing...They are both about modulating parameter values as a function of time!

So, the JS: Utility/volume_pan_sample_accurate_auto seems to work with sample accurate automation when using envelopes, but not with parameter modulation. What a disappointment. OTOH, it's not like the parameter modulation in Reaper has ever been a real champion anyway.
__________________
I am no longer part of the REAPER community. Please don't contact me with any REAPER-related issues.
Xenakios is offline   Reply With Quote
Old 07-04-2015, 12:48 PM   #7
kenz
Human being with feelings
 
Join Date: Aug 2013
Posts: 339
Default

I used to want it like you, but then I realized why most plugins don't support it.

Most of them have parameters that usually involve a larger period of time, and can sound pretty bad if the difference between two "parameter values" is too high (e.g phasing problems).

Well, smoothing the signal is one way but then what's the point of it being sample accurate? They already smooth the parameter changes when it's not sample accurate (at least the better plugins) so changes don't sound abrupt at all.


But for fine control on the output make sure you use a buffer size of 32 samples (seems to be the minimum) when rendering Offline.

If you want more, use a higher sample rate (if the plugin supports it), e.g 192khz with 32 buffer size downsampled to 48000Hz, the parameter change resolution will effectively be 8 samples which IMO is more than enough. Don't worry about resampling, if you use a high quality resampler or an integer multiple of the samplerate (192khz is 4 times 48khz, so it fits).
kenz is offline   Reply With Quote
Old 07-20-2016, 10:05 AM   #8
ashcat_lt
Human being with feelings
 
Join Date: Dec 2012
Posts: 7,293
Default

I'm bringing this back up again because I do want it, and I want it really badly. I really don't care if you don't think it's a good idea, I'm willing to risk the consequences.

It's the last step in the puzzle of trying to make a decent CV system work in Reaper, and I can't really understand why it's that hard.
ashcat_lt is offline   Reply With Quote
Old 07-20-2016, 12:46 PM   #9
Justin
Administrator
 
Justin's Avatar
 
Join Date: Jan 2005
Location: NYC
Posts: 15,737
Default

FWIW, parameter modulation and sample accurate automation is somewhat improved, in that for each block it gives it a start and end value...
Justin is offline   Reply With Quote
Old 07-20-2016, 03:43 PM   #10
ashcat_lt
Human being with feelings
 
Join Date: Dec 2012
Posts: 7,293
Default

Quote:
Originally Posted by Justin View Post
FWIW, parameter modulation and sample accurate automation is somewhat improved, in that for each block it gives it a start and end value...
I'm not sure what that means, or how it helps, but I can say that it's still got stair steps and is extremely limited. Is there a good reason that PM can't be actually sample accurate?
ashcat_lt is offline   Reply With Quote
Old 07-21-2016, 12:21 AM   #11
Tale
Human being with feelings
 
Tale's Avatar
 
Join Date: Jul 2008
Location: The Netherlands
Posts: 3,652
Default

Quote:
Originally Posted by ashcat_lt View Post
I'm not sure what that means, or how it helps, but I can say that it's still got stair steps and is extremely limited. Is there a good reason that PM can't be actually sample accurate?
Well, I think that for each stair step it gives you the start and end values. If you don't do anything special, then you end up using the start value all through the block, hence the sudden step to the next block. But if you interpolate between the start and end values, then you will get a more smooth transition. Do note that this is not really "sample accurate", but for most purposes this should work just fine.
Tale is online now   Reply With Quote
Old 07-21-2016, 08:58 AM   #12
ashcat_lt
Human being with feelings
 
Join Date: Dec 2012
Posts: 7,293
Default

It's not giving me anything! It's just moving the slider whenever it feels like to. There's no "start" or "end" values, just wherever it put the slider the last time it updated. I'm well aware of the fact that I can write smoothing filters into my own plugins, but what about other people's? What if one of the things I want to do is add a smoothing filter to the control signal before it gets to a plugin that can't smooth for itself?

Worse is that this whole thing limits the bandwidth of my control signals. Sometimes I do in fact want to run audio-rate modulations, but it just can't get there. It either aliases hard or the filter means that as the modulator's frequency increases, its amplitude decreases. Neither of those are acceptable. Edit - actually, no. PM is going to alias before I can smooth it, so...

Come on. We know this has to happen eventually.

Last edited by ashcat_lt; 07-21-2016 at 09:05 AM.
ashcat_lt is offline   Reply With Quote
Old 07-21-2016, 09:40 AM   #13
EpicSounds
Human being with feelings
 
EpicSounds's Avatar
 
Join Date: Jul 2009
Posts: 7,592
Default

Quote:
Originally Posted by Justin View Post
FWIW, parameter modulation and sample accurate automation is somewhat improved, in that for each block it gives it a start and end value...
would it be possible to convert param mod to track or item automation?
__________________
REAPER Video Tutorials, Tips & Tricks and more at The REAPER Blog
EpicSounds is offline   Reply With Quote
Old 07-21-2016, 09:55 AM   #14
ashcat_lt
Human being with feelings
 
Join Date: Dec 2012
Posts: 7,293
Default

Quote:
Originally Posted by EpicSounds View Post
would it be possible to convert param mod to track or item automation?
If you put the envelope in one of the write (latch, etc) modes, it will follow the PM and "record" what it does. PM is still spitting out stair steps, though, and it's really just all wonky.
ashcat_lt is offline   Reply With Quote
Old 07-21-2016, 11:26 AM   #15
EpicSounds
Human being with feelings
 
EpicSounds's Avatar
 
Join Date: Jul 2009
Posts: 7,592
Default

Quote:
Originally Posted by ashcat_lt View Post
If you put the envelope in one of the write (latch, etc) modes, it will follow the PM and "record" what it does. PM is still spitting out stair steps, though, and it's really just all wonky.
I think write mode only, but that's an amazing tip!
__________________
REAPER Video Tutorials, Tips & Tricks and more at The REAPER Blog
EpicSounds is offline   Reply With Quote
Old 07-21-2016, 01:37 PM   #16
hamish
Human being with feelings
 
hamish's Avatar
 
Join Date: Sep 2007
Location: The Reflection Free Zone
Posts: 3,026
Default

Quote:
Sometimes I do in fact want to run audio-rate modulations, but it just can't get there.
This would be so amazing for JSFX, because then modular synthesis in a track FX chain would take a huge leap.

Tale, for example we could get FM synthesis just modulating one instance of mono_synth with another.
hamish is offline   Reply With Quote
Old 07-21-2016, 03:09 PM   #17
ashcat_lt
Human being with feelings
 
Join Date: Dec 2012
Posts: 7,293
Default

Quote:
Originally Posted by hamish View Post
This would be so amazing for JSFX, because then modular synthesis in a track FX chain would take a huge leap.

Tale, for example we could get FM synthesis just modulating one instance of mono_synth with another.
My vision is to use the audio engine to implement a Control Voltage system. We'll be able to mix modulators, and even run them through audio plugins (ReaComp comes to mind right off the bat) and then use them to wiggle whatever parameters on whatever plugs we want. It's actually super simple, and really works pretty well for slower controller changes on smoothed parameters already, but I would love to have that speed limit lifted.
ashcat_lt is offline   Reply With Quote
Old 08-07-2016, 10:24 AM   #18
ashcat_lt
Human being with feelings
 
Join Date: Dec 2012
Posts: 7,293
Default

It just seems to me like it's almost more important for PM to be sample accurate than the Envelopes. I guess it's mostly because PM is more likely to be reacting to real-time input. You might say "but we're sometimes writing envelopes in real time," and I'd say like above: "How are you writing that envelope?" If it's following PM, then it ain't sample accurate. Is MIDI Learn via the Control Path sample-accurate? That could change things a bit, but now we need a plugin that can convert audio to MIDI CCs at a sample rate (can that work?) AND that Midi to Control Path plug.

With PM we can skip all that. ATM we need only one plugin that wiggles a slider based on the audio input and then you Link that to whatever else you want. It would be super awesome if we could get a "CV mode" in PM itself! Then we wouldn't need any extra plugs at all. The Audio Envelope option is full-wave rectified, has a -60db floor, and is all curvy. We don't need any of that, nor the A/R controls, for this. Just take the raw input between -1 and 1, and map it from 0 to 100% on the control. The range, polarity, and baseline controls would be nice to have, but not completely necessary. The bezier curve would pretty really nice, too. Basically, just throw out all of the time smearing and "signal conditioning" and leave the scaling stuff.
ashcat_lt is offline   Reply With Quote
Old 12-18-2020, 08:43 AM   #19
timbralzoom
Human being with feelings
 
timbralzoom's Avatar
 
Join Date: Apr 2010
Location: Turkey/Istanbul
Posts: 1,820
Default

4 years later .. bah!

today i hit this non-sample accurate PM wall hard
REA boy first time made me upset in serious manner
while i was trying to make this setup

https://drive.google.com/file/d/13B8...ew?usp=sharing

i wish was already implemented.
_
timbralzoom is offline   Reply With Quote
Old 12-18-2020, 01:27 PM   #20
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,773
Default

I am not sure if this is even possible, given the current VST specs.

Audio is fed to the plugin in chunks of blocks. hence a parameter value modification would need to be fed to the plugin together with the sample number it should be applied. But AFAIK, the VST spec does not provide this value.

-Michael
mschnell is online now   Reply With Quote
Old 12-18-2020, 01:36 PM   #21
EvilDragon
Human being with feelings
 
EvilDragon's Avatar
 
Join Date: Jun 2009
Location: Croatia
Posts: 24,798
Default

It's totally possible with VST3, if the plugin implements it.
EvilDragon is online now   Reply With Quote
Old 12-18-2020, 02:15 PM   #22
ashcat_lt
Human being with feelings
 
Join Date: Dec 2012
Posts: 7,293
Default

Yeah it’s not necessarily Reaper’s fault, but AFAIK even the VST3 spec isn’t really designed for the DAW to actually tell the plugin what value it should use for every single sample. I’m not an expert, but I think it is intended to tell it where to be at some specific time and maybe something about how to get there, but it’s then up to the plugin to interpret and implement that information. A dev explained it to me at some point, so I stopped bitching about it. The best way to get truly sample accurate automation is if the plugin has an actual audio input dedicated to control messages, but of course that precludes or at least complicated the use of actual envelopes and PM.

We do now have the option to set an alternate buffer block size for offline renders, and setting that to 1 can accomplish sample-accuracy. Obvious issue with that being you can’t hear it before you render, and if it’s not what you want, you have keep shooting in the dark and re-rendering until you get it.

Last edited by ashcat_lt; 12-18-2020 at 06:58 PM.
ashcat_lt is offline   Reply With Quote
Old 12-18-2020, 06:54 PM   #23
timbralzoom
Human being with feelings
 
timbralzoom's Avatar
 
Join Date: Apr 2010
Location: Turkey/Istanbul
Posts: 1,820
Default

uhmm..

if i get it correctly from what i read here,
improving the PM sample accurate topic seems way more complex than i dreamed.

Thank you for all the information guys,
learned some new things! but i didn't like though
timbralzoom is offline   Reply With Quote
Old 12-19-2020, 12:46 AM   #24
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,773
Default

Quote:
Originally Posted by EvilDragon View Post
It's totally possible with VST3, if the plugin implements it.
What does the spec say ?
Do you know whether Reaper support this ?
I suppose it's nor really viable with envelope ramps.

-Michael

Last edited by mschnell; 12-19-2020 at 12:55 AM.
mschnell is online now   Reply With Quote
Old 12-19-2020, 12:48 AM   #25
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,773
Default

Quote:
Originally Posted by ashcat_lt View Post
the VST3 spec isn’t really designed for the DAW to actually tell the plugin what value it should use for every single sample.
Supposedly this would result in a crazy amount of data.
-Michael
mschnell is online now   Reply With Quote
Old 12-21-2020, 07:27 AM   #26
nofish
Human being with feelings
 
nofish's Avatar
 
Join Date: Oct 2007
Location: home is where the heart is
Posts: 12,107
Default

Quote:
Originally Posted by mschnell View Post
What does the spec say ?
Do you know whether Reaper support this ?
I suppose it's nor really viable with envelope ramps.

-Michael
Quote:
Originally Posted by Steinberg
Sample-accurate automation

VST3 also features vastly improved parameter automation with sample accuracy and support for ‘ramped’ automation data, allowing completely accurate and rapid parameter automation changes.
https://www.steinberg.net/en/company...gies/vst3.html
nofish is offline   Reply With Quote
Old 12-23-2020, 03:25 PM   #27
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,773
Default

Interesting...

How do they do this ?

I suppose in fact the parameter data would need to be transferred very similar to audio streams to support such features.

-Michael
mschnell 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 12:58 AM.


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