libambix
the AMBIsonics eXchange library
|
libambix
is a library for reading and writing ambisonics exchange 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.
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.
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.
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.
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:
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
: