Ambisonics Formats
AMBISONICS CHANNEL MAPPING
For these recepies for AAC encoding the source files are asumed to be WAV files in ACN order and SN3D normalisation.
The goal is to show tested ffmpeg commands to create AAC encoded files without LFE filtering, the primary purpose is to squeeze as much soundfield information with Ambisonics into 8 heAAC encoded channels as possible.
8 channels is the current practical limit for heAAC encoding for with access to only publicly accessible AAC encoders and decoders needed for ambisonics decoding to listen to with headphones on most devices.
The limit is not technical it is mostly a question of licenses.
Ffmpeg internal AAC Library can encode 16 and 22.2 channels of AAC.
Wav,FLAC, wavepack or Opus can be also be used for full channel distribution of Ambisonics and played back by OHTI.
It was a bit of a struggle for me to find the parameters that could convince ffmpeg with libfdk to create files without LFE filtering (RTFM not my best genre :-)
The result of the encodes have wrong channel labels but as the implemented decoder only use the channel indexes it does not matter (but I blame limited integration of libfdk into ffmpeg).
FUMA channel order is     W X Y Z R S T U V K L M N O P Q for a full periphonic 3rd order signal
ACN/SN3D channel order is W Y Z XÂ V T R S UÂ Q O M K L N P for a full periphonic 3rd order signal
channel index   0 1 2 3  4     8 9          15 Â
Channel allocations for regular and Mixed Format Ambix according to ambisonia.com
 Order for H P             ACN channel numbers          Media channels
  horizontal 1 0  WY X 01 3 3 - mixed order  1H
  full-sphere 1 1  WYZX 0123 4 - FOA        2H2P
  horizontal 2 0  WY X V   U 01 3 4  8 5 - mixed order 2H
  mixed-order 2 1  WYZX V   U 0123 4  8 6 - mixed order 2H1P
  Ambix8             WYZX VT SU 0123 45 78 8 - SOA without R=6 (zero numbering)  Ambix8
  full-sphere 2 2  WYZX VTRSU 0123 45678 9 - SOA        2H2P
  horizontal 3 0 WY X V   U Q   P 012  4   8 9             15 7 - mixed order  3H
  mixed-order 3 1 WXYZ V   U Q   P 0123 4   8 9             15 8 - mixed order  3H1P
  mixed-order 3 2 WYZX VTRSU Q   P 0123 45678 9             15 11 - mixed order 3H2P
  full-sphere 3 3 WYZX VTRSU QOMKLNP 0123 45678 9 10 11 12 13 14 15 16 - TOA        3H3P
The recepies for AAC encoding the source files are asumed to be WAV files in ACN order and SN3D normalisation.
The goal is to show tested ffmpeg commands to create AAC encoded files without LFE filtering, the primary purpose is to squeeze as much soundfield information with Ambisonics into 8 heAAC encoded channels as possible.8 channels is the current practical limit for heAAC encoding for with access to only publicly accessible AAC encoders and decoders needed for ambisonics decoding to listen to with headphones on most devices.
The limit is not technical it is mostly a question of licenses.Ffmpeg internal AAC Library can encode 16 and 22.2 channels of AAC.
 Wav,FLAC, wavepack or Opus can be also be used for full channel distribution of Ambisonics and played back by OHTI.
It was a bit of a struggle for me to find the parameters that could convince ffmpeg with libfdk to create files without LFE filtering (RTFM not my best gengre :-)The result of the encodes have wrong channel labels but as the implemented decoder only use the channel indexes it does not matter ( but I blame limited integration of libfdk into ffmpeg).
FUMA channel order is     W X Y Z R S T U V K L M N O P Q for a full periphonic 3rd order signalACN/SN3D channel order is W Y Z X V T R S U Q O M K L N P for a full periphonic 3rd order signal                 channel index    0   3 4    8              15