View Single Post
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