Old 06-09-2014, 12:02 PM   #1
TBProAudio
Human being with feelings
 
TBProAudio's Avatar
 
Join Date: May 2014
Location: Germany
Posts: 643
Default Auto Gain Staging JSFX

After feedback from user David Else about my JSFX plugin AB Level Matching JSFX i made a plugin which automatically levels the gain of the input to a certain level and restores the level after a number of plugins.



This could be useful for your work with certain VSTs like Nebula which require a certain gain level to work properly.

Please download here.

How it works:

1. Place AutoGainStage_src before plugins you want to gain stage and AutoGainStage_cntrl after
2. Click "SYNC PDC" to get delay of your chain
2. Setup Drive Reference Level, e.g. -18 for most Nebula custom programs (0dBVU = -18dBfs)
3. Set Drive Control to "Analyse" in order to determine necessary gain to reach reference level and then let the DAW play ...
4. Set Drive Control to "Drive" in order to "drive" the following plugins with measured add. gain, the add. gain will be compensated in the control plugin
5. Click "BYPASS" button to switch between processed and unprocessed signal
6. Have phun with it :-)

Changelog
1.0: first public release
1.1: Rearrangement of includes
1.2: Automatic PDC Calculation
1.3: LinkID Bug Fixed, PDC extended to 128k SMP
1.4: LinkID as drop-down menu, removed libs
1.5: Small Fixes
1.6: Removed TP measurement
1.7: Small fixes
1.8: Small fixes, R5 compatibility

Please let me know if you find it useful and if there are possible improvements, thanks

regards
Thomas
__________________
www.tbproaudio.de

Last edited by TBProAudio; 09-12-2015 at 04:56 AM. Reason: New version 1.8
TBProAudio is offline   Reply With Quote
Old 06-09-2014, 01:04 PM   #2
David Else
Human being with feelings
 
Join Date: Mar 2012
Posts: 610
Default

Amazing!!!! Can't wait to try it, thanks!!!
__________________
----------> Debian Linux Distribution = Computing Joy & Freedom <----------
David Else is offline   Reply With Quote
Old 06-12-2014, 09:15 AM   #3
TBProAudio
Human being with feelings
 
TBProAudio's Avatar
 
Join Date: May 2014
Location: Germany
Posts: 643
Default

So i updated this plugin set as well with "automatic PDC calculation".
You can use this feature to measure "real" delay caused by any plugin (chain).
Interestingly i found out the my nebula setup reports wrong (to much) PDC!?!

regards
Thomas
__________________
www.tbproaudio.de

Last edited by TBProAudio; 12-23-2014 at 12:23 AM.
TBProAudio is offline   Reply With Quote
Old 06-17-2014, 07:22 AM   #4
Quest The Wordsmith
Human being with feelings
 
Quest The Wordsmith's Avatar
 
Join Date: May 2011
Location: Shaolin => NJ
Posts: 1,213
Default

I'm sorry, I'm not understanding this as opposed to your A/B plugin. Could you explain the difference?
__________________
freestylefam.com
Quest The Wordsmith is offline   Reply With Quote
Old 06-17-2014, 09:09 AM   #5
G-Sun
Human being with feelings
 
G-Sun's Avatar
 
Join Date: May 2010
Location: Norway
Posts: 7,318
Default

Thanks!
Maybe I used the other version with colored pre/post levels.
Used 11% of my cpu

Seems I might have better luck with this version.
__________________
Reaper x64, win 11
Composer, text-writer, producer
Bandcamp
G-Sun is offline   Reply With Quote
Old 06-22-2014, 12:59 AM   #6
TBProAudio
Human being with feelings
 
TBProAudio's Avatar
 
Join Date: May 2014
Location: Germany
Posts: 643
Default New version V1.3

I fixed a nasty bug with linkid:
now it should be possible to run several pairs of the script combo in parallel.
__________________
www.tbproaudio.de
TBProAudio is offline   Reply With Quote
Old 06-27-2014, 10:04 PM   #7
RJHollins
Human being with feelings
 
Join Date: Dec 2011
Posts: 2,167
Default

heard mention of a type of 'plugin' that could load a script so that it could be used as a VST plugin.

I use a chaining program [Plogue Biddle] that I would like to experiment with ... if I could get this script into a VST shell.

Thanks for any additional info/ help !
RJHollins is offline   Reply With Quote
Old 06-28-2014, 12:12 AM   #8
Halma
Human being with feelings
 
Halma's Avatar
 
Join Date: Jun 2013
Posts: 288
Default

Quote:
Originally Posted by RJHollins View Post
heard mention of a type of 'plugin' that could load a script so that it could be used as a VST plugin.

I use a chaining program [Plogue Biddle] that I would like to experiment with ... if I could get this script into a VST shell.

Thanks for any additional info/ help !
You need ReaPlugs for this. With ReaJS you can load any JS script into your DAW.

And nice job Thomas! Kudos.

Regards
Sebastian
__________________
Underground Music Production: Sound Design, Machine Funk, High Tech Soul
Halma is offline   Reply With Quote
Old 06-28-2014, 03:27 AM   #9
TBProAudio
Human being with feelings
 
TBProAudio's Avatar
 
Join Date: May 2014
Location: Germany
Posts: 643
Default

Quote:
Originally Posted by RJHollins View Post
heard mention of a type of 'plugin' that could load a script so that it could be used as a VST plugin.

I use a chaining program [Plogue Biddle] that I would like to experiment with ... if I could get this script into a VST shell.

Thanks for any additional info/ help !
Please use ReaPlugs 2.2 beta from here.
__________________
www.tbproaudio.de
TBProAudio is offline   Reply With Quote
Old 06-28-2014, 09:58 AM   #10
Fergler
Human being with feelings
 
Fergler's Avatar
 
Join Date: Jan 2014
Posts: 5,220
Default

What's the difference between this and your A/B matching plugin?
Fergler is offline   Reply With Quote
Old 06-29-2014, 01:05 AM   #11
TBProAudio
Human being with feelings
 
TBProAudio's Avatar
 
Join Date: May 2014
Location: Germany
Posts: 643
Default

Quote:
Originally Posted by Fergler View Post
What's the difference between this and your A/B matching plugin?
AB Level keeps the loudness after all plugins on the same level as before the plugin chain. This is mainly used to compare the impact of plugins in a "fair" listening environment (remember: louder "is" better).

Autogain levels the input gain of plugin(s) e.g. Nebula to a defined level (e.g. -18dBFS) and after it removes the fixed gain change (please refer to Nebula gain staging). This does not mean that the loudness after is the same as before.

In other words:
use Autogain to set the right gain for Nebula
and wrap AB Level around to compare effect of Nebula (or any other plugins) on the same loudness level.

I hope this helps
__________________
www.tbproaudio.de
TBProAudio is offline   Reply With Quote
Old 09-16-2014, 01:59 AM   #12
buckman
Human being with feelings
 
buckman's Avatar
 
Join Date: Jul 2008
Posts: 1,850
Default

Sorry to be a pain as I'm useless with any scripts and coding but this plug in looks great!

I have downloaded, but as im on Mac OS X i just get a folder of .inc .ctrl files.

Do you know where I am to place these inorder for this to work in Reaper on Mac and maybe Ableton?)

Thanks
__________________
==
Reaper 6 needs Area Selection!
http://forum.cockos.com/project.php?issueid=122
buckman is offline   Reply With Quote
Old 09-18-2014, 12:31 PM   #13
TBProAudio
Human being with feelings
 
TBProAudio's Avatar
 
Join Date: May 2014
Location: Germany
Posts: 643
Default

hi,

in reaper under actions run "Show reaper resource path in explorer" or similar.
Under Effects you will find all jsfx scripts. This is also the place where you could place the gain staging combo.

regards
Thomas
__________________
www.tbproaudio.de
TBProAudio is offline   Reply With Quote
Old 12-20-2014, 10:50 AM   #14
111
Human being with feelings
 
Join Date: Jul 2014
Posts: 152
Default

Hello! I just have been looking for gain staging for Nebula, and that`s it! But I can`t understand how to install it, I moved those files firstly to the script folder, then to \InstallData\Effects and in both cases when I open Actions and click them in the list Reaper says Extension not supported. Could you specify how to install it?

Last edited by 111; 12-20-2014 at 11:31 AM.
111 is offline   Reply With Quote
Old 12-20-2014, 04:48 PM   #15
nolman
Human being with feelings
 
nolman's Avatar
 
Join Date: Feb 2008
Location: ghent, Belgium
Posts: 336
Default

menu->options->open reaper resource... put the scripts in the right folder.

This is an fxplugin, ad them from the fx window.
nolman is offline   Reply With Quote
Old 12-21-2014, 04:57 PM   #16
111
Human being with feelings
 
Join Date: Jul 2014
Posts: 152
Default

Quote:
Originally Posted by nolman View Post
menu->options->open reaper resource... put the scripts in the right folder.

This is an fxplugin, ad them from the fx window.
Thanx a lot! Now it works. Look, sorry for my bored to death curiosity, but I would like to know. Let`s say I`ve made gain staging on all my tracks with Nebula, and in order to save CPU I would render them to stems. Then I`ll add another different Nebulas to those tracks - should I do gain staging again or not?
And the last question. If I mix those tracks, I`ll move faders, higher or lower. Will it affect gain staging and should I somehow worry about it? Thanks in advance!
111 is offline   Reply With Quote
Old 12-27-2014, 04:31 PM   #17
pepe44
Human being with feelings
 
pepe44's Avatar
 
Join Date: Jul 2013
Location: Portugal
Posts: 1,827
Default

Been testing this Script , the idea of it it´s great.

I´ll Explain my simple chain:

First insert Autogainstage_src -> EQ ( Altech Clone , Excessive Boosting only for testing) -> Autogainstage_cntrl

-Analyse audio content
-Drive Audio content
-Meters Change for optimum gain

Results:
Dry signal -> (-30LUFS integrated)
After Processing (EQ) no Autogainstage applied ->(-20LUFS integrated)
With Autgainstage applied -> (-20LUFS integrated)

It plays at same loudness levels , no gain change to match original gain.
I´m I doing something wrong, or is not the intention of this script to do gain stage match?
pepe44 is offline   Reply With Quote
Old 12-28-2014, 09:57 AM   #18
TBProAudio
Human being with feelings
 
TBProAudio's Avatar
 
Join Date: May 2014
Location: Germany
Posts: 643
Default

Differences between JSFX "Auto Gain Staging" and "JSFX AB Level Matching" are described just 6 posts before.

If you want AB level matching you need to grab this:-)

Regards
Thomas
__________________
www.tbproaudio.de
TBProAudio is offline   Reply With Quote
Old 12-28-2014, 12:12 PM   #19
pepe44
Human being with feelings
 
pepe44's Avatar
 
Join Date: Jul 2013
Location: Portugal
Posts: 1,827
Default

Oh, ok, thanks, i was doing something wrong indeed ! eheh
Regards
pepe44 is offline   Reply With Quote
Old 01-15-2015, 12:26 AM   #20
PitchSlap
Human being with feelings
 
PitchSlap's Avatar
 
Join Date: Jan 2008
Location: Vancouver, BC
Posts: 3,795
Default

Thanks for this, very useful!

Usually the levels are too hot on my master where I want to put Nebula, and it was a hassle trying to manually guess the right level and put trim plugins before and after and hope to get it right. Nebula is NOT very forgiving when it overloads.

I assume it's probably best to analyze the loudest part of a song?
__________________
FRs: v5 Media Explorer Requests, Global Quantization, Session View
Win10 Pro 64-bit, Reaper 6(x64), AMD 3950x, Aorus X570 Master, 64GB DDR4 3600, PowerColor Red Devil 5700XT, EVO 970 2TB, 10TB HD, Define R6
PitchSlap is offline   Reply With Quote
Old 04-16-2015, 07:31 PM   #21
eox08
Human being with feelings
 
eox08's Avatar
 
Join Date: Nov 2009
Location: West Texas
Posts: 116
Default

Okay, I'm a little confused here..

I've followed the instructions for AutoGainStage_src - Nebula - AutoGainStage_cntrl

but nothing seems to sound any different nor am I able to change the levels with the "drive" knob. Now, I am probably doing something wrong because..well I am new to this but I just purchased Nebula yesterday and I am trying to get the gain staging correct.

Next, why would the gain stage cntrl be AFTER the plugin? Isn't Nebula iffy about levels going in instead of out in order to get the correct impulses responding?
eox08 is offline   Reply With Quote
Old 09-05-2015, 02:40 AM   #22
vanhaze
Human being with feelings
 
vanhaze's Avatar
 
Join Date: Jul 2012
Location: Netherlands
Posts: 5,247
Default

Quote:
Originally Posted by TBProAudio View Post
After feedback from user David Else about my JSFX plugin AB Level Matching JSFX i made a plugin which automatically levels the gain of the input to a certain level and restores the level after a number of plugins.



This could be useful for your work with certain VSTs like Nebula which require a certain gain level to work properly.

Please download here.

How it works:

1. Place AutoGainStage_src before plugins you want to gain stage and AutoGainStage_cntrl after
2. Click "SYNC PDC" to get delay of your chain
2. Setup Drive Reference Level, e.g. -18 for most Nebula custom programs (0dBVU = -18dBfs)
3. Set Drive Control to "Analyse" in order to determine necessary gain to reach reference level and then let the DAW play ...
4. Set Drive Control to "Drive" in order to "drive" the following plugins with measured add. gain, the add. gain will be compensated in the control plugin
5. Click "BYPASS" button to switch between processed and unprocessed signal
6. Have phun with it :-)

Changelog
1.0: first public release
1.1: Rearrangement of includes
1.2: Automatic PDC Calculation
1.3: LinkID Bug Fixed, PDC extended to 128k Smp
1.4: LinkID as drop-down menue, removed libs
1.5: Small Fixes

Please let me know if you find it useful and if there are possible improvements, thanks

regards
Thomas
So let's say i have 3 (or whatever number) FX plugins in a chain.
Those plugins don't have input and output metering, so i can't see if input and output signals of plugins are too hot.
Does it mean that this script automatically cares for those signals , not being too hot ?

That would be just awesome :0)
vanhaze is offline   Reply With Quote
Old 09-12-2015, 04:11 AM   #23
TBProAudio
Human being with feelings
 
TBProAudio's Avatar
 
Join Date: May 2014
Location: Germany
Posts: 643
Default

Well, if you have a plugin like Nebula and you have loaded a program that works best at -18dB (there are some console programs), then AGS cares for the right input level (-18dB) regardless how hot the original signal is.

So, if you have 3 plugins you need to warp each of them with the AGS combo (just use different LinkIDs) and the the right Drive Reference Level :-)

regards
TBProAudio
__________________
www.tbproaudio.de
TBProAudio is offline   Reply With Quote
Old 09-12-2015, 04:51 AM   #24
vanhaze
Human being with feelings
 
vanhaze's Avatar
 
Join Date: Jul 2012
Location: Netherlands
Posts: 5,247
Default

Aha, many thanks for the clarification !
vanhaze is offline   Reply With Quote
Old 09-12-2015, 05:02 AM   #25
TBProAudio
Human being with feelings
 
TBProAudio's Avatar
 
Join Date: May 2014
Location: Germany
Posts: 643
Default

New Version V1.9
__________________
www.tbproaudio.de
TBProAudio is offline   Reply With Quote
Old 09-12-2015, 08:19 AM   #26
vitalker
Human being with feelings
 
vitalker's Avatar
 
Join Date: Dec 2012
Posts: 13,333
Default

Quote:
Originally Posted by TBProAudio View Post
New Version V1.9
What is new?
vitalker is online now   Reply With Quote
Old 09-12-2015, 08:38 AM   #27
TBProAudio
Human being with feelings
 
TBProAudio's Avatar
 
Join Date: May 2014
Location: Germany
Posts: 643
Default

Small fixes and R5 compatibility :-)
__________________
www.tbproaudio.de
TBProAudio is offline   Reply With Quote
Old 07-17-2019, 03:51 PM   #28
Juljan
Human being with feelings
 
Join Date: Apr 2019
Posts: 62
Default

Quote:
Originally Posted by TBProAudio View Post
After feedback from user David Else about my JSFX plugin AB Level Matching JSFX i made a plugin which automatically levels the gain of the input to a certain level and restores the level after a number of plugins.



This could be useful for your work with certain VSTs like Nebula which require a certain gain level to work properly.

Please download here.

How it works:

1. Place AutoGainStage_src before plugins you want to gain stage and AutoGainStage_cntrl after
2. Click "SYNC PDC" to get delay of your chain
2. Setup Drive Reference Level, e.g. -18 for most Nebula custom programs (0dBVU = -18dBfs)
3. Set Drive Control to "Analyse" in order to determine necessary gain to reach reference level and then let the DAW play ...
4. Set Drive Control to "Drive" in order to "drive" the following plugins with measured add. gain, the add. gain will be compensated in the control plugin
5. Click "BYPASS" button to switch between processed and unprocessed signal
6. Have phun with it :-)

Changelog
1.0: first public release
1.1: Rearrangement of includes
1.2: Automatic PDC Calculation
1.3: LinkID Bug Fixed, PDC extended to 128k SMP
1.4: LinkID as drop-down menu, removed libs
1.5: Small Fixes
1.6: Removed TP measurement
1.7: Small fixes
1.8: Small fixes, R5 compatibility

Please let me know if you find it useful and if there are possible improvements, thanks

regards
Thomas
I am sorry but I don't understand the use of that JSFX at all.
Is it possible to put source and control one after another so that I can simply gain stage down to -18 dBFS? It always felt like there was no effect on the sound.
Juljan is offline   Reply With Quote
Old 07-17-2019, 09:49 PM   #29
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,773
Default

Gain staging will only have an effect on non-linear effects (dynamics, distortion, ...) that don't feature an appropriate input level control.

-Michael
mschnell is offline   Reply With Quote
Old 07-17-2019, 10:18 PM   #30
TBProAudio
Human being with feelings
 
TBProAudio's Avatar
 
Join Date: May 2014
Location: Germany
Posts: 643
Default

Quote:
Originally Posted by Juljan View Post
I am sorry but I don't understand the use of that JSFX at all.
Is it possible to put source and control one after another so that I can simply gain stage down to -18 dBFS? It always felt like there was no effect on the sound.

AB Level Matching JSFX works different, as mschnell explained.
It ensures that the sandwiched plugin chain is feed with a certain loudness level. The levels outside are untouched.

If you need a certain level in your plugin chain you may look at GainRider2.
__________________
www.tbproaudio.de
TBProAudio is offline   Reply With Quote
Old 07-24-2019, 09:20 AM   #31
Juljan
Human being with feelings
 
Join Date: Apr 2019
Posts: 62
Default

Sorry for my late reply.
Okay, then I know what it is about. Thanks!
Juljan is offline   Reply With Quote
Old 07-26-2019, 07:15 AM   #32
hopi
Human being with feelings
 
hopi's Avatar
 
Join Date: Oct 2008
Location: Right Hear
Posts: 15,618
Default

plz... where exactly is the reaplugs beta?
__________________
...should be fixed for the next build... http://tinyurl.com/cr7o7yl
https://soundcloud.com/hopikiva
hopi is offline   Reply With Quote
Old 07-26-2019, 08:19 AM   #33
TBProAudio
Human being with feelings
 
TBProAudio's Avatar
 
Join Date: May 2014
Location: Germany
Posts: 643
Default

Quote:
Originally Posted by hopi View Post
plz... where exactly is the reaplugs beta?

please look here: https://www.reaper.fm/reaplugs/index.php
__________________
www.tbproaudio.de
TBProAudio is offline   Reply With Quote
Old 12-30-2019, 08:36 PM   #34
SubbaseDnB
Human being with feelings
 
Join Date: May 2017
Posts: 454
Default

so this works abit like the Hornet Normalizer?
SubbaseDnB is offline   Reply With Quote
Old 12-31-2019, 01:59 AM   #35
TBProAudio
Human being with feelings
 
TBProAudio's Avatar
 
Join Date: May 2014
Location: Germany
Posts: 643
Default

Quote:
Originally Posted by SubbaseDnB View Post
so this works abit like the Hornet Normalizer?
I do not know much about Hornet Normalizer but Auto Gain Staging works differently. It helps to feed your sandwiched plugin with the "sweet spot" loudness level by adding (or removing) a fixed gain. Afterwards the additional gain is removed (or added). This ensures the consistency of loudness levels across the track.

In short: Auto Gain Staging works with fixed additional gain, volume normalizer work usually with dynamic gain to keep loudness constant => different concept.

Usage of the plugin is described in the source code.

I hope this helps.
__________________
www.tbproaudio.de
TBProAudio is offline   Reply With Quote
Old 03-15-2021, 12:39 PM   #36
Vagelis
Human being with feelings
 
Vagelis's Avatar
 
Join Date: Oct 2017
Location: Larisa, Greece
Posts: 3,827
Default

Link is expired.
Vagelis is offline   Reply With Quote
Old 03-15-2021, 12:58 PM   #37
vitalker
Human being with feelings
 
vitalker's Avatar
 
Join Date: Dec 2012
Posts: 13,333
Default

Quote:
Originally Posted by Vagelis View Post
Link is expired.
Go here: https://www.tb-software.com/TBProAudio/download.html
And you'll find all the JS under Reaper JSFX Plugins section.
vitalker is online now   Reply With Quote
Old 03-15-2021, 01:08 PM   #38
Vagelis
Human being with feelings
 
Vagelis's Avatar
 
Join Date: Oct 2017
Location: Larisa, Greece
Posts: 3,827
Default

Cool, thanks!
Vagelis is offline   Reply With Quote
Old 03-31-2021, 10:50 AM   #39
Lynx_TWO
Human being with feelings
 
Lynx_TWO's Avatar
 
Join Date: Dec 2019
Location: St Petersburg FL
Posts: 999
Default

I’m currently out of state but will be trying this soon…. My question is this; if I sandwich this script/plugins between multiple plugins across multiple tracks (designed to increase threading efficiency) will it work properly in the analysis stage? Most gain staging plugins I use end up doing this:

https://forum.cockos.com/showthread.php?t=248906
Lynx_TWO is offline   Reply With Quote
Old 03-31-2021, 10:54 PM   #40
TBProAudio
Human being with feelings
 
TBProAudio's Avatar
 
Join Date: May 2014
Location: Germany
Posts: 643
Default

Quote:
Originally Posted by Lynx_TWO View Post
I’m currently out of state but will be trying this soon…. My question is this; if I sandwich this script/plugins between multiple plugins across multiple tracks (designed to increase threading efficiency) will it work properly in the analysis stage? Most gain staging plugins I use end up doing this:

https://forum.cockos.com/showthread.php?t=248906



Sender/receiver pair does not work across multiple tracks, only within a track. Sender and receiver cannot be synchronized across tracks.


Auto Gain Staging JSFX does not modify the gain structure of the track.

It ensures that the input loudness of the FX chain meets the reference e.g. -18 dBFS and afterwards that the output is back to original level of the track.

So it just helps that the FX chain operated at the sweet spot:-)
__________________
www.tbproaudio.de
TBProAudio 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:27 AM.


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