The Audio Gate filter (agate) is a new filter for ffmpeg included since 2015-09-22.

I have read the documentation, but since there are no examples included, I'm trying to figure out what settings to use to reduce unwanted parts that are under a certain dB in the audio signal.

Does anyone have a command example and explanation for the settings?

  • 1
    The documentation is indeed spartan. The filter seems to be ported from the OSS Calf Audio Plugins.This is the blog of the original author: zamaudio.com/?p=112. Perhaps contact him via email. I'll also tinker around in the meantime. The accepted ranges for the various parameters are available in the source file at ffmpeg.org/doxygen/trunk/af__agate_8c_source.html
    – Gyan
    Nov 24, 2015 at 7:25
  • NOTICE: Avast Web Shield gave me an infection warning when clicking the above link to zamaudio.com. The threat was blocked as being: JS:Injection-A [Trj]. Just FYI.
    – P A N
    Nov 27, 2015 at 10:36
  • 1
    agate docs have recently been slightly expanded.
    – llogan
    Nov 28, 2015 at 18:59

2 Answers 2


I am the author of the original Calf plugin, I had no idea it was being used in FFmpeg, great! The original plugin used to have a sidechain input to use as the level detection, but I am assuming the ported version just uses the input signal as this level.

The main parameter is the threshold, it sets the level below which gating begins to occur. Having 0 knee makes it a very sharp transition from signal to no signal, as well as the attack and release times. I have not actually used the FFmpeg ported version of this plugin before, but I assume it would be similar. It has quite a number of controls which probably makes it unsuitable to use without the usual GUI that shows the current level and the gating curve. One way to test it would be to install calf-plugins and play with the Calf Gate until you get a feel for the parameters, and then apply the same to FFmpeg. Sorry I cannot be more helpful because I did not write this port and I don't really understand the FFmpeg code.

PS: Thanks for alerting me about my malicious javascript, I think my blog was attacked recently, I have been cleaning it up.

  • Perhaps if someone wants to port the DSP from ZamGate instead, it is an easier to use plugin. Nov 28, 2015 at 5:37
  • Thanks for the reply, Damien but I think the key issue is understanding the values that the agate filter requires. Usually, in many apps. you supply values in dB, just like the screenshot in your blog, but that doesn't seem to be the case here. If you can look at the source code file at ffmpeg.org/doxygen/trunk/af__agate_8c_source.html and translate the allowed ranges, that would help a lot. Thanks.
    – Gyan
    Nov 28, 2015 at 6:11

The threshold could be set in dB too, just append dB without space after value. Other options have same defaults and range as Calf plugin.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.