Categories: VATSIM

Using VoiceMeeter MacroButtons to auto-duck audio in VATSIM

This post assumes you have already followed the initial setup steps covered in the routing audio with VoiceMeeter Potato, Discord, and VectorAudio post.

Step 1: Enable MacroButtons startup in VoiceMeeter

In the Menu select Run MacroButtons on Voicemeeter start. This will bring up the MacroButtons window.

Resize the window so there are two buttons visible.

Step 2: Create a macro to mute channels on incoming VATSIM audio

Right click on the first button and configure it as follows:

Make sure to check the Enable checkbox in the trigger section.

This configuration will listen for audio coming in on channel 3 (VATSIM – Primary) and while that trigger is active will mute the Discord and VATSIM – Secondary channels. Once the incoming audio stops the other two channels will be unmuted. You can use the green and red arrows to adjust the incoming audio levels required to trigger mute and unmute respectively.

Note that the scripts use origin 0 for indexing the channels while the trigger uses origin 1. That’s why it is in #3 to select VATSIM – Primary as the trigger source but 1 and 3 to select input 2 and input 4 for muting. Confusing? Yes.

If you also want to mute desktop audio you can add strip(0).mute = 0; and strip(0).mute = 1; to the scripts as well.

Step 3: Create a macro to mute channels on outgoing VATSIM audio

The macro created in step 2 will only detect incoming audio. To apply the same auto-ducking when transmitting right click on the second button and configure it as follows:

Set the Keyboard Shortcut dropdown to match the PTT key you use in VectorAudio. The scripts are the same as the macro configured in step 2.

Other variations

This basic framework opens up all sorts of possibilities. Instead of completely muting audio you can use the fadeto command to reduce the audio of specific channels:

strip(1).fadeto = (-15.0, 100);

and then the reverse to bring it back up after transmission is complete:

strip(1).fadeto = (0.0, 200);

You can also mix and match, for example mute the secondary VATSIM audio completely but only fade the Discord audio.

Many more options are available, basically whatever you can control via the VoiceMeeter UI you can also set via macros. See the VoiceMeeter user manual for all the details.

You can also use macros to mute and unmute these sources in OBS, which is super handy if you are streaming primary and secondary VATSIM audio and want to focus on the primary position radio traffic when it’s active.

Article info



Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.