Old 09-26-2016, 08:28 PM   #1
eugen2777
Human being with feelings
 
eugen2777's Avatar
 
Join Date: Aug 2012
Posts: 271
Default EEL:Envelope-based Compressor

The script creates volume envelope based on volume level and compresses it.


=============
Old version(v1) info:
This is the initial version, in the future, probably, will change.
If any errors etc let me know.
This is not a copy of another script from spk77), although in something like(thanks spk77), but the principle is different.
This is not a compressor, although much like. Settings work a bit differently than in the compressor, although they have similar names.
I did not come up with other names. Because, in principle, they largely correspond to the compressor.
Old version Demo


=============
New version(v2) info:
The second version works like a compressor in peak mode.
Perhaps the rms-mode will be added if I have time.
In addition, LP and HP filters were added.
Added RT update mode (with each slider motion), you can watch all the changes live.
But do not use this mode on large ranges!
Buttons are replaced with checkboxes, it's much more convenient.
The interface is now more understandable for use.

How use:
Select the audio-item. Click "Activate Envelopes" and "Show Envelopes" if need.
"Show Envelope" - toggle show/hide take vol envelopes.
"Activate Envelope" - toggle activate/deactivate take vol envelopes.

Use the sliders to adjust take volume envelope.
Ctrl + drag - fine tune
Click on value - enter value from keyboard.
Dubble click - reset to default.

You can use the time selection to limit the area of application of the compressor.
Also, you can select more then one items. They will be processed separately.
The script works with mono, stereo, multichannel audio, any playrates etc.



===============
Link v1(old version):
Envelope-based Compressor.eel

Link v2(new version, will be updated):
Envelope-based Compressor v2.eel

Note: Needed SWS - latest version.

===============
How install - use Reapack, but the link to my repository must be added manually:
"https://github.com/EUGEN27771/ReaScripts/raw/master/index.xml"
__________________
ReaScripts

Last edited by eugen2777; 12-23-2017 at 06:15 AM.
eugen2777 is offline   Reply With Quote
Old 09-27-2016, 12:12 AM   #2
raiirock
Human being with feelings
 
raiirock's Avatar
 
Join Date: Mar 2013
Location: Moscow
Posts: 99
Default

Wow ! This is really cool !
raiirock is offline   Reply With Quote
Old 09-27-2016, 01:28 AM   #3
vitalker
Human being with feelings
 
vitalker's Avatar
 
Join Date: Dec 2012
Posts: 13,333
Default

Yay. One of the best scripts ever! Thanks, Eugen.
vitalker is online now   Reply With Quote
Old 09-27-2016, 01:46 AM   #4
SoulOne82
Human being with feelings
 
SoulOne82's Avatar
 
Join Date: Sep 2008
Location: Illville - Germany
Posts: 972
Default

A
W
E
S
O
M
E
SoulOne82 is offline   Reply With Quote
Old 09-27-2016, 01:53 AM   #5
IXix
Human being with feelings
 
Join Date: Jan 2007
Location: mcr:uk
Posts: 3,889
Default

Nice
IXix is offline   Reply With Quote
Old 09-27-2016, 03:05 AM   #6
planetnine
Human being with feelings
 
planetnine's Avatar
 
Join Date: Oct 2007
Location: Lincoln, UK
Posts: 7,924
Default

Didn't spk77 write one of these?



>
__________________
Nathan, Lincoln, UK. | Item Marker Tool. (happily retired) | Source Time Position Tool. | CD Track Marker Tool. | Timer Recording Tool. | dB marks on MCP faders FR.
planetnine is offline   Reply With Quote
Old 09-27-2016, 05:20 AM   #7
vitalker
Human being with feelings
 
vitalker's Avatar
 
Join Date: Dec 2012
Posts: 13,333
Default

Quote:
Originally Posted by planetnine View Post
Didn't spk77 write one of these?
Did you read the first message from eugen2777?
vitalker is online now   Reply With Quote
Old 09-27-2016, 07:37 AM   #8
Jae.Thomas
Human being with feelings
 
Join Date: Jun 2006
Posts: 22,567
Default

hey, this is a fantastic script! Thank you so much. I love stuff like this.
Jae.Thomas is offline   Reply With Quote
Old 09-27-2016, 08:54 AM   #9
kkostovas
Human being with feelings
 
Join Date: Sep 2015
Posts: 71
Default

Oh my, Thank you..
kkostovas is offline   Reply With Quote
Old 09-27-2016, 10:12 AM   #10
vanhaze
Human being with feelings
 
vanhaze's Avatar
 
Join Date: Jul 2012
Location: Netherlands
Posts: 5,247
Default

Jeeeeeezz !!
vanhaze is offline   Reply With Quote
Old 09-27-2016, 10:45 AM   #11
musicbynumbers
Human being with feelings
 
musicbynumbers's Avatar
 
Join Date: Jun 2009
Location: South, UK
Posts: 14,214
Default

very cool! thanks
__________________
subproject FRs click here
note: don't search for my pseudonym on the web. The "musicbynumbers" you find is not me or the name I use for my own music.
musicbynumbers is offline   Reply With Quote
Old 09-27-2016, 12:10 PM   #12
mpl
Human being with feelings
 
mpl's Avatar
 
Join Date: Oct 2013
Location: Moscow, Russia
Posts: 3,960
Default

Very very nice!
Interesting AudioAccessor using also. Seems very good in terms of performance (only with EEL, I guess).
mpl is offline   Reply With Quote
Old 09-27-2016, 01:54 PM   #13
planetnine
Human being with feelings
 
planetnine's Avatar
 
Join Date: Oct 2007
Location: Lincoln, UK
Posts: 7,924
Default

Quote:
Originally Posted by vitalker View Post
Did you read the first message from eugen2777?

Obviously not!!



>
__________________
Nathan, Lincoln, UK. | Item Marker Tool. (happily retired) | Source Time Position Tool. | CD Track Marker Tool. | Timer Recording Tool. | dB marks on MCP faders FR.
planetnine is offline   Reply With Quote
Old 09-27-2016, 02:17 PM   #14
amagalma
Human being with feelings
 
amagalma's Avatar
 
Join Date: Apr 2011
Posts: 3,451
Default

Excellent! Well done!

P.S. BTW, is anyone experiencing this Reaper bug? It is not the script's bug! It's Reaper's and has always been there for me...
__________________
Most of my scripts can be found in ReaPack.
If you find them useful, a donation would be greatly appreciated! Thank you! :)

Last edited by amagalma; 09-28-2016 at 12:56 AM.
amagalma is offline   Reply With Quote
Old 09-28-2016, 09:06 AM   #15
JH4094
Human being with feelings
 
Join Date: Sep 2016
Posts: 33
Default

This is great. Thank you!!!
JH4094 is offline   Reply With Quote
Old 09-28-2016, 12:29 PM   #16
Fabian
Human being with feelings
 
Fabian's Avatar
 
Join Date: Sep 2008
Location: Sweden
Posts: 7,416
Default

This is SO GOOD!
And your code is nice and clean.
Thanks for this.
__________________
// MVHMF
I never always did the right thing, but all I did wasn't wrong...
Fabian is offline   Reply With Quote
Old 09-28-2016, 12:41 PM   #17
heda
Human being with feelings
 
heda's Avatar
 
Join Date: Jun 2012
Location: Spain
Posts: 7,238
Default

Very good. It is very fast.
I'm not sure if the output gain works as expected. I expected it to increase all points equally.
heda is offline   Reply With Quote
Old 09-28-2016, 02:17 PM   #18
eugen2777
Human being with feelings
 
eugen2777's Avatar
 
Join Date: Aug 2012
Posts: 271
Default

Yes, I see incorrect work in envelope "fader scaling" mode, I will fix it.
=====
Fixed.
__________________
ReaScripts

Last edited by eugen2777; 09-28-2016 at 02:37 PM.
eugen2777 is offline   Reply With Quote
Old 10-01-2016, 10:41 AM   #19
amagalma
Human being with feelings
 
amagalma's Avatar
 
Join Date: Apr 2011
Posts: 3,451
Default

Eugen, could you add the ability to change values using the mousewheel? Thanks
__________________
Most of my scripts can be found in ReaPack.
If you find them useful, a donation would be greatly appreciated! Thank you! :)
amagalma is offline   Reply With Quote
Old 10-01-2016, 11:10 AM   #20
MCCY
Human being with feelings
 
Join Date: Apr 2009
Posts: 316
Default

Fantastic, thanks! Looks like kind of a revolution in workflow, which is coming!
MCCY is offline   Reply With Quote
Old 10-01-2016, 11:24 AM   #21
pcartwright
Human being with feelings
 
Join Date: Jan 2009
Posts: 1,030
Default

This is really cool.

A few ideas:
Do you think it is possible to have a side chain of sorts? Maybe a drop down to select a different track?
Adjust the settings to allow for expansion as well as compression.

Great work!
pcartwright is offline   Reply With Quote
Old 10-01-2016, 01:45 PM   #22
Smurf
Human being with feelings
 
Smurf's Avatar
 
Join Date: Jan 2006
Posts: 2,173
Default

Bookmarked & downloaded!
__________________
Yep's First 3 Years in PDF's
HP Z600 w/3GHz 12 Core, 48GB Memory, nVidia Quadro 5800, 240GB SSD OS drive, 3 480GB SSD Sample/Storage drives, 18TB External Storage, Dual 27" Monitors
Smurf is offline   Reply With Quote
Old 10-02-2016, 10:49 AM   #23
jcjr
Human being with feelings
 
Join Date: Dec 2015
Location: SE TN USA
Posts: 77
Default

That is excellent work Eugen.

I know little of EEL programming, barely know of jsfx syntax. Here is not a suggestion, just something you might consider if you like the idea--

It would probably need allocation of an array of temp memory for the envelope points, unless it is easy to poll previously written track automation events.

You could first scan backwards from the end of file to beginning of file to write/smooth the lookahead envelope, and then scan from the beginning to the end of file to further smooth in the forward direction.

If doing backward-forward smoothing in this fashion, I think maybe you could get away with instant attack, programmed release for each scan direction. If scanning backward instant-attack, 10 ms release or whatever, the release of the backward scan would actually be the lookahead attack of the final envelope after both the backward and forward passes have been completed.

And then the second scan, the forward instant attack, programmed release scan, would keep the "attacks" established by the backwards pass, and add the conventional release behavior.

Maybe you could keep the current attack and release user interface controls-- Merely that the user-entered value for attack would actually be used as the release value of the first backwards scan.
jcjr is offline   Reply With Quote
Old 10-02-2016, 12:06 PM   #24
Sju
Human being with feelings
 
Join Date: Jun 2015
Posts: 685
Default

Quote:
Originally Posted by amagalma View Post
Eugen, could you add the ability to change values using the mousewheel? Thanks
Not sure that'd work very well, as the script would update on every mwheel event, which would be a lot. I might be wrong though. One could also probably limit the interval of the update too.

Last edited by Sju; 10-25-2016 at 10:44 PM.
Sju is offline   Reply With Quote
Old 10-02-2016, 08:57 PM   #25
hopi
Human being with feelings
 
hopi's Avatar
 
Join Date: Oct 2008
Location: Right Hear
Posts: 15,618
Default

super nice... thank you kindly
__________________
...should be fixed for the next build... http://tinyurl.com/cr7o7yl
https://soundcloud.com/hopikiva
hopi is offline   Reply With Quote
Old 10-03-2016, 12:34 AM   #26
musicbynumbers
Human being with feelings
 
musicbynumbers's Avatar
 
Join Date: Jun 2009
Location: South, UK
Posts: 14,214
Default

hmm

I wonder if this script could be tweaked to do upwards compression too?

Whereby, peaks are left alone and the quiet bits are turned up rather than the peaks turned down

That would be very cool too!
__________________
subproject FRs click here
note: don't search for my pseudonym on the web. The "musicbynumbers" you find is not me or the name I use for my own music.
musicbynumbers is offline   Reply With Quote
Old 10-11-2016, 01:35 PM   #27
eugen2777
Human being with feelings
 
eugen2777's Avatar
 
Join Date: Aug 2012
Posts: 271
Default

Mini update. Now it supports work with multiple items. And time selection.

__________________
ReaScripts
eugen2777 is offline   Reply With Quote
Old 10-20-2016, 07:51 AM   #28
Sumalc
Human being with feelings
 
Join Date: Oct 2009
Location: France
Posts: 743
Default

Very nice, thank you.
Sumalc is offline   Reply With Quote
Old 10-21-2016, 01:34 AM   #29
Indiscipline
Human being with feelings
 
Indiscipline's Avatar
 
Join Date: Apr 2016
Posts: 143
Default

Super useful, as usual.
Might I suggest adding noise gate, to be on par with SPK77's script in terms of a workflow? It would be a great addition to process vocals.
Indiscipline is offline   Reply With Quote
Old 10-25-2016, 09:32 AM   #30
G-Sun
Human being with feelings
 
G-Sun's Avatar
 
Join Date: May 2010
Location: Norway
Posts: 7,318
Default

Quote:
Originally Posted by eugen2777 View Post
The script creates volume envelope based on volume level and compresses it.
Tried it on acoustic guitar.
Very good results!

But, only first item, and no save/recall settings is not so good for workflow.
__________________
Reaper x64, win 11
Composer, text-writer, producer
Bandcamp
G-Sun is offline   Reply With Quote
Old 10-26-2016, 09:42 AM   #31
eugen2777
Human being with feelings
 
eugen2777's Avatar
 
Join Date: Aug 2012
Posts: 271
Default

Indiscipline, maybe in the future.
G-Sun, Somehow the link was an old version. I re-updated the link, multiple items and time sel now supported.
__________________
ReaScripts
eugen2777 is offline   Reply With Quote
Old 10-26-2016, 11:59 AM   #32
G-Sun
Human being with feelings
 
G-Sun's Avatar
 
Join Date: May 2010
Location: Norway
Posts: 7,318
Default

Quote:
Originally Posted by eugen2777 View Post
G-Sun, Somehow the link was an old version. I re-updated the link, multiple items and time sel now supported.
Happy to hear that.
Option to use pre-fx vol env. instead of take vol, could be nice as well.
__________________
Reaper x64, win 11
Composer, text-writer, producer
Bandcamp
G-Sun is offline   Reply With Quote
Old 10-29-2016, 07:15 PM   #33
whutuneed
Human being with feelings
 
Join Date: Dec 2013
Posts: 21
Default

This thing is great
whutuneed is offline   Reply With Quote
Old 10-29-2016, 08:44 PM   #34
lolilol1975
Human being with feelings
 
Join Date: Dec 2015
Posts: 1,739
Default

Call me stupid, but what are the differences and advantages/inconveniences with a classical compressor ?
lolilol1975 is offline   Reply With Quote
Old 10-30-2016, 02:00 AM   #35
G-Sun
Human being with feelings
 
G-Sun's Avatar
 
Join Date: May 2010
Location: Norway
Posts: 7,318
Default

Quote:
Originally Posted by eugen2777 View Post
G-Sun, Somehow the link was an old version. I re-updated the link, multiple items and time sel now supported.
Tried it out, works very well.
Thank you!

Now, a lot to be desired.
Presets, hpf, numeric input, normal values, expander, rms-setting.
But, it works
__________________
Reaper x64, win 11
Composer, text-writer, producer
Bandcamp
G-Sun is offline   Reply With Quote
Old 11-02-2016, 01:05 AM   #36
germano
Human being with feelings
 
Join Date: Sep 2012
Location: Living in Portugal but Born in France
Posts: 64
Default

Quote:
Originally Posted by eugen2777 View Post
In addition, you can use Reapack, but the link to my repository must be added manually
Your script is fantastic.

Please,
can you give us the link to your repository (i try without success).

Thanks
germano is offline   Reply With Quote
Old 05-01-2017, 09:57 AM   #37
Regisfofo
Human being with feelings
 
Regisfofo's Avatar
 
Join Date: Mar 2017
Location: France
Posts: 627
Default

Looks exciting but do not work with my system.

interval, Outgain, activate and Show envelope work ok but all points always stays in a sad straight line... Anyone else encountering this issue ?

By the way I'm on mac osx 10.8!
Regisfofo is online now   Reply With Quote
Old 05-01-2017, 01:15 PM   #38
Fabian
Human being with feelings
 
Fabian's Avatar
 
Join Date: Sep 2008
Location: Sweden
Posts: 7,416
Default

Quote:
Originally Posted by Regisfofo View Post
Looks exciting but do not work with my system.

interval, Outgain, activate and Show envelope work ok but all points always stays in a sad straight line... Anyone else encountering this issue ?

By the way I'm on mac osx 10.8!
Yes, I have found that this (sometimes?) happens if the item already has its volume adjusted. What I have to do in those cases is to lower the threshold extremely low, and then raise it. I have not experimented with this yet, so I have no better description. And this is on W7x64 REAPER 5.40/x64.
__________________
// MVHMF
I never always did the right thing, but all I did wasn't wrong...
Fabian is offline   Reply With Quote
Old 05-01-2017, 05:36 PM   #39
Luster
Human being with feelings
 
Luster's Avatar
 
Join Date: Nov 2015
Posts: 642
Default

Quote:
Originally Posted by Regisfofo View Post
Looks exciting but do not work with my system.
I got the same impression yesterday but then realized that the script is time selection (and/or loop selection) sensitive. So it's only active in that area. Be aware of that.
Luster is offline   Reply With Quote
Old 05-01-2017, 06:33 PM   #40
hopi
Human being with feelings
 
hopi's Avatar
 
Join Date: Oct 2008
Location: Right Hear
Posts: 15,618
Default

just got around to trying this ...

seems Ok but it only works on item env's ... correct?

does not work on other track env's... or have I missed something?
__________________
...should be fixed for the next build... http://tinyurl.com/cr7o7yl
https://soundcloud.com/hopikiva
hopi 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 03:37 AM.


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