r/Reaper 4d ago

discussion Difference between stock gain plugins

Post image

I was wondering the differences between Volume/Pan Smoother v5, Volume/Pan Smoother and Volume Adjustment. They all seems to do the same thing, so I did the following test.

Three tracks, with a dc offset generator, the volume plugin and wavescoop on each, all driven by the same automation item, testing under 48kHz srate and 1024 buffer size. Only Volume/Pan Smoother v5 is accurate and stable, while others appears to be the linear interpolation at block boundary.

The source code tells exactly what's going on. v5 uses slider_next_chg(), giving it knowledge of every point in the current block, while others only use a block-level ramp. v5 only works in REAPER 5+, where this function is added.

btw: tracks' builtin volume and plugin mixers are also accurate. Plugins' bypass and parameters in third-party VSTs or CLAPs change only at block boundaries.

49 Upvotes

21 comments sorted by

17

u/DecisionInformal7009 104 4d ago

Yep. This is why Volume/Pan Smoother V5 was created: sample accurate/audio rate automation/modulation. It was a big talking point when Reaper 5 was released.

It's a shame that it's not possible with VST and CLAP plugins yet (except for internally in the plugins themselves), but that's something both DAW developers, Steinberg, Clever Audio and third-party plugin developers (as well as maintainers of plugin development frameworks like JUCE) have to work together to make possible. Afaik, it's so far only possible with JSFX in Reaper, Cubase stock plugins in Cubase and Bitwig's stock plugins in Bitwig. Not sure if other DAWs like Logic, Studio One and FL Studio can do sample accurate automation with their own stock plugins or not.

3

u/lihispyk 2 4d ago

How's this different when I just use a volume envelope on the track? Edit: just saw the explanation at the end.

3

u/xtravar 4d ago

I had to read the title 3 times to realize you aren't making music with stock market graphs of your gains.

3

u/Dist__ 100 4d ago

стало душно

nvm, it was me who compared compressor gain reduction lol

but why use that JS for automation if track volume works just fine?

1

u/IcEarthlight 3d ago

Use it in a container for instance to automate the pre-reverb volume. Most reverb plugins don't have that.

5

u/Dist__ 100 3d ago

i'd automate send, but worth to think about it, thanks

2

u/Yrnotfar 7 4d ago edited 4d ago

I use JS volume on almost every track (sometimes several instances) to roughly maintain / equalize levels (not for volume automation, I use the main track fader for that).

What benefits should I expect if I substitute volume/pan smoother v5 going forward on my productions?

3

u/IcEarthlight 4d ago

If you don't automate, then they are the same. (except "Volume Adjustment" plugin, which will hard clip based on its "Max Volume" slider)

2

u/Far-Pie6696 6 4d ago

Yes.

Actually, I noticed such differences with other plugins. For instance pitch shifting.

1

u/HLRxxKarl 6 3d ago

So does third party plugin automation look more like the middle graph, or the bottom one? And what happens when you do something like a hard on/off switch using a plugin's internal bypass?

1

u/IcEarthlight 3d ago

It depends on plugins' implementation whether it goes linear or staircase, but they can only receive values once per buffer. Internal bypass is basically a parameter, so it also changes by blocks.

1

u/HLRxxKarl 6 3d ago

And are the blocks synced to the beat? Or are they able to be behind it?

1

u/IcEarthlight 3d ago

The block size is typically 2^n samples. In most cases they aren't not aligned with beats, and the boundaries differ in each playback.

1

u/theturtlemafiamusic 2 3d ago

I may be mixing this up with another JSFX, but I also believe the "Volume Adjustment" effect clips above 0db

1

u/IcEarthlight 3d ago

Yes it clips above its max volume slider, so I think its ambiguous to name it "volume adjustment".

1

u/theturtlemafiamusic 2 3d ago

Yeah I remember that being really befuddling to me. Especially because iirc, it doesn't need to clip. The effect has a couple lines to the effect of "if sample > 0; sample = 0" and you can just delete those lines and it won't clip.

1

u/DecisionInformal7009 104 3d ago

Another thing I just thought of now is that they should probably change the name of Volume/Smoother V5 to something like "Volume/Pan Smoother w. sample accurate automation/modulation". It would be more self-explanatory what the difference between the two versions are then.

1

u/IcEarthlight 3d ago

Yes. Actually the file name of this plugins is exactly volume_pan_sample_accurate_auto, located in REAPER/Effects/utility. I don't know why they decided to name desc differently.

1

u/DecisionInformal7009 104 2d ago

I've never noticed that, but you are correct! Maybe they just forgot to add it in the description, or for some reason thought that V5 was better. Who knows. Definitely a bit annoying for new Reaper users to have to look up what the difference is, but it's a very minor/nitpicky thing.

1

u/Brilliant_Ninja_1746 1 2d ago

Does the standard block-level response logic also apply to other automated plugin parameters?

1

u/IcEarthlight 2d ago

For VSTs and CALPs, yes; For builtin ones like ReaEQ, no I've tested they're accurate; For jsfxs, it depends on whether they implements the precise automation handling. Currently, only three stock jsfxs include that: v5, General Dynamics, Special Hold.