Posted on

Product Spotlight: aXCompressor

aXCompressor - Tenth order Ambisonics compressor plugin

The aXCompressor is a compressor VST plugin (Windows and Mac) made specifically for Ambisonics signals. It comes in three variations: first order (a1), third order (a3) and seventh order (a7), allowing you to process . They accept any Ambisonics format that has the W channel as the first channel. This means it works for the more modern AmbiX and legacy FuMa format.

There are plenty of Ambisonics encoders and decoders but not so many things to process between these two points on the signal chain. I wanted to help bring some of the tools we take for granted when working in stereo to VR/AR and immersive audio, hence the aX Plugins. If you’re interested in trying out any of the plugins, including the aXCompressor, you can download the demo versions. You can support future development by making a purchase at from my web shop.


Why Use a Compressor with Ambisonics?

The reasons are the same as for stereo. You might want to compress a microphone signal (recorded by an Ambisonics microphone such as the Sennheiser AMBEO VR mic or Core Sound Tertramic) to tame the dynamics a little. Maybe you’ve mixed a song in 3D audio and want some buss compression to help tie things together, just like you would in stereo. Maybe you just want that compressed sound on a vocal track. Really, if you would do it in stereo production there’s no reason you couldn’t in an Ambisonics one.

Why You Need a Special Compressor for Ambisonics

First of all, Ambisonics requires more channels than most compressors can handle. First order Ambisonics needs 4 channels, third order requires 16 and seventh order needs a huge 64 channels. At the most simple level, you need a compressor that has enough channels to actually process the signal you’re working with. The aXCompressor plugins provide you with the minimum number required.

Secondly (and more importantly), the spatial information in Ambisonics is contained in the amplitude differences between the different encoded channels. If you change the level of one of these channels while keeping the others the same then the whole positioning or focus of your sound scene could change in unpredictable ways. The aXCompressor compresses the dynamic range in such a way as to preserve the spatial fidelity of your scene. Only the dynamics will be changed, not the spatial properties.

Features of the aXCompressor Plugins

The three variations of the aXCompressor all have the same features to control the amount of compression you apply to your signal:

  • Input gain to boost/cut the incoming signal level so you can decide how hard you want the compressor to work.
  • Output gain to compensate for overall level changes in the signal after compression.
  • Threshold (in dBFS) sets the point at which the compressor starts to act. Signals below this level are not compressed. Signals above it will be.
  • Ratio controls how strong the compression is. A ratio of 2:1 means every 2 dB a signal is above the threshold will be reduced to 1 dB above the threshold after compression. Higher ratios lead to more compression.
  • Knee Width controls whether there is a sharp change between the uncompressed and compressed regions of the signal. Wider width means a more gradual change. 0 dB width means a hard knee.
  • Attack time (in ms) is the time it takes for the compressor to clamp down on signals that go above the threshold. Slow attack times will allow some transient portions through without compression while fast times will act much more strongly upon them.
  • Release time (in ms) is the time it takes for signals dropping back below the threshold to be free from the effect of the compressor.
  • RMS/Peak selects whether the average or peak level is used to determine the signal level.

The plugins also feature a display in the top portion of the interface showing the amount of gain reduction being applied to the signal over time. You can adjust the range shown on the display by right clicking and selecting from one of the options that is displayed.

Automatic Order Detection

The a3Compressor and a7Compressor are built to work with third and seventh order signals but that doesn’t mean they can’t be used for lower order signals. It’s perfectly fine to use the a7Compressor with a first order Ambisonics signal input. All you have to do is leave all of the channels, except the first 4, empty. Having 64 channels of processing and only using 4 of them is a waste of CPU so the a3 and a7Compressor plugins have Automatic Order Detection built in to them.

Automatic Order Detection looks at the incoming signal and works out if there is any signal in the higher order Ambisonics channels and determines the maximum order of the signal. It will then make sure the processing is only running for the required channels, saving you CPU. What this means is that by using the a7Compressor you have complete flexibility to work with any Ambisonics signal from orders 1 to 7 without having to worry about swapping for a lower order plugin to save CPU.

Having Automatic Order Detection also means that if you upgrade the encoding portion of your signal chain to a higher order (i.e. from first to third) you don’t have to go through all of your plugins to manually increase an “order” parameter or, worse still, swap out the plugin for a new one. The plugin will detect the increase in order and start processing without you having to spend time making more adjustments, allowing you to focus on the more important things.


And there you have it! A brief introduction to the aXCompressor plugins for Ambisonics compression. If this is something that you think could be useful for your work with VR/AR/MR and immersive audio then please support future development by making a purchase at from my web shop. Thank you.