Old 05-18-2014, 12:29 AM   #1
TBProAudio
Human being with feelings
 
TBProAudio's Avatar
 
Join Date: May 2014
Location: Germany
Posts: 643
Default AB Level Matching JSFX

Hey all,

JSFX is amazing!!!!!
So i want to give something back: AB Level Matching JSFX.







This script combo matches automatically the loudness level at the beginning of your plugin chain with the level at the end.
It also provides a automatic delay compensation. Additionally it could automatically calculate the PDC of your plugin chain in oder to compare audiostreams at the sample position.
It also shows some audio-statistics and a GUI for loudness distribution.A short manual is included.

You can download the package here: www.tb-software.com/TBProAudio

Please to note: The scripts are provided as they are, so no guarantee for correctness and error free functionality :-)

Feel free to give any comment, everything can be improved.

Changelog
1.1: first public release
1.2: add options:gmem=TBProAudio_AB_LM, share gmem exclusively within AM_LM scripts, thanks to James HE
1.3: add A/B button in graphics section, "blind" AB test, thanks to Seventh
1.4: Complete audio analysis in one class, loudness distribution gfx in one class, some visual improvements
1.5: Added ITU-R BS.1770-2 Prefilter
1.6: Small bug fixes, added button autogain and hold
1.7: Re Arrangement of includes, TB Detection added
1.8: Automatic PDC Calculation, Lite Version of plugin (less sliders :-) )
1.9: Use of faster PDM (plugin delay measurement), prefilter button added
2.0: Limititation to only negative Autogain values removed, fixed bug in plugin delay measurement (detect zero delay)
2.1: LinkID Bug Fixed, PDC extended t0 128k Smp, delayed Autogain measurement to avoid heavy volume jumps at the beginning
2.2: LinkID as DropDown Menu, smoothed AutoGain Changes, First gain changes after 2000ms
2.3: New Audio Measurement Class
2.4: Small Fixes
2.5: Make new TP measurement on/off (default off)
2.7: Small fixes, R5 compatibility

regards
Thomas

PS: Please also note there is a script made by user spk77 which enables short-cuts for JSFX.

Code:
#fx_name = "AB_LM_cntrl"; 
parameter_index = 1; // parameter index for "bypass" is 1 (AB_LM_cntrl JSFX)

i = 0;
loop(CountSelectedTracks(0),
  sel_track = GetSelectedTrack(0, i);
  fx_i = TrackFX_GetByName(sel_track, #fx_name, 0);
  fx_i > -1 ? (
    bypass_state = TrackFX_GetParam(sel_track, fx_i, parameter_index, 0, 0); 
    TrackFX_SetParam(sel_track, fx_i, parameter_index, !bypass_state);
  );
  i += 1;
);
Save this python script as *.ell and assign it to any kb short-cut. You can reuse it by changing "#fx_name"

PPS: Fruity Loops
Some notes to the usage of the scripts together with ReaPlugs in Fruity Loops. As FL is using variable frame length for audio processing at least the scripts from TB Pro Audio do not work properly. The communication between source and control plugin is done via fixed sized frame buffers. To solve this you need to reconfigure the FL VST wrapper for all ReaPlug VSts to use "fixed size buffers". Just enable this and select "Use block as buffer size" as option. Please find more info here.
__________________
www.tbproaudio.de

Last edited by TBProAudio; 08-18-2019 at 10:43 PM. Reason: V2.7
TBProAudio is offline   Reply With Quote
Old 05-19-2014, 01:13 PM   #2
amagalma
Human being with feelings
 
amagalma's Avatar
 
Join Date: Apr 2011
Posts: 3,451
Default

Thank you very much for sharing it with us!
I am going to try it and report back!
amagalma is offline   Reply With Quote
Old 05-19-2014, 02:43 PM   #3
amagalma
Human being with feelings
 
amagalma's Avatar
 
Join Date: Apr 2011
Posts: 3,451
Default

It works very nice and does an accurate analysis! Thank you very much! Great tool!
amagalma is offline   Reply With Quote
Old 05-19-2014, 03:30 PM   #4
James HE
Human being with feelings
 
James HE's Avatar
 
Join Date: Mar 2007
Location: I'm in a barn
Posts: 4,467
Default

Hi! checking it out now.

Here is one thing you can do to avoid gmem clashing with other effects. after your desc:, type:


options: gmem=TBProABlevel

(or whatever you want to name it, make it unique. Do the same for both the effects here)

this will create a unique address space - and also expand the memory!

this feature is quite new and I don't even think it's been documented outside of some pre-release discussions.
James HE is offline   Reply With Quote
Old 05-19-2014, 10:20 PM   #5
TBProAudio
Human being with feelings
 
TBProAudio's Avatar
 
Join Date: May 2014
Location: Germany
Posts: 643
Default

Hi James HE,

many thanks for the tip. Using gmem was the weak point in this script :-)
So i fixed it and released V1.2, available here.

regards
Thomas
__________________
www.tbproaudio.de
TBProAudio is offline   Reply With Quote
Old 05-20-2014, 02:49 AM   #6
Seventh
Human being with feelings
 
Seventh's Avatar
 
Join Date: Sep 2010
Location: Finland
Posts: 776
Default

Very nice tool, thank you for this awesome freebie!

Here's a couple of thoughts:

The dropdown box for bypass doesn't allow blind A/B, as you always know which one is which. Would it be possible to have a bypass button in the graphic section, so you could close your eyes and click it until you don't know if you're listening to the processed signal or not, except by using your ears.

The matching works very well in general applications, but when the processing increases low frequency content, or boosts frequency areas where the ear is the most perceptive, the balance might not sound perfect. I think the EBU loudness algos are meant to overcome this problem, but I'm not sure how much work it would require to implement them in JS?
Seventh is offline   Reply With Quote
Old 07-11-2015, 01:29 PM   #7
rdesanti
Human being with feelings
 
rdesanti's Avatar
 
Join Date: Apr 2013
Location: Lake Havasu City, Arizona
Posts: 151
Default

Quote:
Originally Posted by amagalma View Post
It works very nice and does an accurate analysis! Thank you very much! Great tool!
I'm new to JSFX and want to install this! I have a MAC with OSX Yosemite Reaper 64 bit 4.78 I need a link that has directions.
THANKS AHEAD!
__________________
--Mac Mini, 3 GHz 2 core i7 CPU, 16GB RAM, OSX Catalina V10.15.7 Crucial 1TB primary SSD, 500GB Samsung T5 SSD ext Audio drive,dual 27" displays, Reaper 64 bit latest, SSL 2+ interface, Mackie MR8 Mk 3 8" Monitors and Mackie VLZ 1404 mixer. 30 years in Audio.
rdesanti is offline   Reply With Quote
Old 07-11-2015, 02:23 PM   #8
kindafishy
Human being with feelings
 
kindafishy's Avatar
 
Join Date: Mar 2009
Posts: 4,025
Default

This may be my most used plugin ever. Indispensable.

I have a very small request if it is possible. The channel id that has to be selected with every pair. Is is possible for these to get these to just be set to the the track number so they don't have to be manually set? Maybe with a checkbox override to set them to something else if that's a problem for whatever reason? Any other means to auto select a unique channel would be awesome. For my purposes, I never have more than one pair on a track, so auto setting it to the track number would be good for me.

It would just make it ever so more awesome if this didn't need to be manually selected for every track.

Seems silly to make a request of such an awesome tool that was graciously given out for free, but I figured I would throw it out there anyway.
kindafishy is offline   Reply With Quote
Old 07-11-2015, 10:58 PM   #9
TBProAudio
Human being with feelings
 
TBProAudio's Avatar
 
Join Date: May 2014
Location: Germany
Posts: 643
Default

Quote:
Originally Posted by kindafishy View Post
I have a very small request if it is possible. The channel id that has to be selected with every pair. Is is possible for these to get these to just be set to the the track number so they don't have to be manually set?
Very nice idea, but to my knowledge JS does not know the channel attached to.
Currently AB Level Matching JSFX works with (REAPER) global mem buffer.
If there would be a channel global mem buffer autolink could be implemented :-)

Regards
TBProAudio
__________________
www.tbproaudio.de
TBProAudio is offline   Reply With Quote
Old 07-11-2015, 03:55 PM   #10
hopi
Human being with feelings
 
hopi's Avatar
 
Join Date: Oct 2008
Location: Right Hear
Posts: 15,618
Default

Quote:
Originally Posted by rdesanti View Post
I'm new to JSFX and want to install this! I have a MAC with OSX Yosemite Reaper 64 bit 4.78 I need a link that has directions.
THANKS AHEAD!
though I'm mostly on a PC, on Mac it should still be easy...

with reaper open find the menu item that shows you the Reaper Resource path... [good idea on Mac to make a shortcut of that so you can get to it quickly]

In there should be a folder called Effects...

Put the AB Level Matching JSFX Folder into that Effects Folder

then in reaper's FX browser, look for the JS heading on the left, clk it and the AB Level Matching thing should show up...

Add the two needed to a track [src at top, and one of the cntrl's at bottom...

Now you might want to put other FX between those two and then save the whole thing as an FX Chain... or several with various other FX between the AB Level stuff...

clear enough?
__________________
...should be fixed for the next build... http://tinyurl.com/cr7o7yl
https://soundcloud.com/hopikiva
hopi is offline   Reply With Quote
Old 07-11-2015, 05:11 PM   #11
EpicSounds
Human being with feelings
 
EpicSounds's Avatar
 
Join Date: Jul 2009
Posts: 7,568
Default




https://www.youtube.com/watch?v=9EegrN-gF5o


Also FYI I promoted this set of plugins on the blog this week

http://reaperblog.net/2015/07/ab-level-matching-jsfx/
__________________
REAPER Video Tutorials, Tips & Tricks and more at The REAPER Blog
EpicSounds is offline   Reply With Quote
Old 07-12-2015, 11:26 AM   #12
rdesanti
Human being with feelings
 
rdesanti's Avatar
 
Join Date: Apr 2013
Location: Lake Havasu City, Arizona
Posts: 151
Default

Quote:
Originally Posted by rdesanti View Post
I'm new to JSFX and want to install this! I have a MAC with OSX Yosemite Reaper 64 bit 4.78 I need a link that has directions.
THANKS AHEAD!
UPDATE: Thanks for the VIDEO! Works GREAT! Now in my favorites folder :-)
__________________
--Mac Mini, 3 GHz 2 core i7 CPU, 16GB RAM, OSX Catalina V10.15.7 Crucial 1TB primary SSD, 500GB Samsung T5 SSD ext Audio drive,dual 27" displays, Reaper 64 bit latest, SSL 2+ interface, Mackie MR8 Mk 3 8" Monitors and Mackie VLZ 1404 mixer. 30 years in Audio.
rdesanti is offline   Reply With Quote
Old 09-12-2015, 05:01 AM   #13
TBProAudio
Human being with feelings
 
TBProAudio's Avatar
 
Join Date: May 2014
Location: Germany
Posts: 643
Default

New version V2.7
__________________
www.tbproaudio.de
TBProAudio is offline   Reply With Quote
Old 07-10-2015, 08:08 PM   #14
rdesanti
Human being with feelings
 
rdesanti's Avatar
 
Join Date: Apr 2013
Location: Lake Havasu City, Arizona
Posts: 151
Default

Quote:
Originally Posted by amagalma View Post
Thank you very much for sharing it with us!
I am going to try it and report back!
I think this would be cool, however I have no clue as to how to install it on my MAC. Any help would be appreciated!
__________________
--Mac Mini, 3 GHz 2 core i7 CPU, 16GB RAM, OSX Catalina V10.15.7 Crucial 1TB primary SSD, 500GB Samsung T5 SSD ext Audio drive,dual 27" displays, Reaper 64 bit latest, SSL 2+ interface, Mackie MR8 Mk 3 8" Monitors and Mackie VLZ 1404 mixer. 30 years in Audio.
rdesanti is offline   Reply With Quote
Old 07-11-2015, 01:15 AM   #15
X-Raym
Human being with feelings
 
X-Raym's Avatar
 
Join Date: Apr 2013
Location: France
Posts: 9,874
Default

Check on The REAPER blog, there is a recent video tutorial about loading a jfx :P
X-Raym is offline   Reply With Quote
Old 06-14-2014, 06:53 AM   #16
Seventh
Human being with feelings
 
Seventh's Avatar
 
Join Date: Sep 2010
Location: Finland
Posts: 776
Default

Thank you for your continuing work on this amazing plugin. Also thank you for the lite version and fixing the positive autogain issue. I shall place AB_LMLT_src and _cntrl in my default track fx.

Cheers!
__________________
Grey, flat and minimal theme for Reaper: Symbiosis
Seventh is offline   Reply With Quote
Old 06-14-2014, 03:52 PM   #17
David Else
Human being with feelings
 
Join Date: Mar 2012
Posts: 610
Default

I have almost finished a 7 minute video tutorial on using this amazing plug-in!

I love it that Thomas just created this and then added user requests so quickly, its such a victory for community spirit and free software!

The video is all written and the script recorded, I just need to finish the screen casting and editing. I hope it will get more users for this plug-in and help promote TB Pro Audio

I will link it here when it's posted early next week, it even has an evil monkey to warn people of the dangers of not volume matching
__________________
----------> Debian Linux Distribution = Computing Joy & Freedom <----------

Last edited by David Else; 06-14-2014 at 04:57 PM.
David Else is offline   Reply With Quote
Old 06-14-2014, 03:56 PM   #18
Fergler
Human being with feelings
 
Fergler's Avatar
 
Join Date: Jan 2014
Posts: 5,205
Default

Freakin brilliant, thank you... I will use this in my guitar chain to deal with distortion gain boosts (instead of what I have now.. a JS/volume insert that is parameter modulated to turn on when I activate distortion lol)
Fergler is offline   Reply With Quote
Old 06-16-2014, 03:59 PM   #19
David Else
Human being with feelings
 
Join Date: Mar 2012
Posts: 610
Default

I have done a full video tutorial for this JSFX plug-in! Check it out:

http://www.learndigitalaudio.com/blo...-free-plug-ins

Please let me know what you think
__________________
----------> Debian Linux Distribution = Computing Joy & Freedom <----------
David Else is offline   Reply With Quote
Old 06-16-2014, 09:17 PM   #20
RJHollins
Human being with feelings
 
Join Date: Dec 2011
Posts: 2,161
Default

Big Thanks TB for both developing AND releasing as a free plug !

This is a feature that I miss from WaveLab when using other DAWs.

I've been testing v1.8, but am interested to see how v2 works. A bit of concern regarding the:
"... updated to 2.0 which removes the limitation to only negative autogain values.
By doing this you need to protect the final output, not overshooting 0dB!!"

I see how that goes.

I would like to mention that I've also run into the 'glitch' mentioned before ... sometimes the audio gives a click and then goes silent. The only way out is to remove the 'Cntrl' plug and re-insert. I've not been able to determine how to replicate this issue as yet.

Regardless ... thanks again !

Sincerely.
RJHollins is online now   Reply With Quote
Old 06-22-2014, 12:53 AM   #21
TBProAudio
Human being with feelings
 
TBProAudio's Avatar
 
Join Date: May 2014
Location: Germany
Posts: 643
Default

Quote:
Originally Posted by David Else View Post
I have done a full video tutorial for this JSFX plug-in! Check it out:

http://www.learndigitalaudio.com/blo...-free-plug-ins

Please let me know what you think
This video is amazing, a big, big thanks
And i like the EBU monkey!!
__________________
www.tbproaudio.de
TBProAudio is offline   Reply With Quote
Old 06-22-2014, 02:13 AM   #22
G-Sun
Human being with feelings
 
G-Sun's Avatar
 
Join Date: May 2010
Location: Norway
Posts: 7,318
Default

Quote:
Originally Posted by David Else View Post
I have done a full video tutorial for this JSFX plug-in! Check it out:

http://www.learndigitalaudio.com/blo...-free-plug-ins

Please let me know what you think
Excellent video and excellent plugin
__________________
Reaper x64, win 11
Composer, text-writer, producer
Bandcamp
G-Sun is offline   Reply With Quote
Old 06-28-2014, 02:59 PM   #23
donchilcott
Human being with feelings
 
donchilcott's Avatar
 
Join Date: Aug 2011
Location: Santa Cruz, Ca
Posts: 480
Default Thank You

I wanted Ian Shephard's "Perception" bad but need to pause a bit and I came across this plugin. It's such an important part of Mixing/Mastering I am surprised companies didn't develop this type of plugin long ago. .. Will you have versions for other Daws? Mac? Standalone? Thank You...
donchilcott is offline   Reply With Quote
Old 06-29-2014, 12:50 AM   #24
TBProAudio
Human being with feelings
 
TBProAudio's Avatar
 
Join Date: May 2014
Location: Germany
Posts: 643
Default

Quote:
Originally Posted by donchilcott View Post
.. Will you have versions for other Daws? Mac? Standalone? Thank You...
Other DAWs: ReaPlugs V2.2 Beta is your choice to run the scripts in other WIN DAWs.
Mac: You could use Reaper for Mac, i´m not sure if there are ReaPlugs for Mac.
Standalone: Im not sure if i get the point here
__________________
www.tbproaudio.de
TBProAudio is offline   Reply With Quote
Old 08-18-2014, 05:44 AM   #25
karumba
Human being with feelings
 
Join Date: Apr 2011
Location: Alzenau, Germany
Posts: 67
Default

thomas, thanks for that nice script!
i've one suggestion (i'm using v2.1): every time i jump to a different section of a song (or to a different song), all settings are fully reset. even if this is a nice feature since due to that the algorithm converges faster, sometimes the volume jumps can be quite extreme (imagine from 0db do +6dB in only a few ms). maybe it would be nice to have a slight transition/fade between the previous dB offset and the new one. i guess one second would be sufficient (or maybe configurable?). what do you think?

//edit: i've just seen:
"2.1: LinkID Bug Fixed, PDC extended t0 128k Smp, delayed Autogain measurement to avoid heavy volume jumps at the beginning"

but i get volume jumps as described above.
__________________
Jan Ohlhorst - affiliations: finemastering | suter/ohlhorst | Tokyo Dawn Labs | Ohlhorst Digital

Last edited by karumba; 08-18-2014 at 05:50 AM.
karumba is offline   Reply With Quote
Old 08-18-2014, 08:26 PM   #26
TBProAudio
Human being with feelings
 
TBProAudio's Avatar
 
Join Date: May 2014
Location: Germany
Posts: 643
Default

Karumba,
Just fading may not 100% work, but i will look into it:-)

regards
Thomas
__________________
www.tbproaudio.de
TBProAudio is offline   Reply With Quote
Old 08-18-2014, 11:02 PM   #27
TBProAudio
Human being with feelings
 
TBProAudio's Avatar
 
Join Date: May 2014
Location: Germany
Posts: 643
Default

Update to V2.2:
LinkID as Drop-down-menu, smoothed AutoGain changes, first gain changes after 2000ms

Both fixes should avoid drastic gain jumps during start phase.
I hope you like it.

regards
Thomas
__________________
www.tbproaudio.de
TBProAudio is offline   Reply With Quote
Old 11-01-2015, 07:14 PM   #28
donchilcott
Human being with feelings
 
donchilcott's Avatar
 
Join Date: Aug 2011
Location: Santa Cruz, Ca
Posts: 480
Default WHERE DO YOU INSTALL IT ?

WHERE DO YOU INSTALL IT ? lots of comments and even an instructional video - with no instructions on where to copy files. in one place it says install to JSFX folder... I have no JSFX folder... PLEASE Help
__________________
Reaper, Intel i7 machine with 24 gigs of ram, Win 7 , M-Audio FW 410, Alesis i02, i7 Laptop w Win 8.1, Fender Concert 2, Bugera V22, Fender Showman(Red Knob) Ibanez Artist335, Strat, Ibanez Les Paul, Epiphone Sheraton, ETC
donchilcott is offline   Reply With Quote
Old 11-01-2015, 10:21 PM   #29
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,685
Default

Quote:
Originally Posted by donchilcott View Post
I have no JSFX folder... PLEASE Help
In Windows the "JSFX Folder" is ....\<Application Data>\REAPER\Effects\

Here Reaper finds a JSFX in any subfolder.

-Michael
mschnell is online now   Reply With Quote
Old 11-13-2015, 02:41 AM   #30
donchilcott
Human being with feelings
 
donchilcott's Avatar
 
Join Date: Aug 2011
Location: Santa Cruz, Ca
Posts: 480
Default A B level Match Install

I nearly lost my mind trying to install the JSFX level Matching.
I had to place it in user\appdata\roaming... Works Great
__________________
Reaper, Intel i7 machine with 24 gigs of ram, Win 7 , M-Audio FW 410, Alesis i02, i7 Laptop w Win 8.1, Fender Concert 2, Bugera V22, Fender Showman(Red Knob) Ibanez Artist335, Strat, Ibanez Les Paul, Epiphone Sheraton, ETC
donchilcott is offline   Reply With Quote
Old 11-13-2015, 07:32 AM   #31
uglijimus
Human being with feelings
 
Join Date: Aug 2011
Posts: 196
Default

I ended up getting Perception and have never looked back. I love it. by the way, I love your avatar guitarded (^_^)
uglijimus 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 12:57 AM.


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