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

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

=============


=============
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.
The script works with mono, stereo, etc.

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

Use the sliders to adjust take volume envelope.

===============
Link(will be updated):
Envelope-based Compressor.eel

Note: Needed SWS - latest version.

===============
How install - it is actual for all eel-scripts(unless otherwise stated):
Open Reaper. Actions>Show Action List. ReaScript: press "New".
Select the folder for scripts(By default - ...\Reaper\Scripts).
Specify the name and extension - .eel(it's mandatory). For Example, MyScript.eel. Click save. You will see a black window.
Copy the text of the script(link in the first post) in this window. Press Ctrl+S. Close the window. Now the script is available in the Action List.
===
In addition, you can use Reapack, but the link to my repository must be added manually
__________________
ReaScripts

Last edited by eugen2777; 11-11-2016 at 05:21 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
Posts: 85
Default

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

Yay. One of the best scripts ever! Thanks, Eugen.
vitalker is offline   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: 768
Default

A
W
E
S
O
M
E
__________________
Wood side panels, custom knobs, parts & upgrades for Maschine and the MPC range | Website | Soundcloud
Quote:
Originally Posted by strunkdts View Post
MIDI will outlive humanity.
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,155
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,512
Default

Didn't spk77 write one of these?



>
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: 2,684
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 offline   Reply With Quote
Old 09-27-2016, 07:37 AM   #8
Jason Brian Merrill
Human being with feelings
 
Jason Brian Merrill's Avatar
 
Join Date: Jun 2006
Location: Northeastern PA, USA
Posts: 20,342
Default

hey, this is a fantastic script! Thank you so much. I love stuff like this.
__________________
Beliefs do not require respect. People do.
Jason Brian Merrill is online now   Reply With Quote
Old 09-27-2016, 08:54 AM   #9
kkostovas
Human being with feelings
 
Join Date: Sep 2015
Posts: 70
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: 3,329
Default

Jeeeeeezz !!
vanhaze is online now   Reply With Quote
Old 09-27-2016, 10:45 AM   #11
musicbynumbers
Human being with feelings
 
musicbynumbers's Avatar
 
Join Date: Jun 2009
Location: brighton, uk
Posts: 12,273
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: 1,303
Default

Very very nice!
Interesting AudioAccessor using also. Seems very good in terms of performance (only with EEL, I guess).
__________________
SoundCloud | MPL Scripts / ReaPack | Donate
mpl is online now   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,512
Default

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

Obviously not!!



>
planetnine is offline   Reply With Quote
Old 09-27-2016, 02:17 PM   #14
amagalma
Human being with feelings
 
Join Date: Apr 2011
Posts: 834
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...

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: 5,026
Default

This is SO GOOD!
And your code is nice and clean.
Thanks for this.
__________________
// MVHMF
Vote for the Starter Marker FR here http://forum.cockos.com/project.php?issueid=4371
Let's finally get rid of those ugly odd time measures.
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: 4,030
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.
__________________
HeDaScripts for REAPER | VIP Donations
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: 210
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
 
Join Date: Apr 2011
Posts: 834
Default

Eugen, could you add the ability to change values using the mousewheel? Thanks
amagalma is offline   Reply With Quote
Old 10-01-2016, 11:10 AM   #20
MCCY
Human being with feelings
 
Join Date: Apr 2009
Posts: 211
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: 757
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,168
Default

Bookmarked & downloaded!
__________________
Yep's First 3 Years in PDF's
HOW WIDE a difference is there between how you treat others when they make a mistake and how you would like them to treat you when you err?
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: 29
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: 427
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: 12,203
Default

super nice... thank you kindly
__________________
...should be fixed for the next build... http://tinyurl.com/cr7o7yl
https://soundcloud.com/hopikiva/angel-rain
hopi is online now   Reply With Quote
Old 10-03-2016, 12:34 AM   #26
musicbynumbers
Human being with feelings
 
musicbynumbers's Avatar
 
Join Date: Jun 2009
Location: brighton, uk
Posts: 12,273
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: 210
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: 405
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: 51
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: 5,944
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 8.1
G-Sun.no - Music Blog - My music
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: 210
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: 5,944
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 8.1
G-Sun.no - Music Blog - My music
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: 20
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,079
Default

Call me stupid, but what are the differences and advantages/inconveniences with a classical compressor ?
lolilol1975 is online now   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: 5,944
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 8.1
G-Sun.no - Music Blog - My music
G-Sun is offline   Reply With Quote
Old 11-02-2016, 01:05 AM   #36
germano
Human being with feelings
 
germano's Avatar
 
Join Date: Sep 2012
Location: Living in Portugal but Born in France
Posts: 37
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
 
Join Date: Mar 2017
Posts: 3
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 offline   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: 5,026
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
Vote for the Starter Marker FR here http://forum.cockos.com/project.php?issueid=4371
Let's finally get rid of those ugly odd time measures.
Fabian is offline   Reply With Quote
Old 05-01-2017, 05:36 PM   #39
Luster
Human being with feelings
 
Join Date: Nov 2015
Posts: 269
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: 12,203
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/angel-rain
hopi 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 09:59 PM.


Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.