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 '15 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 '15 at 10:36
  • 1
    agate docs have recently been slightly expanded. – llogan Nov 28 '15 at 18:59

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. – Damien Zammit Nov 28 '15 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 '15 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, privacy policy and cookie policy

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