
The Toolbox contains the core objects that were retrieved from the xAF dll. The objects that can be used within the core to create the device signal flow are called core objects. Each core object has its own purpose and solves parametric issues which block routing within the core.
Core Objects are classes that are part of the Audio Core (virtual core) class and operate at a higher level than audio objects. The audio processing class itself is a core object. The relationship between core objects and Audio core is similar to that of audio objects and the Audio Processing class.
The execution order (or index) of the core object is displayed by Core Object Id. Routing determines the order in which core objects are executed within a core. The core objects that are connected to the core input will be executed first, and the core objects that are connected to the root object after that will be given the next execution order.
The device identification feature is enabled for audio libraries version 13 and higher.
The Xaf Instance is the core object inside which the signal flow for that instance can be created.
Further information on signal flow creation is available in the GTT Signal Flow Designer guide.
Buffer core object is used to convert the input block length into the required output block length. The buffer core object has an equal number of input and output channels. It can be used as a pass through core object OR it can be used to, as its name suggests, buffer samples from the input to the output. The object does not change the sample rate (it is the same at the input and the output).
If you want to connect two core objects with different block lengths, you can use a buffer core object. As a result, the input block length will be the Block Length of the first core object, and the output block length should be the Block Length of the other core object.
It can be configured as follows:
Introducing this object into your signal flow for any case but pass through WILL result in latency at the output.
Splitter core object is used to convert one input to multiple outputs of the same sample rate and block length.
It is not to be confused with the Splitter audio object.
This object operates in parallel to an xAF instance NOT within it.
Merger core object is used to merge multiple inputs into a single output of the same block length and sample rate.
It is not to be confused with the Merger audio object.
This object operates in parallel to an xAF instance NOT within it.
Synchronous Sample Rate Converter (SSRCs) is used to convert the input sample rate to the required output sample rate.
SSRCs are core objects that can operate within an audio core. Currently there is one implementation of SRCs in Awx.
Two options are provided to convert the sample rate. Both these options are mutually exclusive.
This core object implements a synchronous sample rate converter whose input sample rate / input block length and output sample rate / output block length are integer multiple of each others. This is also an infinite impulse response implementation (IIR).
The object operates in one of 2 modes:
Before we get into the details, there are some common configuration parameters between the two.
User Coefficients mode: In this mode, the user has to provide the input and output sample rate. Input and output sample rates should not be equal. The Number of Biquads field is read-only.
User has to import the coefficients by clicking on the button “Import Co-efficients”. Based on the number of coefficients in the file, the Number of Biquads is updated.
Validations for User Coefficients mode: The Input and Output sample rates cannot be the same. Validation is shown when the same values are entered.
After adding a new “Ssrc lir Int” object and selecting “User Coefficients Mode”, if the coefficients are not imported, the following message will be displayed on various operations such as “Save”, “Edit Device”, “Copy Core Objects” and “Paste Core Objects”. After importing coefficients, the user can perform the required operation.
Predefined Coefficients mode: In this mode, the xAF dll is used to read the input sample rate, output sample rate, and the number of biquads. When a value in the combo box is selected, the xAF dll is also used to fetch the corresponding coefficients.
Biquad Co-efficient has to be re-imported whenever the mode is switched between Predefined Co- efficient mode to User Co-efficient mode.
For these pre-defined coefficients, the quality measures are as follows:
Output block length (Displayed as a read-only field) = (Output sample rate /Input sample rate) * Input block length.
Float to Fixed core object accepts audio buffers that are in floating point format and outputs buffers that are in fixed point format (16-bit, 24-bit, 32-bit etc).
Float To Fixed core object is enabled for audio libraries version 16 and greater.
Fixed to Float core object accepts audio buffers that are in fixed point format (16-bit, 24-bit, 32-bit, etc) and outputs buffers that are in floating point format.
Fixed To Float core object is enabled for audio libraries version 16 and greater.
The NaN (Not a Number) detector core object detects NaN from input samples and informs the platform using an xTP command if NaN is found. The xTP command will inform about the core id, core object instance id and channel index, so that platform can react accordingly by muting or resetting states. The input samples are copied to the output without doing any other processing. The number of output channel(s) is always same as the number of input channel(s).
In order to make routing from any core object to NaN Detector, both the source core object and NaN Detector core objects sample rate and block length should match.
NaN Detector core object is enabled for audio libraries version 19 and greater.
Core Objects Validation
When the GTT is loaded with a version of the xAF library lower than 13. If a user tries to open a device view that contains core objects other than a XAF instance, they will see the following error message.
Aside from the Xaf instance, every other core object will be red.