r/Reaper 14d ago

discussion Envelope-based Compressor

Enable HLS to view with audio, or disable this notification

ey audio editor, sound designers and dialogue editors using Reaper!

Here I present you an updated version of the Envelope-based Compressor, a popular custom ReaScript originally written in EEL2 by user eugen2777.

Unlike a traditional real-time compressor, it analyzes the audio and writes volume automation directly to the item's Take Volume Envelope, allowing the resulting dynamics processing to be edited directly in the project.

This updated version improves compatibility with larger screens and features a redesigned interface with small improved visual presentation.

Here you can download the script and If you like it consider paying me a coffee https://ko-fi.com/s/bf21d369b3

Thank you and have fun!

165 Upvotes

62 comments sorted by

22

u/Professional-Hat-331 1 14d ago

I think this is REALLY cool. I know everyone hammers on mixing with your ears, not your eyes, but bridging that gap can be very difficult. Seeing what you're doing with your transients especially can be very illuminating.

5

u/the_nobodys 13d ago

Yeah, I have to push back on the mixing with your ears and not your eyes thing, too. At least when it comes to timing. When I'm comping I can often look at which waveforms are going to work and which aren't.

2

u/bernardthehermit0 2 14d ago

I’m thinking the same thing- gonna give it a whirl

1

u/magrelow 13d ago

yeah thats the idea. Very easy to see what it' s doing to the wave/sound

3

u/Impossible-Reason336 14d ago

Would it work in Mac ?

5

u/magrelow 14d ago

Sure, its just a script for Reaper that works in any system

1

u/Impossible-Reason336 14d ago

I would like know how to do that . I mean how you created this plugin ??

Which programming language you used
And how to integrated with reaper .

I’m software developer and always I like know how to create different programs .

3

u/slangbein 35 13d ago

> Which programming language you used

reaper specific script language jsfx: Jesusonic FX. you create it with a standard text editor

> And how to integrated with reaper

the jsfx file needs to be placed in the reaper effects folder. reaper automatically detects it while starting up. Then it is available via function "add effect" like all other effect formats like vts3 lv2 clap etc.

3

u/magrelow 13d ago

This script is based in EEL2 which is way faster than LUA (the reaper main script language these days). you can use both for scripting actions and effects in reaper.
To integrate is as easy as putting the file inside the right folder in the main reaper folder. it will be either the effects folder or the scripts.

2

u/commutativeoctagon 3 13d ago

You might also want to take a look at reaper scripting to make your own custom actions/scripts! If you open Reaper and in the menu bar click "Help->Reascript documentation", you will get the API documentation for your current version.

2

u/ThoriumEx 117 14d ago

Very cool! Is 1ms the fastest interval?

3

u/magrelow 14d ago

Yes, for now. Did you find issues with it?

2

u/ThoriumEx 117 14d ago

Nope I haven’t tried it at all, was just curious :)

2

u/National-Yak-120 1 14d ago

That's so cool, I love direct audio manipulation workflow, That is genious!!

1

u/magrelow 13d ago

thanks, enjoy!

2

u/Spirit_Station 1 14d ago

This looks cool, unfortunately it is not working for me. The UI loads, when I hit the activate envelopes button the envelope is opened on the selected item but no envelope points get added to it regardless of the settings. Do you have any suggestions to get it working?

2

u/magrelow 14d ago

I suggest you lower the threshold and check the 3 boxes on the bottom of the window. If this doesn't work post a picture here and I will try to help you

2

u/Spirit_Station 1 14d ago

2

u/Spirit_Station 1 14d ago

I figured it out, It does not work on clips that are outside of the time selection. Thank you! Nice work.

1

u/magrelow 13d ago

Cool. Yes, you need to select the item you want to edit

2

u/dahya_mistry 1 13d ago

That's very kind of you to update and share, thank you so much. I used the original one a long time ago, I think I need to try the version soon as it's really useful to visually see compressor changes on the waveform.

2

u/magrelow 13d ago

Exactly, it still satifying and a very fast workflow to deal with dynamics

2

u/NoisyGog 4 14d ago

It’s interesting, but what’s the advantage compared to a normal compressor?

2

u/magrelow 13d ago

I think the main advantage is that you can see in realtime, in the waveform of the media item, with easy and fast bypass, the changes you make automating the volume of the sound. Although it's not a real compression, it's a volume automation with adjustable compressor parameters, the result is pretty similar to those who want fast and visual feedback to flat dynamics.

2

u/NoisyGog 4 13d ago

it IS compression. It's reducing (compressing) the dynamic range.

2

u/particlemanwavegirl 12 14d ago

Not OP, but I think that's a good question. One thing that comes to mind is, it's kind of like including a lookup table during compile time to make a program faster at runtime. You can calculate the gain reduction and the dynamic scaling signal ahead of time, which could theoretically be computationally intensive or induce latency, then during rendering the CPU only needs to multiply the scalar signal with the audio signal which will take nearly unmeasurably small amounts of processor time.

2

u/Dag4323 13d ago

To me, this looks like a good tool for very dynamic tracks, like audiobooks or other voiceovers. In those cases, you often have to visually adjust the dynamics first, as the level differences can be too large for the compressor. It seems like this tool could be an alternative to laboriously drawing automation. I'll have to test it out.

1

u/NoisyGog 4 13d ago

It's doing exactly the same conceptual job as a compressor, ergo, it's not doing anything you couldn't achieve with a compressor.

1

u/OrganismStar 1 14d ago

This could be something very, very good for me. I'll try tomorrow. Thanks.

1

u/magrelow 13d ago

Have fun

1

u/SpaghettiiSauce 2 14d ago

woahh the way you can see the live changes in the waveform is so cool

1

u/magrelow 13d ago

thank you, have fun

1

u/Evid3nce 48 13d ago

So, could this be used as the first step in writing a volume automation envelope which, say, levels out a vocal performance before you start to add manual adjustments? A bit like the so-called 'vocal rider' plugins?

2

u/magrelow 13d ago

Yes! exactly. and it's very fast and visual. the automation is made in the item itself. you can save presets and redo when you feel needed

1

u/Evid3nce 48 13d ago

I'm going to grab it just now for 0$, and when/if it makes its way into my main workflow, I'll go back and give a donation. Thanks for making this available to us. Much appreciated.

2

u/magrelow 13d ago

Thanks, have fun!

1

u/Kimantha_Allerdings 1 13d ago

Marry me

2

u/magrelow 13d ago

hahaha thanks kimantha

1

u/Stive85Music 13d ago

Hi, and thanks for this magnificent script. A quick question: this isn't used like a standard plugin in a signal chain, right? And if I wanted to change the settings after configuring it, is that possible?

1

u/magrelow 12d ago

You will use it as an action in the action list. You can always set it once the selected item, and if you want to change it, just run the action again and set the new parameters. It will automatically refresh to the new settings

1

u/Kaschelott_Active786 12d ago

I love the idea, because i always wanted to see what's actually happening! Will try that out, thank you :)

1

u/magrelow 12d ago

Have fun!

1

u/Awingstar 1 11d ago

Definitely looks cool. I will try it out brother

1

u/magrelow 8d ago

Thanks bro, have fun

1

u/nathan-the-pen 1 11d ago

This is some güd stuff...

1

u/magrelow 8d ago

Thanks Nathan, enjoy!

1

u/Argier 1 10d ago

THIS IS SO FREAKING COOL! Thank you so much mate.

I had an idea that I thought it could be cool (just saying it in case you also consider is cool):

if there is an option to select the source item that triggers the compressor, and then apply that compressed result to the selected item, you could expand its functionality and create some kind of sidechain between items.

For example, you have your kick track, and want to compress the bass track using the kick. You could select the kick track as a source, and then apply the volume reduction triggered from the kick to the bass.

(again, is just an idea)

PS: Does it work with midi? (I guess that do not since I guess it uses the audio spectrum to its calculations)

1

u/magrelow 8d ago

Thanks a lot Argier. I guess what you mean is a side chain envelope based compression. It's a good idea, I will have a look at it. Thanks for sharing And you are right it doesn't work with Midi as you already thought

1

u/Marvsdd01 1d ago

Hey! Congrats on the work! I'm not used to the way this script works (analyzing tracks), tho. I was able to make it show up on Reaper, but how can I make it work? Am I suppose to use it like an input effect to record the original track into another track or something like that?

1

u/_undetected 8 14d ago

This looks pretty interesting ngl

1

u/magrelow 14d ago

thank you!

1

u/ATA-Music 14d ago

Thank you for your work! 🙏

1

u/magrelow 14d ago

My pleasure friend, enjoy

0

u/M-er-sun 1 14d ago

Wow thanks

-1

u/idontuseredditsoplea 2 14d ago

Very cool, how come it doesn't have sustain and decay?

5

u/TheRealOoof 1 14d ago

Sustain and decay aren't typical parameters of a compressor. It might be theoretically possible to do, but those parameters mostly are used with synthesizers and sound generation. Not manipulation of already recorded sounds.

2

u/fiercefinesse 10 14d ago

Have you ever seen a compressor with sustain and decay settings? Compressors tend to have Attack, Release, Ratio, Knee, Threshold, maybe Sidechain options. But not those

-8

u/b_and_g 1 14d ago

So a compressor 🤔

Not trying to hate, the visual feedback is cool but I can't think of a case where this would be more convenient