aboutsummaryrefslogtreecommitdiffstats
path: root/alsoft_ambdec.txt
diff options
context:
space:
mode:
Diffstat (limited to 'alsoft_ambdec.txt')
-rw-r--r--alsoft_ambdec.txt182
1 files changed, 0 insertions, 182 deletions
diff --git a/alsoft_ambdec.txt b/alsoft_ambdec.txt
deleted file mode 100644
index 0afc5064..00000000
--- a/alsoft_ambdec.txt
+++ /dev/null
@@ -1,182 +0,0 @@
-AmbDec Configuration Files
-==========================
-
-AmbDec configuration files were developed by Fons Adriaensen as part of the
-AmbDec program <http://kokkinizita.linuxaudio.org/linuxaudio/index.html>.
-
-Starting with OpenAL Soft 1.18, version 3 of the file format is supported as a
-means of specifying custom surround sound speaker layouts. These configuration
-files are also used to enable the high-quality ambisonic decoder.
-
-
-File Format
-===========
-
-As of this writing, there is no official documentation of the .ambdec file
-format. However, the format as OpenAL Soft sees it is as follows:
-
-The file is plain text. Comments start with a hash/pound character (#). There
-may be any amount of whitespace in between the option and parameter values.
-Strings are *not* enclosed in quotation marks.
-
-/description <desc:string>
-Specifies a text description of the configuration. Ignored by OpenAL Soft.
-
-/version <ver:int>
-Declares the format version used by the configuration file. OpenAL Soft
-currently only supports version 3.
-
-/dec/chan_mask <mask:hex>
-Specifies a hexadecimal mask value of ambisonic input channels used by this
-decoder. Counting up from the least significant bit, bit 0 maps to Ambisonic
-Channel Number (ACN) 0, bit 1 maps to ACN 1, etc. As an example, a value of 'b'
-enables bits 0, 1, and 3 (1011 in binary), which correspond to ACN 0, 1, and 3
-(first-order horizontal).
-
-/dec/freq_bands <count:int>
-Specifies the number of frequency bands used by the decoder. This must be 1 for
-single-band or 2 for dual-band.
-
-/dec/speakers <count:int>
-Specifies the number of output speakers to decode to.
-
-/dec/coeff_scale <type:string>
-Specifies the scaling used by the decoder coefficients. Currently recognized
-types are fuma, sn3d, and n3d, for Furse-Malham (FuMa), semi-normalized (SN3D),
-and fully normalized (N3D) scaling, respectively.
-
-/opt/input_scale <name:string>
-Specifies the scaling used by the ambisonic input data. As OpenAL Soft renders
-the data itself and knows the scaling, this is ignored.
-
-/opt/nfeff_comp <dir:string>
-Specifies whether near-field effect compensation is off (not applied at all),
-applied on input (faster, less accurate with varying speaker distances) or
-output (slower, more accurate with varying speaker distances). Ignored by
-OpenAL Soft.
-
-/opt/delay_comp <onoff:bool>
-Specifies whether delay compensation is applied for output. This is used to
-correct for time variations caused by different speaker distances. As OpenAL
-Soft has its own config option for this, this is ignored.
-
-/opt/level_comp <onoff:bool>
-Specifies whether gain compensation is applied for output. This is used to
-correct for volume variations caused by different speaker distances. As OpenAL
-Soft has its own config option for this, this is ignored.
-
-/opt/xover_freq <freq:float>
-Specifies the crossover frequency for dual-band decoders. Frequencies less than
-this are fed to the low-frequency matrix, and frequencies greater than this are
-fed to the high-freqyency matrix. Unused for single-band decoders.
-
-/opt/xover_ratio <decibels:float>
-Specifies the volume ratio between the frequency bands. Values greater than 0
-decrease the low-frequency output by half the specified value and increase the
-high-frequency output by half the specified value, while values less than 0
-increase the low-frequency output and decrease the high-frequency output to
-similar effect. Unused for single-band decoders.
-
-/speakers/{
-Begins the output speaker definitions. A speaker is defined using the add_spkr
-command, and there must be a matching number of speaker definitions as the
-specified speaker count. The definitions are ended with a "/}".
-
-add_spkr <id:string> <dist:float> <azi:float> <elev:float> <connection:string>
-Defines an output speaker. The ID is a string identifier for the output speaker
-(see Speaker IDs below). The distance is in meters from the center-point of the
-physical speaker array. The azimuth is the horizontal angle of the speaker, in
-degrees, where 0 is directly front and positive values go left. The elevation
-is the vertical angle of the speaker, in degrees, where 0 is directly front and
-positive goes upward. The connection string is the JACK port name the speaker
-should connect to. Currently, OpenAL Soft uses the ID and distance, and ignores
-the rest.
-
-/lfmatrix/{
-Begins the low-frequency decoder matrix definition. The definition should
-include an order_gain command to specify the base gain for the ambisonic
-orders. Each matrix row is defined using the add_row command, and there must be
-a matching number of rows as the number of speakers. Additionally the row
-definitions are in the same order as the speaker definitions. The definitions
-are ended with a "/}". Only valid for dual-band decoders.
-
-/hfmatrix/{
-Begins the high-frequency decoder matrix definition. The definition should
-include an order_gain command to specify the base gain for the ambisonic
-orders. Each matrix row is defined using the add_row command, and there must be
-a matching number of rows as the number of speakers, Additionally the row
-definitions are in the same order as the speaker definitions. The definitions
-are ended with a "/}". Only valid for dual-band decoders.
-
-/matrix/{
-Begins the decoder matrix definition. The definition should include an
-order_gain command to specify the base gain for the ambisonic orders. Each
-matrix row is defined using the add_row command, and there must be a matching
-number of rows as the number of speakers. Additionally the row definitions are
-in the same order as the speaker definitions. The definitions are ended with a
-"/}". Only valid for single-band decoders.
-
-order_gain <gain:float> <gain:float> <gain:float> <gain:float>
-Specifies the base gain for the zeroth-, first-, second-, and third-order
-coefficients in the given matrix, automatically scaling the related
-coefficients. This should be specified at the beginning of the matrix
-definition.
-
-add_row <coefficient:float> ...
-Specifies a row of coefficients for the matrix. There should be one coefficient
-for each enabled bit in the channel mask, and corresponds to the matching ACN
-channel.
-
-/end
-Marks the end of the configuration file.
-
-
-Speaker IDs
-===========
-
-The AmbDec program uses the speaker ID as a label to display in its config
-dialog, but does not otherwise use it for any particular purpose. However,
-since OpenAL Soft needs to match a speaker definition to an output channel, the
-speaker ID is used to identify what output channel it correspond to. Therefore,
-OpenAL Soft requires these channel labels to be recognized:
-
-LF = Front left
-RF = Front right
-LS = Side left
-RS = Side right
-LB = Back left
-RB = Back right
-CE = Front center
-CB = Back center
-
-Additionally, configuration files for surround51 will acknowledge back speakers
-for side channels, and surround51rear will acknowledge side speakers for back
-channels, to avoid issues with a configuration expecting 5.1 to use the side
-channels when the device is configured for back, or vice-versa.
-
-Furthermore, OpenAL Soft does not require a speaker definition for each output
-channel the configuration is used with. So for example a 5.1 configuration may
-omit a front center speaker definition, in which case the front center output
-channel will not contribute to the ambisonic decode (though OpenAL Soft will
-still use it in certain scenarios, such as the AL_EFFECT_DEDICATED_DIALOGUE
-effect).
-
-
-Creating Configuration Files
-============================
-
-Configuration files can be created or modified by hand in a text editor. The
-AmbDec program also has a GUI for creating and editing them. However, these
-methods rely on you having the coefficients to fill in... they won't be
-generated for you.
-
-Another option is to use the Ambisonic Decoder Toolbox
-<https://bitbucket.org/ambidecodertoolbox/adt.git>. This is a collection of
-MATLAB and GNU Octave scripts that can generate AmbDec configuration files from
-an array of speaker definitions (labels and positions). If you're familiar with
-using MATLAB or GNU Octave, this may be a good option.
-
-There are plans for OpenAL Soft to include a utility to generate coefficients
-and make configuration files. However, calculating proper coefficients for
-anything other than regular or semi-regular speaker setups is somewhat of a
-black art, so may take some time.