|
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:
1.8.6