new Noise Gate plugin

Discussion in 'Effects and the DSP' started by Russ, Mar 21, 2006.

  1. Russ

    Russ Well-Known Member

    Joined:
    Jan 17, 2005
    Messages:
    5,722
    Likes Received:
    13
    Trophy Points:
    48
    Well that text uses a single threshold slider, where-as this plugin uses a seperate threshold slider for ON and OFF. (OFF should not be above ON for normal use). Also, note that it says that, when it falls below that threshold the gate begins to close (it doesn't say it in the text, but it also means that when the signal goes above that threshold the gate begins to open).
     
  2. Russ

    Russ Well-Known Member

    Joined:
    Jan 17, 2005
    Messages:
    5,722
    Likes Received:
    13
    Trophy Points:
    48
    I made a small change to the 3534f version. Let me know if it fixes the problem with the missing buttons (and hopefully the crashing problem).
     
  3. ReWired

    ReWired New Member

    Joined:
    Nov 28, 2003
    Messages:
    100
    Likes Received:
    0
    Trophy Points:
    0
    I mean that between ON and OFF there is no sound, right?
    If the sound drops below OFF - then no output.
    If the input level rises above the OFF, but below ON - then again no output.
    When finally ijnput signal rises above ON (of course it will be above OFF too) - we will hear output sound.

    EDIT: the new version still has no buttons
     
  4. Russ

    Russ Well-Known Member

    Joined:
    Jan 17, 2005
    Messages:
    5,722
    Likes Received:
    13
    Trophy Points:
    48
    No, what happens between those threholds depends on what state the gate is in at the time.

    If the gate is ON, then it stays ON if the signal level is in that that area (if it is ON, it will only go OFF again when it goes below the OFF threshold).

    Similairly, if the gate is OFF, then it stays OFF if the signal level is in that area (if it is OFF, it only goes ON again, when the signal is above the ON threshold).
     
  5. ReWired

    ReWired New Member

    Joined:
    Nov 28, 2003
    Messages:
    100
    Likes Received:
    0
    Trophy Points:
    0
    yes, I mean this, except that I missed to tell how the sound level goes:)
    if it falls down - then yes, between ON and OFF there will be sound.
    if it rises up - then between ON and OFF will be no sound.

    it is good to clarify those "small" things, as sometimes they can make such cool plugs unusable for average users :)
     
  6. Russ

    Russ Well-Known Member

    Joined:
    Jan 17, 2005
    Messages:
    5,722
    Likes Received:
    13
    Trophy Points:
    48
    Hmm, that is very strange. I am not sure why it would be like that.
    Other 3534f plugins do have the RESET/MUTE/BYPASS buttons, right? (I only tried 3534f briefly and really did not try any plugins with it, so I cannot be sure).
     
  7. ReWired

    ReWired New Member

    Joined:
    Nov 28, 2003
    Messages:
    100
    Likes Received:
    0
    Trophy Points:
    0
    yes, all plugs have it, also a drop-down list for presets
     
  8. Russ

    Russ Well-Known Member

    Joined:
    Jan 17, 2005
    Messages:
    5,722
    Likes Received:
    13
    Trophy Points:
    48
    Thanks for the info. I will have to install 3534f and take a look.
     
  9. Russ

    Russ Well-Known Member

    Joined:
    Jan 17, 2005
    Messages:
    5,722
    Likes Received:
    13
    Trophy Points:
    48
    Hmm, I see the buttons.
    Are you sure you didn't get a cached copy of the older version?

    Hold on a minute, and will will re-upload it, and change the name, to be sure you get the right one.
     
  10. Russ

    Russ Well-Known Member

    Joined:
    Jan 17, 2005
    Messages:
    5,722
    Likes Received:
    13
    Trophy Points:
    48
    Doh, I forgot to rename it, so I ended up overwriting the 3538j version instead, that is why you didn't get the right one. I re-uploaded both versions, so give it another try.
     
  11. ReWired

    ReWired New Member

    Joined:
    Nov 28, 2003
    Messages:
    100
    Likes Received:
    0
    Trophy Points:
    0
    the version I have now (WITH buttons) is modified at "23 March 2006 г., 09:41:14"
    probably the correct one :)
     
  12. Russ

    Russ Well-Known Member

    Joined:
    Jan 17, 2005
    Messages:
    5,722
    Likes Received:
    13
    Trophy Points:
    48
    Yup, that would be it. Sorry for the confusion, didn't get enough sleep... lol

    @thomasabarnes, let me know if you still have any crashing problems with the updated version.
     
  13. Maddogg6

    Maddogg6 Tail Razer

    Joined:
    Jun 21, 2005
    Messages:
    4,027
    Likes Received:
    26
    Trophy Points:
    0
    Im ONLY using those settings to 'stress test' the plugin, not really a 'needed' setting at the moment.

    An example situation for such settings would be - removing a dynamic background noise for say a video overdub. and only want the gate on when a speaker is talking - but want to remove the relativly lower background noise (traffic, birds, people tallking 'off set' etc..- which is dynamic, unlike noisefloor which is usually constant) which requires the need to have the ON and OFF thresholds pretty close.

    I used the TV sound to simulate this example situation... to have the gate on only with dialog, but OFF when the dynamic BG noises are normally only heard.

    Or consider in a live situation - when applied to the microphones for singers - you dont want the amps and such picked up (dynamic BG noise) - but want it on when they sing into the mic - with relative short attack release.
    As is - in this situation these pops *could* destroy speakers... not good.

    But I could see this scenario in a live multi-track recording situation too.

    Granted - a guitar gate is much easier, but usually has one threshold, and no hold setting. Maybe your intention isnt for these situations - if so, the additional controls really only complicate things. But if they're there - I'll *try* to use em.. lol.

    I agree - I wouldnt expect this behaviour - maybe a switch to choose either or algo's??
    Or a seperate plugin - but Id have to play with it to see how it behaves to tell if theres a 'real world' use for it this way..


    No, no look ahead - maybe on a compressor/gate - but not on ones Im refering to.

    I was thinking - scale the hold time with release - short release = short hold, long release - longer hold..?? this would make sense to me..?? I think.. lol

    Or a switch to do so (off = literal hold, ON = scaled hold) ??

    Im fixated on thinking its something with how the hold is implemented. But - I cant be sure really.

    Like I mentioned - it IS usable for constant BG noise levels... like for a guitar and such..
    But seeing all the 'advanced' gate controls makes one beleive its capable of 'advanced' situations.

    Did that make sense?
     
  14. thomasabarnes

    thomasabarnes Long Time ***** Friend

    Joined:
    Jan 7, 2003
    Messages:
    1,404
    Likes Received:
    13
    Trophy Points:
    48
    Russ:

    The new plugin version has the reset, Mute, bypass, and preset dropdown. The older one didn't. I haven't been to sleep, yet. I will fool around with it again when I get some sleep and awake.
     
  15. Russ

    Russ Well-Known Member

    Joined:
    Jan 17, 2005
    Messages:
    5,722
    Likes Received:
    13
    Trophy Points:
    48
    @Maddogg6, I think you are still talking about settings higher than you would use for the situations you descibe. Additionally, those settings do work, you just have to increase the hold time.
     
  16. Maddogg6

    Maddogg6 Tail Razer

    Joined:
    Jun 21, 2005
    Messages:
    4,027
    Likes Received:
    26
    Trophy Points:
    0
    Well - I still think that a 0 hold should still be usable - if I can set it to 0. (er, .0001) with .5 sec attack and .5 sec release. With such high attack/release - I wouldn't expect to ever hear any pops.

    The point of the example situations was - a close (1 to 3db) of difference between ON/OFF thresholds... (it makes no difference *where* they are set - but still close together...) is what I would use for removing a dynamic BG. (I had to sleep on how to articulate the 'dynamic BG' thing)

    for a fixed level BG - yes its working PERFECTLY...

    Its no big deal... if its for fun... I don't wanna frustrate ya...

    AS IS its a very usable guitar noise gate, but if it were up to me, I would remove the hold and combine the 2 thresholds to a single control (with a fixed ON/OFF level difference) - to make things simpler for that situation... as those additional settings are really only usefull for the examples I gave....(IMHO anyway). And having the 'extra controls' for a guitar noise gate (ie remove a fixed level BG noise) is like a flame thrower to light a cigarette. (Its painfull - btw... :D )

    Its your call of course - and again - sorry if I frustrate.... :duh:
    I'm just trying to be thorough for ya. But, I'm no stranger to moronic ideas..lol
     
  17. Lex Nahumury

    Lex Nahumury DH Senior Member

    Joined:
    Jan 5, 2003
    Messages:
    1,944
    Likes Received:
    6
    Trophy Points:
    0
    Russ,
    Although I haven't examined your microcode (too big),
    I probably use a different approach in my noise gate.
    Perhaps a few usefull tips;
    - implement a proper envelope follower.
    By the sound of it, yours act more like a full wave rectifier,
    hence the distortion on a low freq sine wave.
    (very bad if recording bass guitar etc.)

    - review your VCA design, since that is
    what causing the clicks&pops and perhaps some distortion too.
    Maddog is right here, setting a relative high Threshold level
    should not introduce distortion, pops&clicks,
    even at the fastest attack/release settings.
    The gate must just 'pump' on the beat so to speak.

    - instead of using a seperate 'OFF' threshold level slider,
    I use a 'delta' slider that set's the difference between ON/OFF level.
    If threshold is changed, 'OFF' threshold will automaticly follow.
    Much easier for the user and 'OFF' level can never get higher then 'ON'level.
    (I consider to leave the control out all together and use a fixed delta)

    Here's my implementation in pseudo code
    that can use very little code (code 18, regs 14);

    -Input is side fed to 'Analog' type
    envelope follower with instant attack
    and 'RC' type leaking (=env.fol. release).

    The output of the env.fol. is then fed to comparators:
    -If (env>ON level) set static isOnflag.
    -If (env<OFF level) clear static isOnflag.

    Note: if (env>OFF && env<ON) previous isOnFlag is used.

    -if(isOnFlag) force VCA into attack
    -else force VCA into release

    -Feed input to VCA
    -Output

    HTH,

    /Lex.
     
  18. Russ

    Russ Well-Known Member

    Joined:
    Jan 17, 2005
    Messages:
    5,722
    Likes Received:
    13
    Trophy Points:
    48
    No, it does not do recification. The absolute value is used only for threshold detection.
    The gate does work similairly to your pseudocode, except for the obvious (i.e. no delta offset, no side-chain/look-ahead, stuff). Also, the envelopes are probably different from what you would use (I did not use interp, as I wasn't sure how to calculate the time's with interp). I will post the pseudocode later (I have to go to a wake, so I am not sure when that will be), and maybe you can see potential problem areas.
     
  19. Lex Nahumury

    Lex Nahumury DH Senior Member

    Joined:
    Jan 5, 2003
    Messages:
    1,944
    Likes Received:
    6
    Trophy Points:
    0
    But making absolute value *is* rectification.
    After abs(x) you must derive an envelope first and then use that signal
    for threshold reference.

    (anyway, gotta sleep now,..later)
     
  20. Max M.

    Max M. h/h member-shmember

    Joined:
    Dec 7, 2002
    Messages:
    2,690
    Likes Received:
    9
    Trophy Points:
    63
    sorry guys, haven't seen your env. detection code - but just too keep a good tradition:
    here's one of "hello world" envelope detectors (peak detector actually) i've found on my hdd.

    Code:
    input in
    output env   
    
    static ga = *, gr = *; attack/release
    
    static z
    temp i, t              
    
    log    i, in, 0x1, 0x1	; abs
    
    interp t, i, gr, z           
    interp z, i, ga, z
    limit  z, i, t, z
    
    macs	env, z, 0, 0
    
    ga/gr can be calculated like (if i'm not mistaken):
    Code:
    (pseudocode)
    
    double integr1_den(double t)
    {
        // t [ms] - integration time
        const double FS = 48000;     // [Hz] - sample rate
        const double K = -40;           // [dB] - range of integrator to rise/fall for a given time
        double T = DBL_EPSILON + t/1000;
    
        return pow(10, (K/(20*T*FS));
    }
    
    Lex, i suppose you've mentioned something like that, right?

    edit: fixed y -> i
     
    Last edited: Mar 24, 2006

Share This Page

visited