Ambisonic Software


Ambisonic processing

 As discussed elsewhere, the essence of ambisonics is that the recording is handled and stored in B-format (or, these days, in some higher-order equivalent such as Ambix ACN/SN3D).  There are input procedures which capture the A-format from an ambisonic microphone and convert it to B-format, or take mono and stereo signals and position them in a soundfield using B-format - these are called encoding.  Similarly, for playback there is a decoding process to generate the signals for the chosen available speaker layout.  Any other processing is done in the B-format domain.

Note that there are two commonly used formats for ambisonic files these days.  They differ in both channel order and levels ("normalisation").  The most widely used are FuMa (Furse-Malham) and Ambix.  FuMa ordering is that developed by Michael Gerzon, and its normalisation is known as MaxN, but with a 3dB reduction in the level of W, again following Gerzon.  This format is often contained in .amb files, which are WAV files with a custom GUID.  This GUID prevents some programs from opening them, and their inherent 4GB (or in some programs 2GB) size limit is a serious disadvantage.  The Ambix format uses ACN ordering and SN3D normalisation, carried in a version of Apple's .caf file format which is practically unlimited in size.  Ambix has been adopted by Google for its VR software.  Note that the term B-format is used by different people to mean: (1) any ambisonic signal set, (2) signals in Fuma format, or (3) 1st-order FuMa only.  Some software uses only one or other of these formats, but plugins for converting between them are easy to find.

I shall list the software I recommend in these separate areas.  Most of the software I mention is available on both Windows and Mac, and I shall mention when this is not so.  I work in Windows, so any Mac software mentioned is here by recommendation rather than my own hands-on experience.  I do not use Linux on the desktop, so will not talk about Linux software here.

The first list is for stand-alone programs, and this is very thin.  After that I list plugins (VST format, again because that's all I use), and these are the workhorses for most users.  At the end I shall mention VST host programs.

Many older ambisonic plugins are 32-bit only.  However, I have moved to entirely 64-bit processing, simply because the 32-bit programs I used to use are being phased out.  In general I'll talk mainly about plugins available in 64-bit form (these are usually available in 32-bit form as well) - but I mention some older 32-bit plugins that you might come across.

It is worth mentioning that ambisonic processing is currently a very active area because of the surge of interest in gaming and VR (Virtual Reality) systems - for which ambisonics is ideally suited.  New microphones (e.g. Sennheiser AMBEO) and facilities (e.g. Google Jump, YouTube 360) are appearing which may considerably change this field, not least by imposing standards.  This usage benefits greatly from higher-order ambisonics, and has been a great spur to its development.


Stand-alone programs

The obvious program to mention here is VVMic, which is the primary software for encoding A-format from the TetraMic to B-format using a customised calibration file.  Core Sound offer a calibration service to generate calibration files for the SoundField SPS200 and the Sennheiser AMBEO - I sent my SPS200 to them for measurement last year and so have a calibration file that they generated for it. Unfortunately VVMic remains available only as a Windows product, though the A- to B-format conversion from it is available in plugin form for the Mac (see below).

The Brahma microphone is supplied with calibration files which are used in a program called Brahmavolver, which can generate either B-format or 5.1 surround output (but only directly from A-format)

Both of these programs are essentially designed to convert whole files.

For playback, VVMic also accepts B-format input, providing rotation around all three orthogonal axes and a low-cut filter; it can also generate speaker feeds for up to eight speakers, using shelf filters if desired, and these can be recorded or played on the spot for listening.  However, its interface is not really user friendly for ad hoc listening.  

Better for routine playback is Blue Ripple's Rapture 3D Ambisonic Player, which also plays a wide range of higher-order formats (you have to pay for this, but not much for the domestic version). It would be nice if it also played UHJ directly - though Blue Ripple does offer a free UHJ to B-format converter.

Another program that can play B-format directly is AmbiExplorer.  This runs on Android platforms only, and is capable of being connected with head-tracking hardware.

It's also worth mentioning Richard Dobson's CDP Multi-Channel Toolkit (MCTools).  This is a group of command-line programs which enable you to combine or extract the separate channels in multichannel files, to change the metadata to create AMB files, and also to decode B-format into speaker feeds.  I use it quite a lot when moving between processing using programs that do or do not handle multichannel files


Plugins for encoding from A-format

The go-to plugin (64-bit, Windows and Mac) for this is VVEncode.  This is a development from the old VVMic program, brought thoroughly up to date.  A notable feature is that it accepts calibration files for the TetraMic, any other calibration files created by Core Sound (such as the one for my SPS200), and also the calibration files for the Brahma.  A truly universal plugin, for Windows and Mac, and not just VST.  Note, this plugin is not free.

Soundfield have made their own plugin for the SPS200 specifically, called SurroundZone2; it is (like VVEncode) available for Windows and Mac, and in more formats than just VST.  This plugin, however, assumes a perfect microphone - it does not have any means of calibrating individual units. The same applies to the Sennheiser AMBEO, whose plugin has no name beyond AMBEO A-B format converter.  Although these plugins do not handle calibration, they are likely not to be interchangeable, because presumably they are tailored to the exact design characteristics of the capsules used in the different microphones.

You may come across a free predecessor of VVEncode called VVTetraVST.  This is available for Windows and Mac, but is only 32-bit and doesn't handle different microphone orientations.  It accepts any Core Sound calibration files, though.


Plugins for processing, also encoding other signals

This section lists software for processing B-format signals; these suites also included plugins for encoding mono and stereo inputs into B-format to be injected into a project (as I don't do this, I say no more about that specifically).

For rotation and the like (rotate, tilt, tumble) I now use the Ambisonic ToolKit (ATK), which can be used in Reaper on any platform.  Its components can also be used as VSTs using the ReaJS plugin which is part of ReaPlugs - but note that this is quite fiddly to set up, with inadequate documentation.

Another comprehensive multiplatform toolkit is the Ambix suite which is somewhat more comprehensive than ATK, and provides higher-order processing.  A warning, though - Ambix uses a different file format than B-format; although it is likely that this will prevail, and it is already nearly universal in higher-order systems, at present traditional B-format is still commonly used for strictly first-order systems like mine.

The IEM Plug-in Suite is a free and open-source collection of decoders which includes various effects, all implemented at up to 7th order.  It is fully cross-platform, being available for Windows, Mac and Linux.

Blue Ripple provide a number of software suites, mainly for higher-order work.  Their basic package, O3A Core VST is free, but there are a good number of additional packages in the O3A series for more sophisticated tasks including game and VR development; these are not free.

NoiseMakers provides Ambi Pan for injecting other sources into B-format and Ambi Limiter as a four-channel limiter. You have to pay for these.

Soundfield's SurroundZone2 can perform general rotations, and also includes a zoom (dominance) function.

Bruce Wiggins's Wigware collection includes an ambisonic reverb: AmbiFreeVerb.

In the past, the York Ambisonic plugins were recommended - but they are all only 32-bit Windows, and to my eyes are also exceedingly ugly.  All the facilities they offer are available in more modern plugins.


Plugins for decoding

Many options here...  The ATK, Ambix, IEM Plug-in Suite and (some paid for) Blue Ripple O3A suites all include facilities for generating a wide range of speaker outputs.  ATK and Blue Ripple can also generate binaural outputs; these suites also include UHJ output.  IEM also has a binaural decoder.

Wigware provides a useful pair of decoders for regular and irregular speaker arrays: WigAmbiDec_1o_GUI and WigAmbiDec_1o_ITU.  There is no possibility to generate stereo outputs, though.

Ambi Head from NoiseMakers generates binaural outputs - it is not free.

A partner to VVEncode called VVDecode is being developed, but is not yet available (it will not be free).  This will provide similar facilities to VVMic, being able to handle up to eight speakers, and to generate stereo as well as surround feeds.

Soundfield's SurroundZone2 can also generate speaker feeds, either directly from A-format (as VVMic can) or from B-format.

The Swiss company Gerzonic sells DecoPro in versions for 16, 32 and 64 output channels.

The plugin Harpex-X is rather different from all the above, in that it uses non-linear processing to sharpen the images by a kind of up-sampling to higher orders.  It is widely admired, but there are those who find the effects of the non-linear processing intrusive and unnatural. You have to pay for this one.  The Harpex algorithm is also available in Blue Ripple's O3A Harpex Upsampler VST.

There are older VSTs which are 32-bit Windows only, such as VVMicVST, which was the standard many years ago, but is now falling behind - VVDecode will replace it.  You may also come across references to more of the York Ambisonic set (apparently no longer available), and decoders formerly available from Gerzonic, such as Emigrator, Intergate, and Panorama.


Using plugins

VST plugins require a host program in which to operate.  These may be DAWs (Digital Audio Workstations) or programs designed specifically for linking plugins (VSTs and other types).  Sadly, in general these programs are comparatively expensive.

Some DAWs are so strongly linked to stereo operation that they cannot handle the four or more inputs and outputs required for even first-order ambisonic operations, but there are a number that can.

Quite the most flexible is Reaper, which also has the benefit of being, although not free, by far the cheapest for amateur and small-business use.  This is not the place to extol the virtues of Reaper, but if you don't know it, taking the time to look at it will not be a waste!  As it handles up to 64 channels, it can be used for sytems up to seventh order.  

Steinberg's Nuendo is also used by some in this field, but is pretty expensive, and also doesn't offer enough channels for higher-order work.  I use Steinberg's WaveLab, which still does not handle multichannel files in most areas, but has recently had improvements that make it at last a practical central place for the kind of work I do - first-order recording, editing, and processing; but again, it doesn't have enough channels for HOA.  Adobe's Audition can also handle multichannel files and VSTs, but note that the CS6 version (the last I have, before they went to a continuous payment model) is a 32-bit program. For light-weight first-order usage, Acoustica might be a possibility.

Of programs which are used to assemble building blocks, the two that I know are AudioMulch (Windows and Mac, but currently only 32-bit on Windows) and Plogue Bidule; both cost money, but neither is expensive.  They both handle VST plugins alongside their own plugins perfectly smoothly, but Bidule has the advantage that it can do offline processing - AudioMulch can only operate in real time.  There are also more complex hosts like Max/MSPPure Data (aka PD), or SuperCollider which is the original home of the ATK, but I have no experience of them.

Some ambisonics work can certainly be done with Avid's Pro Tools, and from v12.8.2 it has support for ambisonics up to third order. I understand that Merging's Pyramix can be used for HOA. I would expect Magix's Sequoia to be up to the job, but have never seen it mentioned in this context.  These are all expensive professional systems.


Linux and Mac

Many of the solutions listed above can be used on the Mac, and a few in Linux.  However, I haven't listed items not available in Windows.  As a correction for this I include the following.

Daniel Courville has published a wide range of VST plugins (B2X Ambisonic Plug-Ins) for the Mac platform.

Fons Adriensen has published TetraProc and TetraCal for Linux.  He can also convert Core Sound's calibration files for use in his software.

Ambisonic Info header