libambix
the AMBIsonics eXchange library
Frequently Asked Questions

Terms

What does libambix stand for?

libambix is a library for reading and writing ambisonics exchange files.

What is the difference between BASIC and EXTENDED ambix files?

BASIC ambix files contain exactly a full set of periphonic ambisonics channels, using ACN channel ordering and SN3D normalisation.

EXTENDED ambix files contain an additional adaptor matrix at the beginning of the file, which can be used to turn the actually stored audio channels into a full set of periphonic ambisonics channels (periphonic, ACN, SN3D). These files can be used to store a reduced number of channels (e.g. when your soundfield is horizontal only, there is no need to store the channels with height-information, as they will be muted anyhow), while providing a simple and standardized way to play them back on a full ambisonics decoder.

See The ambix format for more information.

HOW-TOs

How can I create an ambix file from a set of mono soundfiles?

If you have an ambisonics recording as multiple mono soundfiles following the ambix standard (channel ordering: ACN, normalisation: SN3D), you can merge them into an ambix files using the ambix-interleave command.

ambix-interleave -o ambixfile.caf recording-ambi0.wav recording-ambi1.wav recording-ambi2.wav recording-ambi3.wav

How can I create an ambix file from a multichannel soundfile?

If you have an ambisonics recording already as a multichannel soundfile, with the channels following the ambix standard (channel ordering: ACN, normalisation: SN3D), you can create an ambix file from that using the ambix-interleave command.

ambix-interleave -o ambixfile.caf recording.wav

How can I convert my .amb files to ambix?

You can use the ambix-interleave file to create EXTENDED ambix files from your old .amb recordings. If ambix-interleave detects that the input is an .amb file, it will add an adaptor matrix that converts from .amb's Furse-Malham channels to ambix channels, and will otherwise leave the audio data intact.

ambix-interleave -o ambixfile.caf recording.amb

How can I convert my .amb files to ambix?

To create BASIC ambix files (without an adaptor matrix), you can use ambix-deinterleave to convert the .amb file to SN3D/ACN channels, and then use ambix-interleave to merge those files into a single ambix file:

ambix-deinterleave recording.amb
ambix-interleave -o ambixfile.caf recording-ambi*

How can I convert an EXTENDED ambix file to BASIC?

The easiest way to convert an EXTENDED ambix file to a BASIC file is to first extract the channels into separate files using ambix-deinterleave, and then merge them back using ambix-interleave:

ambix-deinterleave ambixextended.caf
ambix-interleave -o ambixbasic.caf ambixextended-ambi*