Any zero-latency vst limiters?

VST, AU, etc. plug-in Virtual Effects discussion
KVRist
40 posts since 31 Jan, 2021

Post Wed Apr 07, 2021 10:11 pm

Is there such a thing as a zero-latency limiter vst? I often go back and forth between preliminary mixing and tracking/recording as I am working on a song. I have zeroed down my effects plugins to just a few, all with zero latency. Ableton, the DAW I work in, adds plugin latency even if when such plugins are disabled, so I generally avoid plugins with any latency until the final mix stage. It would be ideal as I am listening to a song to have a zero-latency limiter on the mix bus so I don't have to remove it temporarily if I decide to redo or add another track.

KVRist
464 posts since 7 Dec, 2018 from Saint-Petersburg

Post Thu Apr 08, 2021 2:45 am

PSP Twin-L

KVRist
133 posts since 12 Sep, 2007

Post Thu Apr 08, 2021 4:43 am

There will always be latency with any VST.
Latency shouldn't be a concern when mixing, unless it's live mixing.

Have you considered another host for mixing/mastering?
Good luck,
Dirk

User avatar
KVRAF
4177 posts since 15 Nov, 2006 from Hell

Post Thu Apr 08, 2021 4:52 am

Dirk Diggler wrote:
Thu Apr 08, 2021 4:43 am
There will always be latency with any VST.
when people say "zero latency" they mean "zero additional latency". there are loads of VST plugins that don't add latency.
From Russia with love
Our online jams (if you speak Russian - you're welcome to join!)

KVRist
107 posts since 8 Jan, 2018

Post Thu Apr 08, 2021 5:00 am

I guess there are but imo lookahead is something important in a limiter, so the "good ones" will add latency.

AKJ
KVRAF
1872 posts since 2 Mar, 2004

Post Thu Apr 08, 2021 6:57 am

Voxengo Ebus Lim

KVRAF
3546 posts since 17 Dec, 2009

Post Thu Apr 08, 2021 7:31 am

AKJ wrote:
Thu Apr 08, 2021 6:57 am
Voxengo Ebus Lim
23 samples / 0.5ms, but yes, its one of the fastest.

logic's own limiter has 1 sample of latency with no lookahead but its trash

AKJ
KVRAF
1872 posts since 2 Mar, 2004

Post Thu Apr 08, 2021 8:03 am

Ploki wrote:
Thu Apr 08, 2021 7:31 am
AKJ wrote:
Thu Apr 08, 2021 6:57 am
Voxengo Ebus Lim
23 samples / 0.5ms, but yes, its one of the fastest.

logic's own limiter has 1 sample of latency with no lookahead but its trash
I don't think that we have to take the zero too literally here. It is a latency that does not matter for the application described by the op. And, what is more, Ebus Lim sounds superb.

\RU
KVRer
24 posts since 19 Feb, 2018

Post Thu Apr 08, 2021 8:13 am

Not zero-latency, but DMG TrackLimit is a limiter with low-latency. It adds as much as the buffer size of your DAW, and can go as low as 15 samples (as long as your computer can handle it).

KVRian
1003 posts since 26 Feb, 2018

Post Thu Apr 08, 2021 8:17 am

Limiters typically need a bit of latency and oversampling to do their job right, particularly if you want them to act as a brickwall.

Having said that, I appreciate a zero latency low CPU limiter for tracking purposes. You can use any compressor at 20:1 ratio for this purpose. It won't be a brickwall but it'll do the job of protecting whatever comes next.

Fircomp can be used this way
https://jonvaudio.com/fircomp/

I have the paid version, but the free one should work the same. Set it to highest ratio and fastest attack (and zero latency), and you got a good limiter.

Your DAW may come with a limiter without latency. Check there.

Personally, I'm still tracking with the first version of Soundspot Velo. It could be bought for around $1 before v2. It did not have latency and oversampling so it wasn't a great limiter, but it is designed as a limiter and it does the safety job while tracking. I may replace it with Fircomp2 once I get more comfortable with it.

KVRist

Topic Starter

40 posts since 31 Jan, 2021

Post Thu Apr 08, 2021 8:39 am

Thanks everyone for the suggestions.

KVRAF
3546 posts since 17 Dec, 2009

Post Thu Apr 08, 2021 10:07 am

AKJ wrote:
Thu Apr 08, 2021 8:03 am

I don't think that we have to take the zero too literally here. It is a latency that does not matter for the application described by the op. And, what is more, Ebus Lim sounds superb.
oh yeah i agree, i was just being pedantic

KVRist
203 posts since 30 Sep, 2002

Post Thu Apr 08, 2021 11:35 am

The JS plugin "MGA JS Limiter" which any vst host can use via the ReaJS plugin has no latency. I use it as a safety valve. It comes with Reaper.

Here's the code. It's not that large.

Code: Select all

// MGA JS Limiter: Limits the maximum output volume of a audio signal
// Copyright (C) 2008  Michael Gruhn
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program.  If not, see <http://www.gnu.org/licenses/>.

desc:MGA JS Limiter
//tags: dynamics limiter
//author: LOSER

slider1:0<-30,0,0.1>Threshold (dB)
slider2:200<0,500,1>Release (ms)
slider3:-0.1<-6,0,0.1>Ceiling

in_pin:left input
in_pin:right input
out_pin:left output
out_pin:right output

@init
HOLDTIME = srate/128;

r1Timer = 0;
r2Timer = HOLDTIME/2;

gr_meter=1;
gr_meter_decay = exp(1/(1*srate));

@slider
thresh = 10^(slider1/20);
ceiling = 10^(slider3/20);
volume = ceiling/thresh;

release = slider2/1000;
r = exp(-3/(srate*max(release,0.05)));

@sample
maxSpls=max(abs(spl0),abs(spl1));

(r1Timer+=1) > HOLDTIME ? (r1Timer = 0; max1Block = 0; );
max1Block = max(max1Block,maxSpls);
(r2Timer+=1) > HOLDTIME ? (r2Timer = 0; max2Block = 0; );
max2Block = max(max2Block,maxSpls);

envT = max(max1Block,max2Block);

env = env < envT ? envT : envT + r*(env-envT);

(env > thresh) ? gain = (g_meter=(thresh / env))*volume : (g_meter=1; gain=volume;);

spl0*=gain;
spl1*=gain;

g_meter < gr_meter ? gr_meter=g_meter : ( gr_meter*=gr_meter_decay; gr_meter>1?gr_meter=1; );

@gfx 0 32 // request horizontal/vertical heights (0 means dont care)

  gr_meter *= exp(1/30); gr_meter>1?gr_meter=1; // decay meter here so if the audio processing stops it doesnt "stick"
  gfx_r=1; gfx_g=gfx_b=0; gfx_a=0.8;
  
  meter_bot=20;
  meter_h=min(gfx_h,32);
  xscale=gfx_w*20/meter_bot;

  gfx_y=0;
  gfx_x=gfx_w + log10(gr_meter)*xscale;
  gfx_rectto(gfx_w,meter_h);

  gfx_r=gfx_g=gfx_b=1.0; gfx_a=0.6;

  s2=sqrt(2)/2;
  g = s2;
  while(
    gfx_x=gfx_w + log10(g)*xscale;
    gfx_x >= 0 ? 
    (
      gfx_y=0;
      gfx_lineto(gfx_x,meter_h,0);
      gfx_y=meter_h-gfx_texth;
      gfx_x+=2;
      gfx_drawnumber(log10(g)*20,0);
      gfx_drawchar($'d');
      gfx_drawchar($'B');
    );
    g*=s2;
    gfx_x >=0;
  );
  gfx_a=1;

  gfx_x=0; gfx_y=meter_h/2 - gfx_texth/2;
  gfx_drawnumber(log10(gr_meter)*20,1);
  gfx_drawchar($'d');
  gfx_drawchar($'B');
  
Will mix for fun

KVRAF
3700 posts since 26 Nov, 2015 from Way Downunder

Post Thu Apr 08, 2021 9:04 pm

AKJ wrote:
Thu Apr 08, 2021 8:03 am
Ploki wrote:
Thu Apr 08, 2021 7:31 am
AKJ wrote:
Thu Apr 08, 2021 6:57 am
Voxengo Ebus Lim
23 samples / 0.5ms, but yes, its one of the fastest.

logic's own limiter has 1 sample of latency with no lookahead but its trash
I don't think that we have to take the zero too literally here. It is a latency that does not matter for the application described by the op. And, what is more, Ebus Lim sounds superb.
Checkout Ebus Lim in Plugindoctor. It refuses to alias, without oversampling. No idea what clever tricks it does to achieve that.

User avatar
KVRian
1450 posts since 30 May, 2003 from Milan, Italy

Post Fri Apr 09, 2021 3:30 am

Second FIRComp/2.

Return to “Effects”