1. Interface Objects
    1. AudioIO
    2. ControlIn
    3. ControlOut
  2. Basic Objects
    1. Delay
      1. Delay Panel
    2. Gain
      1. Gain Panel
    3. Level Monitor
      1. Level Monitor Panel
    4. FaderBalance
      1. Fader Balance Panel
    5. Volume and Mute
      1. Volume and Mute Panel
    6. VolumeLite
  3. Control Objects
    1. Control Math
    2. Control Grouper
    3. Control GroupSplitter
    4. Control Multi Adder
    5. Control Mixer
      1. Control Mixer Panel
    6. Control Router
      1. Control Router Panel
    7. Control Smooth
    8. MultiStage Envelope
    9. AudioToControl
    10. Lookup Table (LUT)
      1. Lookup Table (LUT) Panel
  4. Routing Objects
    1. Router
      1. Router Panel
    2. Splitter
    3. Demux
    4. Selector
  5. Source Objects
    1. Noise Generator
      1. Noise Generator Panel
    2. Wave Generator
    3. DC Generator
    4. FilePlayer
  6. Mixer Objects
    1. Adder
    2. Matrix Mixer
      1. Matrix Mixer Panel
    3. Merger
    4. Fader Matrix
  7. Dynamic Object
    1. Compressor
      1. Compressor Panel
    2. Limiter
      1. Limiter Panel
    3. Bass Enhancer
      1. Bass Enhancer Panel
    4. NonlinearClip
    5. AudioLevelizer
      1. AudioLevelizer Panel
    6. Nonlinear Polynomial
    7. dbxLimiter
    8. Ducker
    9. EconomyLevel
    10. AudioLevelizer 2
  8. Filter Objects
    1. ParameterBiquad
      1. Parameter Biquad Panel
    2. CoefficientBiquad
      1. Coefficient Biquad Native Panel
    3. Tone Control Extended
      1. Tone Control Extended Panel
    4. XoverBiquad
      1. Xover Biquad Panel
    5. FastConv
      1. Fast Conv Panel
    6. DC Blocker
      1. DC Blocker Panel
    7. FIR Filter
      1. FIR Filter Panel
    8. FIR MIMO
      1. FIR MIMO Panel
    9. FIRA MIMO
      1. FIRA MIMO Panel
  9. Surround Objects
    1. CFQLS/CFQLI
      1. CFQLS/CFQLI Panel
    2. QLS/QLI
      1. QLS/QLI Panel
    3. ClariFi
      1. ClariFi Panel
    4. Logic 7
  10. Virtual Venues
    1. VenueVerb
      1. VenueVerb Panel
    2. AutoBalance
      1. AutoBalance Panel
    3. Crossfader
      1. Crossfader Panel
  11. Vehicle Noise Control (VNC) Objects
    1. ALA Control
    2. Compander
    3. AlaGain
    4. VNC Control
    5. NoiseEst
      1. NoiseEst Custom Panel
  12. TPS
  13. Power Manager
    1. Power Manager Panel
  14. Voice Objects
    1. SSE
    2. ICC
  15. FFT Based Processing
    1. FFTCalc
  16. Immersive Audio
    1. Mono Detection
    2. NSP Center Extraction
    3. Decorrelation
      1. Decorrelation Panel
    4. Reverb Lite
  17. Core Objects
    1. Xaf Instance
    2. Buffer
    3. Splitter
    4. Merger
    5. Ssrc lir Int
    6. Float to Fixed
    7. Fixed to Float
    8. Nan Detector

1.Interface Objects

Interface objects category contains following audio objects.

Yes No
Last updated on November 1, 2023

1.1.AudioIO

The AudioIO audio object acts as the interface object between the xAF instance and other audio objects in the single flow design.

This AudioIO object can be configured to either receive audio data (AudioIn) from framework or pass the processed audio (AudioOut) back to the framework.

  • When configured as AudioIn, this object copies the audio data from the input audio buffers of the framework to the output buffers of this audio object that is accessible to other audio objects in the pipeline.
  • When configured as AudioOut, this object copies the audio data from its input buffer to the output buffers of the xAF instance.

Use Cases: This object can be deployed whenever an audio buffer needs to be sent or received by the framework.

A computer screen shot of a computer Description automatically generated

AudioIO Properties

Below table provide the details about AudioIO audio object properties and functionality.

Properties Description

# of Audio Out

Or

# of Audio In

Enter the number of audio input or audio output. For any xAF instance, the SFD can have only one input AudioIO object and one output AudioIO object. The number of audio channels of this object shall be same as the number of audio IO of the instance.

  • Range: 1 to 255
  • Data type: Unsigned short
  • The default value is set to 2.
Display Name Display name of the AudioIO audio object in signal flow design. It can be changed based on the intended usage of the object.
Object Mode The AudioIO audio object supports following two modes.

  • Audio In
  • Audio Out

Mode

The AudioIO audio object supports following two modes:

  • Audio In: In this case the AudioIO audio object is used to receive audio data from the xAF instance (source). The object will have only audio outputs in this mode to pass the audio to subsequent objects for processing.
  • Audio Out: In this case the AudioIO audio object is used to send audio data back to the xAF instance (sink). The object will have only audio inputs in this mode to collect the processed audio and pass it back to the xAF instance audio buffers.

Additional Parameters

There are no additional parameters available for AudioIO audio object.

Tuning Parameters

There are no tuning parameters available for AudioIO audio object.

Control Parameters

There are no control parameters available for AudioIO audio object.

Native Panel

AudioIO audio object does not support native panel.

Yes No
Last updated on October 31, 2023

1.2.ControlIn

The ControlIn audio object is deployed to connect the external control signals to the audio objects used in the signal flow. Each framework instance can have only one instance of this ControlIn object. This object serves as the consolidation point for all the control inputs for the framework instance.

Use Cases:

  • Use case 1 –Central volume control received (0 to 100% volume) from the Head unit will be forwarded to the controlIn AO. User can design the signal flow using LUT to convert the percentage volume to db unit and send it to Volume AO to manipulate the audio signals. 
  • Use case 2 – Bass and treble input from user can be converted to Frequency, Gain and Quality factor for Tone control audio object to give desired affect for the audio signal.  

ControlIn Properties

Below table provide the details about ControlIn object properties and functionality.

Properties Description
Number of Control Output The number of control output signals is configurable.

  • Range: 1 to 100
  • By default, the number of control output signal set to 1.
Display Name Display the name of the ControlIn object in signal flow design. It can be changed based on the intended usage of the object.

Additionally, in the ControlIn object you can configure the Control ID for each control pin.

The Control IDs can be selected from the available list or you can add the new custom Control IDs. For more details on adding and editing control ID, refer to Control IDs.

Graphical user interface Description automatically generated

Mode

There are no modes available for ControlIn object.

Additional Parameters

There are no additional parameters available for ControlIn object.

Tuning Parameters

There are no tuning parameters available for ControlIn object.

Control Parameters

The ControlIn object pass through the control signals received from the framework instance on the configured pins. Additionally there are no control parameters available specifically to control the functioning of this object.

Native Panel

ControlIn object does not support native panel.

Yes No
Last updated on July 2, 2024

1.3.ControlOut

The ControlOut audio object is a framework level object, that ties directly with the framework’s control system. The purpose is to take control values from an xAF instance (AudioProcessingBase) and make them available externally.

The ControlOut audio object accepts any combination of controls – single or block.

Use Case: This object can be deployed whenever framework wants to access any control value of a signal flow. Platform may want to access these values from the framework.

ControlOut Properties

Below table provide the details about ControlOut object properties and functionality.

Properties Description
Number of Control Input The number of control Input signals is configurable.

  • Range: 1 to 225
  • By default, the number of control input signal is set to 1.
Display Name Display the name of the ControlOut object in signal flow design. It can be changed based on the intended usage of the object.

Mode

There are no modes available for ControlOut object.

Additional Parameters

Parameters Description
Group Sizes

This is an additional parameter which is an array with a length equal to NumElements

Each value in this array is the size of the corresponding control.

Example: [1,2] would mean the first control input is a single control, but the second is a block control of size 2.

Graphical user interface, application, Teams Description automatically generated

Tuning Parameters

There are no tuning parameters available for ControlOut object.

Control Parameters

There are no control parameters available to control the functioning of this object.

Native Panel

ControlOut audio object does not support native panel.

Yes No
Last updated on July 2, 2024

2.Basic Objects

Basic objects category contains following audio objects.

Yes No
Last updated on November 20, 2023

2.1.Delay

The purpose of the Delay audio object is to time shift between the input and output audio samples. The audio object has the ability to add delays to several channels, each with a different delay setting.

A diagram of a flowchart Description automatically generated with low confidence

However, each channel will support the maximum allowed delay set in SFD. As a result, each channel will have a buffer that is the appropriate size to handle the maximum delay. The Delay audio object can be used when a time delay is required in an audio pipeline. The objects supports DelayPool functionality as an operating mode. In this mode, sum of the  individual channel delay configured will be less than or equal to the maximum delay.

Use Case: The Delay audio object can be used when a time delay is required in an audio pipeline.

Delay Object Properties

Below table describes about the Delay audio object properties and functionality.

Properties Description
# of Channels The number of channels is configurable in the SFD and is always equal to both, the number of input and output channels.

  • Range: 1 to 225
  • Data type: uint
  • The default value is set to 1.
Max.delay(ms) Specifies the maximum possible delay for each channel in audio object. For Delay Pool  (Refer below on mode details) mode Max Delay is maximum delay which can be utilized by all channels combined. 

  • Range: 1 to 9999 ms
  • Data type: uint
  • The default value is set to 1.

Max delay value specified in milliseconds (ms).

Display Name Display name of the Delay audio object in signal flow design. It can be changed based on the intended usage of the object.
Object Mode Delay object operates in one of the following three modes.

  • Instant
  • CrossFade
  • DelayPool

m_Mode is used to specify whether the change in the delay is Instant or uses a Crossfade or operate as DelayPool.

Mode

Delay object operates in one of the following three modes.

Parameter Description Value Data Type
Instant No fading – change straight to the newly requested delay value. This is the default mode. 0 (Instant) uint
CrossFade To avoid audio discontinuity when the delay value changes. 1 (Crossfade) uint
DelayPool Max Delay determines the total DelayPool size which is common for all the channels. When the delay of individual channel is configured, the sum of delay values (of all the channels) can not exceed Max Delay. Changes in delay values are accepted by the audio object only when sum does not exceed Max Delay.

It does not support fading and no control inputs are added in this mode.

When the sum of delay values exceeds the Max Delay and preset is applied in parameter-sets of GTT, then the UI may group some delay changes into one xTP command. This may cause audio objects to accept some delay value changes and reject other delay value changes.
This accept/reject can happen because, the audio object checks to see if the sum exceeds Max Delay on receiving xtp command.
Audio object would accept the delay values when the sum returns back to acceptable limit (sum <= Max delay).

2 (DelayPool) uint

Additional Parameters

Parameter Description
Crossfading Duration in ms Fade time, only effective when the delay is operating in Crossfade mode.

  • Range: 1 to 1000
  • Data type: Float
  • The default value is set to 50.
Configuration Control Input(s) Configuration control inputs (Enable/Disable).

  • If set to 0 – Disables control inputs.
  • If set to 1 – Enables one control input to configure the delay value for all channels.
  • If set to 2 – Enables one control input per channel for individual configuration.
A screenshot of a computer Description automatically generated

Tuning Parameters

Parameter Details Default Value Range Data type
Delay Delay to be applied across each channel 0 (sec) 0 – Max.delay (sec) Float

Control Parameters

Parameter Details Default Value Range Data type
Delay(OneSet) One control input is added to set the delay value for all audio channel to the same configured value. 0 (sec) 0 – Max.delay (sec) Float
Delay(MultiSet) One control input per channel is added to set the delay for individual channel. 0 (sec) 0 – Max.delay (sec) Float

Yes No
Last updated on July 2, 2024

2.1.1.Delay Panel

The Delay panel associated with Delay audio object. The Delay panel is used for changing the delay of the signal for each channel.

A screenshot of a computer Description automatically generated with medium confidence

  • Maximum / Minimum Delay Value:  The maximum and minimum delay values are from corresponding state variable of Delay.
  • Threshold Values: The maximum and minimum threshold values are derived from the GTT in the ParameterStore. Once the threshold value is reached, the Delay value bar will change to red color.
    • Maximum threshold value: 95 %
    • Minimum threshold value: Not set
      A screenshot of a cell phone Description automatically generated with low confidence
  • Changing Units: You can switch between the milliseconds, samples, centimeters.

Milliseconds

Samples

Centimeters

  • Object Mode (Instant/CrossFade): In GTT the delay values are derived from the parameter store. Each channel’s delay value is configurable from 0 to Max Delay.
  • Object Mode (DelayPool): In GTT the delay values are derived from the parameter store. When the object mode is set to DelayPool, the “Overall delay used” shown is sum of delay values of all the channels. Sum of the delay of channels is expected not to exceed Max Delay. Changes in delay values are accepted by the audio object only when sum does not exceed Max Delay.

    You can find the overall “delay value used” at the top of the Delay panel. The value in text area changes its color depending on the percentage of the maximum overall delay value.
    • Up to 80 % of the delay pool
      A green and black rectangle with white text Description automatically generated with low confidence
    • From 80 % – 100 % of the delay pool
    • 100 % of the delay pool
      A picture containing text, font, screenshot, logo Description automatically generated
  • Step Size for delay: In the application settings, you can change the global step size. The local step size in the delay audio object is derived from the global step size specified in the application settings. When you change the value of the local step size, the global step size value is no longer used.

To change the Delay Value

You can change the delay value in four ways:

  • Using slider button: Select the slider to adjust the delay value.
  • Using mouse scroll: Hover on the respective column and use mouse scroll to adjust the delay value.
  • Using text box: Select the respective column and enter the dB value within the specified minimum and maximum range. Once you’ve entered the value, press Enter, and the slider will automatically adjust based on the input.
  • Using the increase and decrease buttons the delay calculated step value (based on max delay (ms)).
Yes No
Last updated on July 2, 2024

2.2.Gain

The purpose of the Gain audio object is to provide amplitude scaling of the signal for each channel. The gain object also supports invert and mute feature.

Use Case: This object is deployed whenever a gain is required in the audio pipeline.

Gain Object Properties

Details about the Gain audio object properties and functionality.

Properties Descriptions
# of Channels In the Signal Flow Designer (SFD), you can specify the maximum possible gain for the audio object. The number of channels is configurable in the SFD and is always equal to both, the number of input and output channels.

  • Range: 1 to 225
  • Data type: uint
  • The default value is set to 1.
Display Name Display name of the gain audio object in signal flow design. It can be changed based on the intended usage of the object.

Mode

There are no mode available for Gain audio object.

Additional Parameters

There are no additional parameters available for Gain audio object.

Tuning Parameters

The gain audio object supports in-place computation based on the core type.

The following are the paraments you can tune in to GTT.

Parameter Description Unit Range
Gain Applied on the input channel. dB -128 to 20
Invert
  • If set to 1, the input value is multiplied by -1.
  • If set to 0, the input value is multiplied by 1.
None 0 or 1
Mute
  • If set to 1, the output is muted.
  • If set to 0, the output is not muted.
None 0 or 1

Control Parameters

There are no control parameters available for Gain audio object.

Yes No
Last updated on November 23, 2023

2.2.1.Gain Panel

The Gain panel associated with Gain audio object. The Gain panel is used for changing the gain of a signal for each channel.

When you open a gain native panel, the Logarithmic scale is set to the default value. You can toggle option to switch between Linear and Logarithmic scale.

The gain values in the Logarithmic scale are rounded off to nearest next digit. For Linear scale values are retained as user entered.

  • Logarithmic Scale: Gain values are displayed rounded to the nearest whole number.
    Example:
    If the gain value is -10.4 in Logarithmic scale it will be shown as -10.
    If the gain value is -10.7 in Logarithmic scale it will be shown as -11.

All Gain panel functionalities are fully supported and work seamlessly when using the logarithmic scale.

  • Linear Scale: Gain values are shown exactly as entered.
    Example:
    If the gain value is -10.8 in Linear scale it will be shown as -10.8.

On switching between these two options only scale is changed, State variable values and Tunning data remain same, Unless user changes the actual value.

When switching between logarithmic and linear scales, only the way gain values are displayed is affected. The underlying state variable values and tuning data remain unchanged unless you manually change the actual value.

  • Maximum / Minimum Gain Value:  The maximum and minimum gain values are from corresponding state variable of Gain.
    • Maximum value: 20 dB
    • Minimum value: – 120 dB
  • Threshold Values: The maximum and minimum threshold values are derived from the ParameterStore in GTT. Once either of the threshold values is reached, the Gain value bar will change to the color red.

  • In Phase / Invert: To invert or Inphase the gain value
    • Click on the In Phase to invert the gain value.
    • Click on the Inverted to in phase the gain value.
      A screenshot of a computer Description automatically generated with low confidence
  • Mute: The Mute button sets the gain value to a minimum gain value. Even if the gain value is muted, you can change it. 
    A screenshot of a computer Description automatically generated with low confidence
  • Mute all: The Mute all button sets all gain values to minimum gain values. If all gains are muted, the Mute all button will change to Muted. 
    A screenshot of a computer Description automatically generated with medium confidence
  • Solo:  The Solo button mutes all the channel except the selected one. Additionally, the phase of all the muted channels get disabled. Click on the Solo button again, to unmute all the channels.

To change the Gain value

You can change the gain value in four ways:

  • Using slider button: Select the slider to adjust the value.
  • Using mouse scroll: Hover on the respective column and use mouse scroll to adjust the value.
  • Using text box: Select the respective column and enter the dB value within the specified minimum and maximum range. Once you’ve entered the value, press Enter, and the slider will automatically adjust based on the input.
  • Using the increment and decrement buttons  you can change the gain value.
Yes No
Last updated on July 2, 2024

2.3.Level Monitor

The Level Monitor is intended to measure the level of input; the audio samples are sent to the output without modification.

Use case: This object can be deployed in Level Monitor mode whenever there is a need to measure level of signal level and in Clip Meter mode to check if the level is causing clipping. The same input is sent as output without modification.

Level Monitor Properties

Below table describes about the Level Monitor audio object properties and functionality.

Properties Descriptions
# of Channels In the Signal Flow Designer (SFD), the number of control outputs is equal to the number of audio channels. Each control output writes out the channel level/clip indication value based on the MODE selected.

  • Range: 1 to 254
  • Data type: Signed Short
  • The default value is set to 1.
Display Name Display name of the Level Monitor audio object in signal flow design. It can be changed based on the intended usage of the object.
Object Mode During design time, the audio object channel can be configured in one of the two operation modes.

  • Level Monitor
  • Clip Meter

Mode

During design time, the audio object can be configured in one of the two operation modes.

  • Level Monitor
  • Clip Meter

Mode Description
Level Monitor

This is the default mode.

In this mode, the signal level is measured and the value is sent to the control output.

Clip Meter In this mode, object computes the signal level and compares it with the threshold set through the tuning parameters. A flag is set / reset if the signal level is above / below the threshold and this flag is sent to the control output.

Additional Parameters

There are no additional parameters available for Level Monitor audio object.

Tuning Parameters

Under Level Monitor mode, following are the tuning parameters available for each channel.

Parameter Description Range Default Data Type Unit
LEV_MODE To select the method of computation of input signal level

  • RMS: It is the RMS value of the input signal
  • Linear: It is average of the input signal
  • Peak: It is the peak/max sample value

In all the above types, the computed level is always presented in dB (logarithmic scale)

0 – RMS

1 – LINEAR

2 – PEAK

0 Float NA
DB_LEAK_PER_SEC Amount of dB drop per second in Peak Level mode. 1 to 60 30 Float dB
PEAK_HOLD_TIME Amount of time peak is held. 0 to 1 0.05 Float second

Under Clip Meter mode, following is the tuning parameter available for each channel.

Parameter Description Range Default Data Type Unit
Threshold Threshold value for the channel to treat a signal as being clipped. -20 to 20 -0.25 Float dB

State Parameters

Under Level Monitor mode, following is the state parameter available for each channel.

Parameter Description Range Default Data Type Unit
LEVEL_VALUE Measured signal level for the channel -128 to 20 0 Float dB

Under Clip Meter mode, following is the state parameter available for each channel.

Parameter Description Range Default Data Type Unit
Clip Indicator Clip Indicator for the channel based on the tuned threshold parameter 0 or 1 0 Unsigned Long None

Control Parameters

Under Level Monitor mode, following is the control output available for each channel.

Parameter Description Range Data Type Unit
Signal Level Measured signal level for the channel -128 to 20 Float dB

Under Clip Meter mode, following is the control output available for each channel.

Parameter Description Range Data Type Unit
Clip Indicator Clip Indicator per channel based on the tuned threshold parameter 0 or 1 Float None

 

Yes No
Last updated on December 11, 2023

2.3.1.Level Monitor Panel

Level monitor custom native panel can be used to visualize measurements and to tune measurement parameters, like types of level values. Panel shows as many channels as it is specified in SFD.

Level Monitor object has 2 working mode.

  • Level Monitor: Level Monitor mode is used by engineers to measure level of volume in audio pipeline.
  • Clip Meter: Clip Meter mode is used to check if the level is causing clipping.

State tab is used to show the level values or clipping indicators. This tab is read only.
Tune and custom tabs are used to adjust measurement parameters.

Yes No
Last updated on December 11, 2023

2.4.FaderBalance

The primary purpose of Fader Balancer audio object is to optimize the audio quality within the vehicle’s cabin by adjusting the sound distribution. Basically, this audio object allows to identify the “sweet spot” of the sound by moving in the x and y directions. 

The Fader Balance object has only one operating mode and has three additional configuration parameters – Speaker Groups, Number of Steps, and Block Control. Using these additional parameters, you can configure the setup during design time.

Each audio channel may belong to one or two speaker group as set in the additional variable. Fader speaker group has the following speaker types:

  • CENTER
  • SIDE
  • BASS
  • FRONT
  • REAR

Balance speaker group has the following speaker types:

  • CENTER
  • LEFT
  • RIGHT

Each speaker type in each speaker group has its own gain table.

The output samples are generated by multiplying the input samples with the composite gain value that is a product of the gain levels of the Balance and Fader gain tables assigned to this channel and as pointed by the control inputs – Control_Balance and Control_Fader. The composite gain value is morphed to avoid pops.

Channel configuration (assignment to speaker types of the selected speaker groups), morphing time, and the gain level of each step are configurable through xTP interface. Basically, we are mixing run-time tuning (add cfg params) and design-time tuning (add cfg params). GTT is used for configuration in general, and xTP is the protocol used to deliver tuning data.

Fader and Balance positions are provided through control inputs.

Fader Balance is ported from the Summit version with the following differences:

  • The option for 4 modes is not supported. This shall be handled with the preset files. The number of control inputs is brought down to 2 due to this change.
  • Stand-alone Fader AO and Balance AO can be achieved by configuring the additional parameters in the SFD.
  • The step count is made as an additional variable instead of using the “Number of Elements” field.
  • The channel configuration is done using a drop-down menu to select only one speaker type in each speaker group. This prevents the selection of multiple speaker types by mistake.

Use Case: Using this method, you can optimize the sound loudness on the left or back of the cabin.

Fader Balance Properties

Below table describes about the Fader Balance audio object properties and functionality.

Properties Descriptions
# of Channels The number of audio channels it can process is configurable in the SFD and ranges from 1 to 255. The number of audio inputs is always equal to the number of audio outputs.

  • Range: 1 to 225
  • The default number of channels is set to 8.
Display Name Display name of the Fader Balance audio object in signal flow design. It can be changed based on the intended usage of the object.

Mode

There are no mode available for Fader Balancer.

Additional Parameters

Parameters Description
Speaker Groups Speaker Groups can be set to one of the following three options:

  • Fader and Balance speakers (0) – Default
  • Balance speakers only (1)
  • Fader speakers only (2)
Number of Steps

The “Number of Steps” is a common variable that controls the number of gain levels that the user can operate.

To control the gain level of fader and balance speakers the value shall be odd, and this value is common for balance and fader speaker groups. The number of steps need to be an odd number and shall range from 3 to 65 with the default value at 31.

The xAF data order is set as “xAF_ODD” to communicate to the GTT through DDF to prevent entering even numbers by the user.

Block Control

Block Control Disabled (0) – Default

Block Control Enabled (1)

Tuning Parameters

The following tuning parameters available for Fader Balancer audio object.

Parameter Name Description Type Unit Default value
MorphingTime Morphing time. The range is from 0 ms (no morphing) to 100 ms.

Morphing time follows time constant and the morphing time is denoted as M. Following is the percentage of change achieved:
 – After M: 63%
– After 2M: 86%
 – After 3M: 95%
 – After 4M: 98%
 – After 5M: 99%
Hence the morphing time can be configured accordingly.

float ms 0.01
Channel # Assignment This parameter assigns particular audio channel to one or none of the speaker types in each group. The following pair of speaker type assignment is available for each channel.

  • Balance Speaker Types: CENTER, LEFT, RIGHT and None
  • Fader Speaker Types: CENTER, SIDE, BASS, FRONT, REAR and None

 

 

ULong

ULong

 

 

 

 

BAL_CENTER

FAD_CENTER

BalanceCenterTable

Balance table for center speaker group. The gain value for each step is tunable.

Range: -128 to 0 dB

 

float

 

dB

 

0

BalanceLeftTable

Balance table for left speaker group. The gain value for each step is tunable.

Range: -128 to 0 dB

 

float dB 0 dB for the first (NUMBER_OF_STEPS+1)/2 steps, next are linearly decreased with equal step in dB scale to -128 dB.
BalanceRightTable

Balance table for right speaker group. The gain value for each step is tunable.

Range: -128 to 0 dB

float dB Start from -128 dB and are linearly increased with equal step in dB scale to 0dB to (NUMBER_OF_STEPS-1)/2 step, next their value is 0 dB.
FaderCenterTable Fader table for center speaker group. The gain value for each step is tunable.Range: -128 to 0 dB float dB 0
FaderSideTable

Fader table for side speaker group. The gain value for each step is tunable.

Range: -128 to 0 dB

float dB 0
FaderBassTable Fader table for bass speaker group. The gain value for each step is tunable.Range: -128 to 0 dB float dB 0
FaderFrontTable

Fader table for front speaker group. The gain value for each step is tunable.

Range: -128 to 0 dB

float dB 0 dB for the first (NUMBER_OF_STEPS+1)/2 steps, next are linearly decreased with equal step in dB scale to -128 dB.
FaderRearTable

Fader table for rear speaker group. The gain value for each step is tunable.

Range: -128 to 0 dB

float dB Start from -128 dB and are linearly increased with equal step in dB scale to 0dB to (NUMBER_OF_STEPS-1)/2 step, next their value is 0 dB.

Control Parameters

The following two control parameters available for Fader Balancer audio object.

  • Balance – To set the Balance knob position
  • Fader – To set the Fader knob position
Yes No
Last updated on July 2, 2024

2.4.1.Fader Balance Panel

General tab

Basically, this audio object allows to identify the “sweet spot” of the sound by moving in the x and y directions. Using this method, you can optimize the sound loudness on the left or back of the cabin.

Used to map the channels to Balance Speaker group and Fader speaker group.

A screenshot of a computer Description automatically generated

  • Morphing time: The range is from 0 s (no morphing) to 0.1 s.
    Morphing time follows time constant and the morphing time is denoted as M. Following is the percentage of change achieved:
    – After M: 63%
    – After 2M: 86%
    – After 3M: 95%
    – After 4M: 98%
    – After 5M: 99%
    Hence the morphing time can be configured accordingly.

The morphing time (through V release) is actually a time constant.  Therefore if you want your morph 99+% complete in 100ms you should specify 20ms, not 100.  One time constant will morph 63% of the way there.

  • Channel assignment: Assigns a particular audio channel to one or none of the speaker types in each group.
    • Balance Speaker Types: CENTER, LEFT & RIGHT
    • Fader Speaker Types: CENTER, SIDE, BASS, FRONT & REAR

Fader tab

Used to control the gain level of fader in the range -128  to 0 dB.

  • Front
  • Center
  • Side
  • Rear
  • Bass

Balance tab

Used to control the gain level of balance in range -128 dB to 0 dB.

  • Center
  • Left
  • Right

Yes No
Last updated on July 2, 2024

2.5.Volume and Mute

The purpose of the Volume and Mute audio object is to control the volume or mute in the audio pipeline. Additionally, Volume block also amplitude scaling with ramps.
Use a custom native panel to change the Volume and Mute audio object parameters. The mode and tune type may also be selected at design time from within SFD.

The Volume and Mute audio object supports in-place computation based on the core type.

Volume and Mute Properties

Below table describes about the Volume and Mute audio object properties and functionality.

A screenshot of a computer Description automatically generated

Properties Descriptions
# of Channels In SFD, the number of channels is specified, and the number of input channels is equal to the number of output channels.

  • Range: 1 to 128
  • Default: 1
Display Name Enter the display name of the audio object. It can be changed based on the intended usage of the object.
Object Mode Volume object operates in one of the three modes.

  • One Set
  • Multi Set
  • Multi Set Ramp

Mode

Volume object operates in one of the three modes.

Mode Description
One Set In this mode, the volume object exposes these six values.

  • Volume value
  • Mute
  • Invert
  • Ramp Up Rate (in dB/s)
  • Ramp Down Rate (in dB/s)
  • Ramp Shape
    • Jump – Ramping between two states is non-existent – immediate transition. The ramp up and down rates are ignored in this case.
    • Linear – Ramping between two states is linear.
    • Exponential – Ramping between two states follows an exponential curve.

These values are applied across all channels of the module. The ramping variables are only available via parameter tuning in this mode.

Multi Set: In this mode, Volume, Mute, and Invert values are available per channel. One set of ramp rates and shape however is applied to all channels. The ramping variables are only available via parameter tuning.
Multi Set Ramp: In this mode, Volume, Mute, Invert, Ramp Up rate, Ramp Down Rate, and Ramp shape values are all available per channel.

 

Additional Parameters

Volume and Mute audio object consist of following additional parameters.

  • Ramp Tuning Mode
  • Boot State
  • Boot Level
  • Mute state on volume change
Parameters Description
Ramp Tuning Mode Ramping is applied when a transition or change occurs and is specified in terms of rate (ms/dB) or time (ms).

  • 0 – Ramp rate in ms/dB.
  • 1 – Ramp time in ms.
A screenshot of a computer Description automatically generated
Boot State The boot-up or start-up state of the Volume AO can be specified in 0 or 1.

  • 0 – Unmuted (default)
  • 1 – Muted
A screenshot of a computer Description automatically generated
Boot Level

The amplitude level of the Volume AO at boot-up or start-up time can be specified.

Range: -128 dB to + 20 dB

The default value shall be 0 dB.

A screenshot of a computer Description automatically generated
Mute state on volume change The desired state of the AO when the volume parameter is changed while the object is in Mute state is specified here.

  • 0 – Unmute on volume change (default)
  • 1 – Remain muted (apply the last set volume level after unmuting specifically)
A screenshot of a computer Description automatically generated

Tuning Parameters

Ramp Parameters: The Volume audio object exposes ramp rate/time settings that can be adjusted from GTT. 

Parameters Descriptions Range Unit
Ramp Up Rate or Time Ramp up rate in ms/dB or ramp time in ms. 0 to 1000  ms/dB or ms
Ramp Down Rate or Time Ramp down rate in ms/dB or ramp time in ms. 0 to 1000  ms/dB or ms
Ramp Shape The shape the volume will change according to once a volume or mute control is triggered.
  • Volume_Jump
  • Volume_Lin
  • Volume_Exp
 

Volume Parameters: The Volume object has three state parameters volume, mute and invert (phase shift of 0 or 180) per channel.

This functionality is only triggered in the multi-set mode.

Parameters Descriptions Range Unit
Volume Volume to be applied on all input channels -128 to 20 dB
Mute Mute to be applied on all input channels 0 or 1  
Invert

If set to 1, all input channels will be multiplied by -1

If set to 0, all input channels will be multiplied by 1

0 or 1  

Dynamic Control

Parameters Descriptions Range Unit
Volume Volume to be applied on all input channels -128 to 20 dB
Mute Mute to be applied on all input channels 0 or 1  

Control Parameters

The Volume control is triggered whenever a control message is addressed to the audio object.  The volume object has 2 control pins or indexes for Volume and Mute.

Parameters Descriptions Range Unit
Volume Volume to be applied on all input channels -128 to 20 dB
Mute Mute to be applied on all input channels
  • 0 – Un mute
  • 1 – Mute
 

Yes No
Last updated on July 2, 2024

2.5.1.Volume and Mute Panel

When engineers need to control the volume or mute settings in their audio pipeline, they utilize the Volume and Mute audio objects. To modify the parameters of these objects, a custom native panel is used.

Possible configuration and its effects are shown in the table below.

Configuration Effect
Mode Tune and State Ramp Characteristic
OneSet

Volume , Mute, and Invert is common to all channels.

Ramping values is common to all channels.

MultiSet

Volume ,Mute and Invert is for each individual channels.

Ramping values is common to all channels.

MultiSet Ramp

Volume, Mute, and Invert and Ramping values is for each individual channels.

Based on the configuration, user interface of the panel can vary.

As a result of this fact, the user interface of the current panel also undergoes changes to accommodate all the controls necessary for handling the audio object configuration.

 You can modify any available state variables.

  • To change volume, down or up ramp rate/time please use vertical faders or textboxes under them.
  • To mute a specific channel in “Multi Set” modes or all channels in “Single Set” mode, simply click on the “Muted” or “Unmuted” button.
  • To shift the phase of a specific channel in “Multi Set” modes or all channels in “Single Set” mode, click on the “In Phase or Inverted” button.

For ramping parameters, ramp shape can be set in one out of three shapes.

  • Linear ramp shape
  • Exponential ramp shape
  • Jump ramp shape (volume increases immediately without any ramp shape)
Yes No
Last updated on October 31, 2023

2.6.VolumeLite

The purpose of the VolumeLite audio object is to control the volume in the audio pipeline. The VolumeLite audio object is light weight and different from “Volume Mute” AO. The object can alter the output volume by either attenuating or amplifying the audio.
This audio object supports ramping and each channel has its own set of – state variables as well as ramping parameters.

Use Case: The object can be used to control the volume of  an audio channel.

VolumeLite Properties

Below table describes about the VolumeLite audio object properties and functionality.

Properties Description
# of Channels In SFD, the number of channels is specified, and the number of input channels is equal to the number of output channels.

  • Range: 1 to 128
  • Default: 1
Block Control The object  supports Block Control when the object is configured with more than one channel. It has one block control input which controls the output volume of which size is equal to the number of channels configured for the audio object. Block Control is enabled by default and cannot be disabled.

Mode

There are no mode available for VolumeLite audio object.

Additional Parameters

Parameter Description
Boot Level

It specifies the required volume level at boot time when configured. It is applicable for all the channels.

Range: -128 dB to +20 dB.

Default: 0 dB

Tuning Parameters

The following are the tuning parameters that can configure from GTT.

Parameters Description Range Default Data Type
Ramp Up Time Ramp up time in ms per channel. 0 to 1000 ms 5 ms Float
Ramp Down Time Ramp down time in ms per channel. 0 to 1000 ms 5 ms Float
Ramp Shape The shape of the  volume will change accordingly once it  is triggered and applies across all channels.
  • Linear
  • Exponential
Linear ULong
Volume Volume to be applied per input channel -128 to 20 dB 0 dB Float

All the channels can be tuned with one command as  all are in the same subblock compared to Volume Mute object.

Control Parameters

The Volume control is triggered whenever a control message is addressed to the audio object. Block Control is deployed only when object has more than one channel. It has one block control input, the size of which is equal to the number of channels configured for the audio object.

Parameters Description Range Unit
Volume Volume to be applied per input channel -128 to 20 dB dB

Native Panel

The native panel for VolumeLite audio object is under development.

Yes No
Last updated on July 5, 2024

3.Control Objects

Yes No
Last updated on December 11, 2023

3.1.Control Math

The Control Math audio object provides the ability to manipulate input control signals.

Control Math Properties

Below table describes about the Control Math audio object properties and functionality.

Properties Description
Number of outputs/inputs Enter the number of control outputs or inputs.

  • When the object mode is set to ADD/SUBTRACT/MULTIPLY/    MAXIMUM/MINIMUM/EQUAL / AND / OR / NOR / NAND / XOR the input control pin is enabled.
    • Input value range 2 to 16.
    • Output value is 1.
    • Default value is set to 2.
  • When the object mode is set to LIN2DB / DB2LIN /INVERT / RECIPROCAL / SQUARE / SQUAREROOT the input control pin is equal to output control pin.
  • When the object mode is set to DIVIDE/GREATER/LESS, the input control pins are 2 and output control pin is 1.
  • When the object mode is set to NOT/CTRLDELAY, the input and output control pin is 1.
  • When the object mode is set to CTRLSPLIT, the input control pin is 1 and output control pins are configurable between 2 to 32.
  • When the object mode is set to CTRLDUPLICATE, the input control pins are  configurable between  1 to 16 and output control pins are twice the input control pins.
  • When the object mode is set to NONLINEARCLIP, the input control pins are 3 and output control pin is 1.
  • When the object mode is set to INDEX, the input control pins are  configurable between  2 to 255 and output control pins are 2.
Display Name Display name of the control math audio object in signal flow design. It can be changed based on the intended usage of the object.
Object Mode Control Math audio object supports twenty-six modes of operation. This audio object can be configured in the SFD to operate in one of the following modes:

  • Add
  • Subtract
  • Divide
  • Multiply
  • Minimum
  • Maximum
  • Lin2dB
  • dB2Lin
  • Invert
  • Square
  • Reciprocal
  • SquareRoot
  • And
  • Or
  • Xor
  • Not
  • Nand
  • Nor
  • Greater
  • Less
  • CtrlSplit
  • CtrlDuplicate
  • CtrlDelay
  • NonLinearClip
  • Equal
  • Index

Default object mode is set to Add.

Mode

The Control Math audio object supports following modes.

Mode Description
ADD In this mode, control inputs into the object are summed up and their sum is fed to the output of the object.
SUBTRACT The difference between the first control input and the summation of the remaining control inputs into this object is sent out at the output.
MULTIPLY Takes in input controls and writes their product to the output of the object.
DIVIDE Takes 2 input controls and writes the result of their division to the output. If the divisor is zero, the result is set to the maximum float value.
MAXIMUM Takes the input controls and writes out the maximum of the values.
MINIMUM Takes in input controls and writes out the minimum of the values.
LIN2DB Takes a linear control value as an input and outputs it’s logarithmic equivalent to the specific output pin. If the input is less than or equal to zero, the result is set to zero.
DB2LIN Takes a logarithmic control value as an input and outputs it’s linear equivalent to the specific output pin.
INVERT Reads in a control value and outputs the negative (inverse) of that value to the specific output pin.
RECIPROCAL Takes in a value, x, and outputs its reciprocal (1/x). If the input value is zero, the result is set to the maximum float value to the specific output pin.
SQUARE Takes in a value, x, and outputs its squared value to the specific output pin.
SQUAREROOT Takes in an input value, x, and outputs its square root, . If the input is negative, the result is set to zero to the specific output pin.
AND Takes in multiple inputs and outputs the logical AND operation of these inputs.
OR Takes in multiple inputs and outputs the logical OR operation of these inputs.
XOR Takes in multiple inputs (x1, x2, x3, xn) and outputs the logical XOR operation (((x1 xor x2) xor x3) xor xn) of these inputs.
NOT Takes in an input, and outputs the NOT
NAND Takes in multiple inputs (x1, x2, x3, xn) and outputs the logical NAND operation (((x1 nand x2) nand x3) nand xn) of these inputs.
NOR Takes in multiple inputs (x1, x2, x3, xn) and outputs the logical NOR operation (((x1 nor x2) nor x3) nor xn) of these inputs.
GREATER Takes in 2 inputs, and and outputs true if .
LESS Takes in 2 inputs, and and outputs true if .
EQUAL Takes in multiple inputs and outputs true if all the input values are equal.
SPLITTER Takes in an input control and writes the output to a user specified number of output pins.
DUPLICATE Takes in a user specified number of inputs and writes each input out to 2 output pins.
DELAY Takes in a user setting delay (in ms) and writes out the output only after that delay time has passed.
NONLINEARCLIP Takes in 3 inputs, x, min, and max.

  • Provide the output as max if x is greater than max.
  • Provide the output as min if x is less that min.
  • Provide the output as x if x is greater that min and less than max.
INDEX It takes in multiple control inputs and outputs two control values.

  • The first control output returns the index of the minimum value among the control inputs.
  • The second control output returns the index of the maximum value among the control inputs.

In case of maximum or minimum values being the same, it returns the index of the first encounter.

Additional Parameters

Control Math audio object supports additional configuration which allows to enabled or disabled Block Control. Which can be enabled or disabled by selecting between Block Control Disabled and Block Control Enabled. The object shall support Block Control in the following operating modes:

Block Control Enabled –

  • Set “Object Mode” to EQUAL / AND / OR / NOR / NAND / XOR to enable the Block control, the number of input control pins can be grouped to one input block control pin.
  • Set “Object Mode” to LIN2DB / DB2LIN /INVERT / RECIPROCAL / SQUARE / SQUAREROOT to enable the Block control, the number of input and output control pins can be grouped to one input block control pin and one output block control pin respectively.

By default, the Block Control function is disabled.

Tuning Parameters

There are no tuning parameters available for Control Math audio object.

Control Parameters

There are no control parameters available for Control Math audio object.

Native Panel

Control Math audio object does not support native panel.

Yes No
Last updated on June 11, 2024

3.2.Control Grouper

The Control Grouper audio object allows to merge two or more individual controls and combining them into a single output group, and then send as one signal output group to the connected object.

Use Case: The Control Grouper audio object is useful in context of the Block Control feature. When control signals are received from controlIn AO it will be received as individual control signals. If audio object needs all control signals together then control grouper can be used to combine the control signals. 

Refer block control documentation for more details. 

Control Grouper Properties

Below table describes about the Control Grouper audio object properties and functionality.

A screenshot of a computer Description automatically generated with medium confidence

Properties Description
# of controls in Group

Enter the number of control inputs. It is also the number of signals within the one group to control output.

The number of control group output is always 1.

  • Range: 2 to 128
  • Data type: Float
  • The default value is set to 2.
Display Name Display name of the Control Grouper audio object in signal flow design. It can be changed based on the intended usage of the object.
Object Mode The audio object supports two modes of operations.

  • Send When All Received (Default mode)
  • Send On Apply

Mode

Control Grouper supports two modes.

  • Send When All Received (Default mode)
  • Send On Apply

A screenshot of a computer Description automatically generated

Mode Description
Send When All Received

In this mode Control Grouper AO does not send a control group output every time a control input is received. The Control Grouper AO waits till all the control inputs are received and then sends the control group output.

If the control inputs are coming at a different rate, the object sends the control group output at the rate of the slowest incoming control input.

Send On Apply

In this mode, Control Grouper AO has an additional “Apply” input pin. When input is received on apply pin, Control Grouper AO sends the group output.

Control inputs have default values. These values are exposed as tuning parameters, these values can be modified using state variable explorer. These values are used, when one or more inputs are not received before the input on apply pin is received.

Additional Parameters

There are no additional parameters available for Control Grouper audio object.

Tuning Parameters

There are no tuning parameters available for Control Grouper audio object.

Control Parameters

There are no control parameters available for Control Grouper audio object.

Native Panel

Control Grouper audio object does not support native panel.

Yes No
Last updated on December 19, 2023

3.3.Control GroupSplitter

The Control GroupSplitter audio object splits one control group input into multiple individual control outputs.

Use Case: This object can be deployed if user wants to split the block control to individual control signals which needs to be connected to different audio objects.  

Control GrouperSplitter Properties

Below table describes about the Control GroupSplitter audio object properties and functionality.

Properties Description
# of controls in Group Enter the number of control outputs. It is also the number of signals within the one group to control input.

The number of control group input is always 1.

  • Range: 2 to 128
  • Data type: xFloat32
  • The default value is set to 2.

The Control GroupSplitter audio object accepts a single block control at its input and splits it into a user-configurable number of single control outputs.

Display Name Display name of the Control GrouperSplitter audio object in signal flow design. It can be changed based on the intended usage of the object.

Mode

There are no mode available for Control GroupSplitter audio object.

Additional parameters

There are no additional parameters available for Control GroupSplitter audio object.

Tuning Parameters

There are no tuning parameters available for Control GroupSplitter audio object.

Control Parameters

The object always has N single control outputs. The number N is described via the number of elements variable in SFD. The object always has one group control input.

Native Panel

Control GroupSplitter audio object does not support native panel.

Yes No
Last updated on December 19, 2023

3.4.Control Multi Adder

The Control MultiAdder audio object provides the ability to manipulate input control signals. Refer description column of num elements for algorithm description. 

Use Case: This object can be deployed whenever the addition of control inputs is required. Additionally, this object is used as the LUT Adder in Halosonic.

ControlMultiAdder Properties

Below table describes about the Control MultiAdder audio object audio object properties and functionality.

A screenshot of a computer Description automatically generated

Properties Description
Number of Elements

A minimum of three control inputs into the object are summed up and their sum is fed to the control output of the object. Each time the Control Multi Adder control input is set, it calls the corresponding control output. The object has 3 control inputs for elemental addition and forwards control value into an output.

A screenshot of a computer program Description automatically generated

Example: If the numElements is 4, there will be 4 control outputs [y1, y2, y3 and y4] and 12 control inputs [x1 to x12]. The control outputs are computed as shown in the figure below.

Maximum control inputs possible for a control multi adder instance are 255.

For N elements specified from the configuration, 3N control input values would give N control output values. The number of control outputs is selected by numElements.

The number of control inputs = 3 * numElements.

The maximum number of control outputs is limited to 85, So the maximum number of control inputs is 85*3 = 255.

Display Name Display name of the Control MultiAdder audio object in signal flow design. It can be changed based on the intended usage of the object.

Mode

There are no mode available for Control MultiAdder audio object.

Additional parameters

There are no additional parameters available for Control MultiAdder audio object.

Tuning Parameters

There are no tuning parameters available for Control MultiAdder audio object.

Control Parameters

There are no control parameters available for Control MultiAdder audio object.

Native Panel

Control MultiAdder audio object does not support native panel.

Yes No
Last updated on December 19, 2023

3.5.Control Mixer

The Control Mixer audio object provides a mechanism to mix and route control signal from input to output. The mixer sums values from selected control inputs and pushes the sum to the output. Numbers of inputs and outputs are configurable via GTT. It enables N inputs to be connected to M outputs which is configurable ranging from 1 to 254. If there isn’t any input signal associated with output, the output wouldn’t be changed.

The non-weighted mode with one connected control input output channel. Connection can be changed from state variable window in GTT during tuning, but its impact will be visible once input at that control pins is changed.

It takes control signals as inputs and emits control signals as outputs. Many inputs can also be connected to one output and output can be left unconnected also. It can copy any input to arbitrary number of outputs (from 0 to number_of_outputs). It means that some inputs can be copied to multiple outputs, or some inputs can be cut (not used further in the pipeline). On the other hand, one output can have at most single input connected to it. Below picture illustrates the idea.

A diagram of a mathematical equation Description automatically generated

Control Mixer Properties

Below table describes about the Control Mixer audio object properties and functionality.

A screenshot of a computer Description automatically generated

Properties Description
Display Name Display name of the control mixer audio object in signal flow design. It can be changed based on the intended usage of the object.
Object Mode Based on the weighing factor of the control inputs to be mixed, the Control Mixer works in two different modes.

  • Non-weight mixer(default)
  • Weight mixer

Mode

The Control Mixer supports in two modes.

  • Non-weight mixer(default)
  • Weight mixer

Additional Parameter

Parameter Description
Number of control input and output

The max input and output in additional configuration is 100.

Range: 1 to 254

The default number of control input and output pin is 1.

A screenshot of a computer Description automatically generated

Tuning Parameters

There are no tuning parameters available for Control Mixer audio object.

Control Parameters

Default control input output is 1 and configurable through additional configuration from 1 to 254 (max).

Yes No
Last updated on July 2, 2024

3.5.1.Control Mixer Panel

The Control Mixer object supports native panel. The native panel window consists of rows and column. The number of row and column depends on “number of control inputs and outputs” configured. 

In Non Weight Mode, table cells can have only two values 0 or 1.

In Weight Mode, table cells can have values from 0 to 1.

Control Mixer supports copy-pasting values from and into Excel sheets.

You can store the specific configuration and recalled via Store Preset option available on the panel. Configure the tuning parameters and select the free preset slot numbers, enter the name of the slot, and click Store preset. This saves and stores the current tuning data to the selected slot.

If you do not enter a name of the slot, then it will take the default named “New Preset”.

You can switch between presets slots and apply their values by simply clicking on them. Additionally, after clicking to override the preset, you can modify the tuning values in that tab or change the preset name.

To reset the selected preset or all the preset values.

  • Click Reset Selected to clear the preset that is currently selected.
  • Click Reset All to clear every preset in the corresponding native panel.

Yes No
Last updated on July 2, 2024

3.6.Control Router

The Control Router audio object provide a mechanism to route control signal from input to output. The router allows to change path of control signal during runtime, which allows for flexibility when designing audio signal pipeline.

This object can be deployed whenever different control inputs to be routed to an object.

It can have arbitrary number of inputs and outputs ranging from 1 to 254 and enables the inputs to be cut or copied to any number of outputs.

Control Router Properties

A screenshot of a computer Description automatically generated

Properties Description
Display Name Display name of the Control Router audio object in signal flow design. It can be changed based on the intended usage of the object.

Mode

There are no mode available for Control Router audio object.

Additional Parameters

Parameter Description
Number of control input and output

The max input and output in additional configuration is 100.

Range: 1 to 254

The default number of control input and output pin is 1.

A screenshot of a computer Description automatically generated

Tuning Parameters

There are no tuning parameters available for Control Router audio object.

Control Parameters

Default control input output is 1 and configurable through additional configuration from 1 to 254 max.

Yes No
Last updated on December 12, 2023

3.6.1.Control Router Panel

The Control Router audio object supports native panel. The native panel window is a dynamic native panel. Panel get adapted in size based on the Router AO configuration. 

By default, all outputs are disconnected.

Every output has an input that can be configured. More than one output can be assigned to a single input signal.
It is possible that some input signals are not assigned to any output.

Additionally, this panel enables to store presets for specific configuration.

Name of preset is configurable in separate window after click Store button:

Yes No
Last updated on December 5, 2023

3.7.Control Smooth

The Control Smooth audio object is used to smoothen the sharp changes in the control values before feeding them as control inputs to another AO. Sharp changes in the control value could cause artifacts in the audio output; in these situations, the Control Smooth audio object can be used to prevent artifacts.
For smoothening, this audio object uses a simple one pole filter that offers exponentially raising step response. 

Use Case: This Control Smooth audio object can be used where there is a necessity to avoid drastic changes in control values that are fed as control inputs to an audio object.  Below are few examples:

  • Interpolation between CAN updates.
  • Control value smoothing to help avoid chatter in AO blocks with control thresholds or hysteresis (eg. gearshift simulator, steady state fade-out control, RNC control for vehicle speed ON/OFF control).
  • Audio Objects that do not have support for ramping for change in control values.

Control Smooth Properties

Below table describes about the Control Smooth audio object properties and functionality.

Properties Description
Number of Controls Enter the number of control IO. The number of control inputs is same as the number of control outputs and the same is configurable via GTT. 

  • Range: 1 to 16
  • Default: 1
Display Name Display name of the Control Smooth audio object in signal flow design. It can be changed based on the intended usage of the object.

Mode

The Control Smooth object does not support any modes.

Additional Parameter

Parameter Description
Block Control This variable is used to enable or disable block control.

  • 0 – Block Control Disabled (Default)
  • 1 – Block Control Enabled

Tuning Parameters

The object has the below three tuning parameters that are applicable for all the control inputs.

Parameter Description Data Type Range Default Unit
Bypass The Control Smooth object functionality can be bypassed with this option ULong

0 – Bypass OFF

1 – Bypass ON

0 None
Smooth Time Time taken by the smoothening filter to reach the target control value Float Block length duration to 10000 Block length duration ms
Hysteresis The tolerance below or above which the filter starts adapting to new target value Float 0 to 100 0 percent

Control Parameters

Default number of control IO is 1 and configurable through the AO property – NumElements.

Native Panel

The Control Smooth object does not support native panel.

Yes No
Last updated on July 2, 2024

3.8.MultiStage Envelope

The MultiStage Envelope creates a control signal that changes over time in both deterministic and non-deterministic ways. It is a control-signal generator that generates a signal that changes over time by successively interpolating from one stage to the next, where each stage consists of a time and level pair.

It enables the randomization or adjustment of time, level, and curve shape within deterministic ranges. When the final stage is reached, it is possible to loop back to a specific segment.

MultiStage Envelope Properties

Below table describes about the MultiStage Envelope audio object properties and functionality.

A screenshot of a computer Description automatically generated

Properties Description
No. of Steps

Enter the number of stages or steps (nSteps).

Multistage Envelope supports up to a maximum of 16 stages and looping back to any stage based on the configuration is allowed. So, the envelope generation can be continued in loop between stages. Time and level of each step is controlled by a fade parameter enabling the randomness and adjustments.

  • Range: 2 to 16
  • Data Type: uint32_t
  • Default number of stages or steps (nSteps) is set to 2.
Display Name Display name of the MultiStage Envelope audio object in signal flow design. It can be changed based on the intended usage of the object.

Below are the control input params:

  • Reset
  • Loop
  • Shape
  • Shape_Random
  • Fader
  • Fader_Random

First 6 of the Tuning params mentioned below are same as the control input params above. So, these 6 params can be controlled externally as well as internally.

A screenshot of a computer Description automatically generated

Mode

There are no mode available for MultiStage Envelope audio object.

Additional Parameters

There are no additional parameters available for MultiStage Envelope audio object.

Tuning Parameters

The following are the parameters you can tune in GTT.

Parameter Data Type Default Value Range Details
Reset UInt 0 0 to 2
  • RESET =1: Reset the envelope generation from initial stage.
  • RESET =2: AO stops envelope generation immediately and continue outputting last stage target value
  • RESET=0: Do nothing and continue generation.
Loop UInt 0 0 to nSteps Loop back to specified segment when last step is completed and continues envelope generation in loop when Loop is not 0.
Shape Float 0.0 -1.0 to 1.0 Specify shape or slope of envelope segments. The shape shall be varied in between the values.

  • -1.0 (inverse exponential)
  • 0.0 (linear)
  • 1.0 (quasi exponential)
Shape_Random Float 0.0 0.0 to 1.0 For a new random value to be created on start of each new segment, the value is added to SHAPE, and result is limited to [-1:1].
Full scale generated shape value will then be in the range [SHAPE_RND to SHAPE_RANDOM]
Fader Float 0.0 0.0 to 1.0 Specify fade to linearly vary between levels/times. Pair of values of level and time is configured for each step.
For each next level/time, the value is varied linearly between the pairs with FADER and FADER_RANDOM to get the target level/time.
Fader_Random Float 0.0 0.0 to 1.0 For a new random value to be created on start of each new segment, the value is added to FADER and result is limited to [0:1].
Full scale generated fader value will then be in the range[-FADER_RANDOM to SHAPE_RANDOM]
OutScalFac Float 1.0 -32767.0 to 32767.0 Scale the envelope output level. This parameter is used to scale the envelope output range. By default, the env output range will be between 0.0 to 1.0.
So, this param value is used to scale that value to a bigger range specified in the next column.
LevelMinValue Float 0.0 -32767.0 to 32767.0 Used to set lower value of envelope output range. By default, the env output range is  between 0.0 to 1.0. The output envelope is scaled in range LevelMinValue and LevelMaxValue.
LevelMaxValue Float 1.0 -32767.0 to 32767.0 Used to set highest value of envelope output range. By default, the env output range will be between 0.0 to 1.0. The output envelope is scaled in range LevelMinValue and LevelMaxValue.
TimeA1 Float 100.0 ms 1.0 to 10000.0 ms First time value from the time pair of Step 1. The time duration to reach next step from Step1 is varied between TimeA1 and TimeB1.
TimeB1 Float 100.0 ms 1.0 to 10000.0 ms Second time value from the time pair of Step 1. The time duration to reach next step from Step1 is varied between TimeA1 and TimeB1.
LevelA1 Float 0.0 0.0 to 1.0 First level value from the level pair of Step1. The source level of Step1 is varied between LevelA1 and LevelB1.
LevelB1 Float 0.0 0.0 to 1.0 Second level value from the level pair of Step1. The source level of Step1 is varied between LevelA1 and LevelB1.
Shape1 Float 0.0 -1.0 to 1.0 This value determines the shape of the envelope from step1 to the next step. This value can be overridden by the 3rd tuning param, i.e. Shape which overwrites the shape of all steps.
TimeAN Float 100.0 ms 1.0 to 10000.0 ms First time value from the time pair of Step N. The time duration to reach next step from Step N is varied between TimeAN and TimeBN.
TimeBN Float 100.0 ms 1.0 to 10000.0 ms Second time value from the time pair of Step N. The time duration to reach next step from Step N is varied between TimeAN and TimeBN.
LevelAN Float

0.0 if N is odd

1.0 if N is even

0.0 to 1.0 First level value from the level pair of Step N. The source level of Step N is varied between LevelAN and LevelBN.
LevelBN Float

0.0 if N is odd

1.0 if N is even

0.0 to 1.0 Second level value from the level pair of Step N. The source level of Step N is varied between LevelAN and LevelBN.
ShapeN Float 0.0 -1.0 to 1.0

Specify shape of the envelope between Step N and the next Step. This value can be overridden by the 3rd Tuning param,

i.e. Shape, which is common for all the steps.

State Parameters

Parameter Data Type Default Value Range Notes
Envelope Float 0.0 -32767.0 to 32767.0 To stream the control output. This parameter is streamable.

 

Control Parameters

The following are the control input parameters in GTT, there are 6 control inputs.

Parameter Description Range
RESET

RESET = 1: Reset the envelope generation from initial stage.

RESET = 2: Deactivate envelope generation. Outputs last stage level value.

RESET = 0: Do nothing

0 or 2
LOOP Loop back to specified segment when last step is completed and continues envelope generation in loop. 0 to nSteps
SHAPE Specify shape or slope of envelope segments. The shape shall be varied in between the values.

  • -1.0: inverse exponantial
  • 0.0: linear
  • 1.0: quasi exponential
-1.0 to 1.0
SHAPE_RND

For a new random value to be created on start of each new segment, the value is added to SHAPE and result limited to [-1:1]

Full scale generated random value is in the range -SHAPE_RND…SHAPE_RND,

0.0 to 1.0
FADER Specify fade to linearly vary between levels/times. Pair of values of level and time is configured for each step. For each next level/time, the value is varied linearly between the pairs with FADER and FADER_RND to get the target level/time. 0.0 to 1.0
FADER_RND For a new random value to be created on start of each new segment. the value is added to FADER and result limited to [0:1] Full scale generated random value is in the range 0…FADER_RND, 0.0 to 1.0

Illustration

The below diagram shows four 8-stage envelopes obtained from different settings of Time, Level and Shape. Each color-coding describes envelopes obtained from different runs of the algorithm.

Different stages of Multistage Envelope

For Example, settings of orange color envelope are show below.

  1. nSteps = 8
  2. So, Time and Level pairs will be: TimeA1,TimeB1,LevelA1,LevelB1,…,TimeA8,TimeB8,LevelA8,LevelB8
  3. TimeA1=30ms, TimeB1=30ms
  4. TimeA2=20ms, TimeB2=100ms
  5. Fader=1.0
  6. Fader_Random=0.0
  7. LevelA1=0.8, LevelB1=0.8
  8. LevelA2=0.1, LevelB2=0.03

To scale envelope output tuning parameter “LevelMinValue” and “LevelMaxValue” are used. There is no restriction added for “LevelMinValue” to be lower than “LevelMaxValue” in Tuning. It is required to set “LevelMinValue” to be smaller than “LevelMaxValue”. User can choose the values as per requirement of envelope output scaling.
Linear regrssion is used to scale the envelope output. Below is formula used for scaling the output.
outValue = LevelMinValue + (LevelMaxValue – LevelMinValue)*stepLevelValue

if want to scale level value from 0 to 1 to -128 to 128 LevelMinValue and LevelMaxValue value used should be
LevelMinValue = -128
LevelMaxValue = 128

Native Panel

MultiStage Envelope audio object does not support native panel.

Yes No
Last updated on December 12, 2023

3.9.AudioToControl

The AudioToControl audio object receives audio data, it calculates the envelope based on the mode of operation (either RMS or Peak) and forwards them onto control outputs.
This object accepts N number of input audio signals and calculates the envelope and sends them into corresponding control outputs.

Below are the features of AudioToControl audio object.

  • The control outputs / state values are in linear scale.
  • The AO supports all sample rates and blocklengths supported by xAF. The AO only reads the audio samples for calculating RMS or peak values. The AO supports in-place computation.

AudioToControl Properties

Below table describes about the AudioToControl audio object properties and functionality.

A screenshot of a computer Description automatically generated

Properties Description
# of Channels Enter the number of channels. The number of control outputs are equal to number of channels. This audio object operates in RMS and Peak modes.

  • Range: 1 to 254
  • By default, the number of channels is set to 1.
Display Name Display name of the AudioToControl audio object in signal flow design. It can be changed based on the intended usage of the object.
Object Mode This audio object works in two modes.

  • RMS
  • Peak

Mode

  • RMS: The RMS value of input audio channels are calculated and sent out in corresponding control out channel.
  • Peak: The Peak value of input audio channels are calculated and sent out in corresponding control out channel.

Additional Parameters

There are no additional parameters available for AudioToControl audio object.

Tuning Parameters

It has tunable parameters attack and release time.  Attack and release time are common for all channels.

Parameter  Data Format Memory Offset Unit Range Default Value
Attack time float 0 Msec 0 to 1000 100
Release time Float 4 Msec 0 to 1000 10

The AudioToControl audio object has state parameters envelope value for all channels, rate attack and rate release. The states are read-only.

Parameter  Data Format Memory Offset Unit Range Default Value
Channel 1 envelope Float 0 None – 9999 to 9999 None
Channel 2 envelope Float 4 None – 9999 to 9999 None
Channel N envelope Float (N – 1) * 4 None – 9999 to 9999 None

Control Parameters

There are no control inputs. The number of control outputs is always equal to the number of audio inputs.

Native Panel

AudioToControl audio object does not support native panel.

Yes No
Last updated on December 12, 2023

3.10.Lookup Table (LUT)

The Lookup Table (LUT) audio object performs a table lookup to create a relationship between a control input and a control output.

For example, The LUT converts vehicle speed value to gain by manipulating the speed values using a look up table. LUT module interpolates values of multiple 1-D functions (i.e. control outputs) at specific query points using ‘linear’ or ‘none’ interpolation.

The number of columns in the LUT is configurable by modifying the number of control outputs from the SFD. The first column of the table contains one independent vector which corresponds to the x axis of the interpolation. Each of the corresponding columns corresponds to the interpolation slopes for the outputs. The number of rows of LUT denote the number of steps in interpolation of each control output.

A screen shot of a graph Description automatically generated

The LUT performs linear interpolation between values.

  • If the control input is below the minimum value in the x- axis, the LUT will output the minimum value in the table.
  • If the control output is above the maximum value, the output is limited to the maximum value in the table.

The LUT supports Axis Linearity and when enabled, LUT optimizes interpolation and assumes equally spaced steps of interpolation i.e., x-axis interpolation.

  • If ‘Linear’ Interpolation (interpolation type = 1) is selected and the control input has value between two rows, then it is manipulated to create the control output vector.
  • If ‘None’ (interpolation type = 2) is selected and the control input has value between two rows, then control output is the previous known control output. This follows for the other control inputs.

LUT Axis linearity is to be used with linearly spaced axis values.

Every time the LUT receives an input on its control pin, it will output on each control pin output (one per element).

Currently, the LUT is a series of dimensional tables of resolutions from 2-200. The number of elements corresponds to the number of columns. The table resolution on columns is configurable by modifying the first additional variable ‘Table Height’. Both the dependent and independent table values are configurable in the GTT. The x-axis (control-input) needs to be in ascending order and is configurable through the tuning tool.

Lookup Table Properties

Below table describes about the Lookup Table (LUT) audio object properties and functionality.

A screenshot of a computer Description automatically generated

Properties Description
Number of elements Enter the number of channels.

  • Range: 1 to 254
  • Default is set to 1.
Display Name Display name of the LUT audio object in signal flow design. It can be changed based on the intended usage of the object.
Object Mode LUT works in two modes.

  • LUT 2d
  • LUT Index

Mode

LUT audio object is used to manipulate some control input to pass to one or multiple connected objects. The object operates in two modes.

Mode Description
LUT 2d

In the 2D mode, there is one control input, and the number of outputs varies based on the number of elements selected.

The objective of this LUT mode is to take in a control input, such as vehicle speed, and interpolate an output value, such as gain, based on values set during tuning. The output is then sent as input to other audio blocks.

Primary Success Scenario

  • The user will tune the object and initialize from GTT.
  • Capture input parameter.
  • Perform interpolation to determine output, based on the selected interpolation type.
  • Output to next object in signal flow.
LUT Index

In the Index mode, there is a second control input. This control input selects which ‘set’ of tables to use. Otherwise the modes behave the same. The number of sets is configured by the additional variable ‘LUT Depth’. The maximum depth is 8.

The objective of this mode of LUT operation is to determine output given an indexed set of tables.

  • Primary Success Scenario
  • The user will tune the object and initialize from GTT
  • Capture input parameters
  • Determine which indexed table to use
  • Perform interpolation to determine output, based on the selected interpolation type
  • Output to next object in signal flow

Additional Parameters

Following are additional parameters you can configure, for more details refer to Additional Parameters.

  • Table Height
  • UNUSED_VAR
  • LUT Axis Linearity
  • LUT Depth
  • Interpolation Type
  • Block Control
  • Group
Parameter Description
Table Height This parameter corresponds to the size of each table in linear steps which can be configured through an additional configuration variable.

  • Default height of each table in linear steps is 2.
  • Min height of each table in linear steps is 2.
  • Max height of each table in linear steps is 200.
A screenshot of a computer Description automatically generated
UNUSED_VAR This parameter is used to configure old variable through an additional configuration variable which is used to control how values were ramped outside of table ranges. A screenshot of a computer Description automatically generated
LUT Axis Linearity

 This parameter is used to set the manipulation logic for interpolation through an additional configuration variable.

Manipulation logic

  • 0: Input axis may be unevenly spaced. This allows the user to specify table resolution where needed but requires greater effort by the object resulting in slower execution time.
  • 1: Object assumes evenly spaced values on the input axis in order to speed operations.
  • Default value of LUT Axis Linearity is 0.
LUT Depth This parameter is used to determine the depth of the table which can be configured through an additional configuration variable.

  • Default depth of each table in linear steps is 1.
  • Min depth of each table in linear steps is 1.
  • Max depth of each table in linear steps is 8.
A screenshot of a computer Description automatically generated
Interpolation Type This parameter supports one additional configuration of Interpolation type which decides the type of interpolation for values on the output axis. This decides how output is computed for an input value that is between two given input axis values.

  • Linear = 1: This is the default type. It provides standard linear interpolation of output between two axis points.
  • None = 2: This is Zero-hold or “previous” type of interpolation. For a given input, control output is the value of the output that corresponds to most previous input.
A screenshot of a computer Description automatically generated
Block Control

This parameter supports additional configuration of Block Control which can be enabled or disabled by selecting between Block Control Disabled (default) and Block Control Enabled.

If it is enabled, all the control output signals are grouped into one control pin.

 

A screenshot of a computer Description automatically generated
Group

The Group feature allows organizing the LUT audio objects into different groups. When the native panel of any LUT audio object is opened, all the LUT audio objects with the same group name are displayed in that native panel.

If no LUT objects are assigned to any group, native panel displays all the LUT audio objects.

 

Tuning Parameters

The total number of tuning parameters depends on the LUT table height, table depth, and number of elements; which specifies the number of dependent output values and is equal to the number of columns in the LUT parameter table.

Hence, the number of elements = number of control outputs = number of LUT table columns.

In the LUT table, there is also an additional column for ‘LUT Index’ mode, which stores the values of x-axis interpolation points. As a result, the total number of elements in the LUT’s parameter memory is as follows.

Parameter Description Data Type Range Unit
m_Params for ‘LUT 2D’ mode Total tuning parameters = (NUM_ELEMENTS+1) * TableHeight Float -99999.0 to 99999.0  None
m_Params for ‘LUT Index’ mode Total tuning parameters = (NUM_ELEMENTS+1) * TableHeight * TableDepth Float -99999.0 to 99999.0 None

Control Parameters

There are one or two control input values for LUT based on the mode selected.

  • LUT 2D: 1 float word
  • LUT Index: 2 float words

The first corresponds to the value that needs to be converted to control output. The second determines which table index to use for interpolation.

Name Description Data Type Range Unit
m_states [0] Corresponds to the control input value that needs to be modified. Float -32768.0 to 32767.0  None
m_states [1] Determines which table index to use for interpolation. Float 1.0 to 8.0  None

Create LUT Object

  1. Load xAF DLL in GTT that supports LUT.
  2. Open the Signal Flow Designer.
  3. Drag and drop LUT audio object into the Signal flow design view.
  4. Verify the object is created with no error messages.

The properties and compare to these defaults.

The additional variables below are not actually object variables, they only belong to the GUI object are not covered by this document. See GTT documentation for further information.

AudioObject Properties Additional Variables
number of elements 1 Table Height 2
Object Mode LUT 2D UNUSED_VAR 0
LUT Axis Linearity 0
LUT Depth 1
Interpolation type 1
Block Control 0

Create LUT Object in Mode 0 (LUT 2D)

  1. The object should already be in mode 0 (LUT 2D).
  2. Verify there is one control input and one control output. Change the number of elements to three.
  3. Verify the object now has three control outputs.
    A screenshot of a computer Description automatically generated

Create LUT Object in Mode 1 (LUT Index)

  1. Change the object mode to LUT Index.
  2. Verify the object now has two control inputs.
  3. Change the number of elements to six.
  4. Verify the object now has six control outputs.
    A screenshot of a computer Description automatically generated
Yes No
Last updated on July 2, 2024

3.10.1.Lookup Table (LUT) Panel

LUT object supports native panel. The native panel window consists of the options to enter the values.

To open the native panel, double-click on the LUT object in the SFD. Set the values accordingly.

A screen shot of a graph Description automatically generated

Yes No
Last updated on March 7, 2024

4.Routing Objects

Routing objects category contains following audio objects.

Yes No
Last updated on December 11, 2023

4.1.Router

The Router audio object routes any of the input channel to any output channel without changing samples of the source. Additionally, you can route the same input channel to multiple output channels.

In the SFD, you can select the values that they prefer for “# Input channels” and “# Output channels”. These values can be distinct.

Use Case: This object can be deployed whenever each output channel is routed to any one of the input channels.

Router Properties

Below table describes about the Router audio object properties and functionality.

A screenshot of a computer Description automatically generated

Properties Description
# of Audio In Enter the number of input channels.

  • Range: 1 to 255
  • Data type: Unsigned short
  • The default value is set to 1.
# of Audio Out Enter the number of output channels.

  • Range: 1 to 255
  • Data type: Unsigned short
  • The default value is set to 1.
Display Name Display the name of the Router audio object in signal flow design. It can be changed based on the intended usage of the object.
Object Mode Router object operates in one of the following two modes.

  • Jump
  • Ramping

Mode

Router object supports two different modes of operation. After selecting the router object in GTT, one can configure the modes as described below.

By default, the router object is configured to operate in the Jump mode.

  • Jump: In this mode, the object performs the tuning or routing without any ramping and switches the input to output routing between two calc calls. This might cause clicks and pops if no fading or mute stage is performed on an instance or core level.
  • Ramping: In this mode, the object will perform a ramping while changing the input to output routing. In addition to the routing parameters this mode supports a tuning of the ramp time in the range of 0 to 5 seconds.

Presently, the object supports only linear ramping. The ramping type is not configurable.

If the router is configured with six input and six output channels, the tuning parameters will be displayed in GTT as shown below.

Ein Bild, das Text enthält. Automatisch generierte Beschreibung

Additional Parameters

There are no additional parameters available for Router audio object.

Tuning Parameters

Below table describes the tuning parameters of Router audio object.

Parameter Description Unit Data Type Default Range
Router

Each output channel has this parameter to configure the Input channel number to route to the particular output channel.

This parameter is available in both modes.

None ULong 1 1 to Number of Audio Inputs
RampTime Ramping time

This parameter is available only in Ramping mode

Seconds Float 0.5 0 to 5

Control Parameters

There are no control parameters available for Router audio object.

Yes No
Last updated on November 1, 2023

4.1.1.Router Panel

Router panel is a dynamic native panel. Panel get adapted in size based on the Router AO configuration.

A screenshot of a computer Description automatically generated with medium confidence

Yes No
Last updated on June 13, 2023

4.2.Splitter

The Splitter audio object copies the samples of one input channel to multiple output channels. 

Use Case: This object can be deployed whenever an input channel to an object is required to be replicated to multiple channels at the output.

Splitter Properties

Below table describes about the Splitter audio object properties and functionality.

   

Properties Description

# of Audio Out

# of Audio In

In Splitter, the number of input and output channels depends on the selection of object mode.

  # of Audio Out: When the object mode set as “Splitter”, you can configure number of the output channel in the “# of Audio Out” field.
The number of the input channel is always 1 and the output channel can set between below range.

  • Range: 2 to 225
  • The default value is set to 2.

# of Audio Out is the default configuration.

 – # of Audio In: When the object mode set as “MultiInput”, you can configure number of the input channel in the “# of Audio In” field as per below range.

  • Range: 1 to 127
  • The default value is set to 1.
Display Name Display the name of the Splitter audio object in signal flow design. It can be changed based on the intended usage of the object.
Object Mode  The audio object channel can be configured in one of the two operation modes.

  • Splitter
  • MultiInput

Mode

Splitter object operates in one of the two modes.

  • Splitter
  • MultiInput

Mode Description
Splitter The purpose of Splitter mode is to copy the input audio data N times to the output buffers. In this mode you can set the number of output channels and number of input channel is always fixed to one. 
The object replicates the single input channel to all output channels of the object.

This is the default mode.

The additional parameter “Number of Outputs per Input channel” is not supported in Splitter mode.

MultiInput The purpose of the MultiInput mode is to use one instance of the audio object instead of instantiating it N times if you have N channels. 
The number of output channels equals the number of audio inputs multiplied by the value entered in the additional configuration variable “Number of Outputs per Input channel”. The maximum number of audio outputs is determined by the number of inputs, as number of output channel per object cannot exceed 255. It splits multiple signals the same number of times. The number of copies of each input channel produced at the output is determined by the value set in the additional configuration variable.

Additional Parameters

Parameters Description
Number of Outputs per Input channel The object has an additional configuration variable “Number of Outputs per Input channel”  for MultiInput mode. It denotes the number of copies of each input channel.
It is configurable between 2 to (255/Number of Audio Inputs).
For example, if number of audio inputs are set to 25. Then the “Number of Outputs per Input channel” value is configurable  between 2 to 10 as the maximum number of output channels supported cannot exceed 255. 

Default : 2

Tuning Parameters

There are no tuning parameters available for the Splitter audio object.

Control Parameters

There are no control parameters available for the Splitter audio object.

Native Panel

Splitter audio object does not support a native panel.

Yes No
Last updated on June 12, 2024

4.3.Demux

The Demux audio object routes input channel samples to any one of the output channels without any change in sample values whereas the rest of the output channels have zero values.
This audio object has a single input audio buffer and several output buffers. The number of output channels is configurable in the SFD.

The Demux object always has one variable that the GTT can access, and that variable is the one that determines which output channel the input should be written.

Use Case: This object can be deployed whenever an input channel to an object is required to be routed to one specific output channel (selected via tuning).

Demux Properties

Below table describes about the Demux audio object properties and functionality.

Properties Description
# of Audio Out Enter the number of output channels. Based on a tuning variable, it selects the output where the input should be sent. Only one of the Demux audio objects output channels will have data at any one time.

  • Range: 2 to 255
  • Data type: Unsigned short
  • The default value is set to 2.

The Demux object always has 1 input channel.

Display Name Display the name of the Demux audio object in signal flow design. It can be changed based on the intended usage of the object.

Mode

There are no mode available for Demux audio object.

Additional Parameters

There are no additional parameters available for Demux audio object.

Tuning Parameters

Below table describes the tuning parameters of Demux audio object.

Parameter Description Data type Unit Default Range
Demux_Ch Output channel index to route the input to (starting from channel index 1) Unsigned Long None 1 1 to Number of output channels

Control Parameters

There are no control parameters available for Demux audio object.

Native Panel

Demux audio object does not support native panel

Yes No
Last updated on December 11, 2023

4.4.Selector

The Selector audio object allows you to switches between two sets of consecutive input channels and routes one of the sets to the output. While switching between the two sets, it applies ramping.

The Selector object has user configurable number of outputs which would imply that the number of inputs would be twice the output channels. The first n channels would be first group and n+1 to 2n channels would be next group.

For example: If the output configured is 2, then number of inputs would be 4. There would be 2 groups. 1 and 2 channels would form first group, 3 and 4 channels would be next group. The 2 output channels would be routed either from group 1 or group 2 based on selection.

Use case: This object can be deployed whenever a selected input channels are required in output channels in the audio pipeline.

Selector Properties

Below table describes about the Selector audio object properties and functionality.

Properties Description
# of Audio Out Enter the number of output channels.

  • Range: 1 to 127
  • Data type: Unsigned short
  • The default value is set to 1.

The number of inputs are always twice the number of output channels.

Display Name Display the name of the Selector audio object in signal flow design. It can be changed based on the intended usage of the object.

Mode

There are no mode available for Selector audio object.

Additional Parameters

There are no additional parameters available for Selector audio object.

Tuning Parameters

Below table describes the tuning parameters of Selector audio object.

The object exposes one variable for tuning, which is the ramp time.

Parameter Description Type Unit Default Range
Ramp time The selected input channels are available at output channels within ramp time. float ms 1 ms 0 to 10000
Selector Control The object also has tuning parameter SelectorControl for switching between two groups. Unsigned Long None 0

0 – channel 1 to m_NumAudioOut

1 – channel m_NumAudioOut +1 to m_NumAudioIn

Control Parameters

The Selector exposes one control, which is the actual switch that triggers switching between the two sets. Below table describes the control parameters of Selector audio object.

Parameter Description Type Unit Default Range
selector Val This is the actual switch that triggers switching between the input groups similar to SelectorControl of tuning parameter. unsigned integer None 0

0 – channel 1 to m_NumAudioOut

1 – channel m_NumAudioOut +1 to m_NumAudioIn

Native Panel

Selector audio object does not support native panel.

Yes No
Last updated on November 3, 2023

5.Source Objects

Source objects category contains following audio objects.

Yes No
Last updated on December 11, 2023

5.1.Noise Generator

The Noise Generator audio object generates noise audio samples scaled by a specified gain value.

Use Case: This object can be deployed to generate noise of different types with different gain values.

Noise Generator Properties

Below table describes about the Noise Generator audio object properties and functionality.

Properties Description
# of Audio Out Enter the number of output channels.

  • Range: 1 to 255
  • Data type: Unsigned Short
  • The default value is set to 1.
Display Name Display the name of the Noise Generator audio object in signal flow design. It can be changed based on the intended usage of the object.
Object Mode Noise generator operates in one of the following two modes.

  • WhiteNoise
  • PinkNoise
  • Pro-Prbs
  • Pro-Lcg

Mode

The Noise generator object supports four different modes of operation.

Mode Description
White Noise (Mode 0) The White noise is generated based on the initial seed value. The initial seed value is multiplied by a scale factor to get white noise. This is the default mode.
Pink Noise (Mode 1) To generate pink noise, white noise is generated first and pink filter is applied over that.
Pro-Prbs (Mode 2) The Pro-Prbs (Pseudo Random Bit Sequence) mode generates white and pink noise that can be chosen through tuning parameter.

  • White Noise Generation: In this mode pseudo random binary sequence generator is used to generate the white noise signal. It is a deterministic algorithm.
  • Pink Noise Generation: In this mode Paul kellet’s algorithm is used to generate Pink noise signal.
Pro-Lcg (Mode 3) The Pro-Lcg (Linear Congruential Generator) mode generates white and pink noise that can be chosen through tuning parameter.

  • White Noise Generation: In this mode “Minimal” random number generator of Park and Miller with Bays-Durham shuffle method is used to generate white noise.
  • Pink Noise Generation: In this mode the White Noise that is generated through the linear congruential method is passed through Pink filter 0 and Pink filter 1 to generate the pink noise. The pink noise is passed through the HPF and LPF filters to limit the frequency spectrum to 20 to 20 kHz.

In all the modes, the gain (Noise Level) is in dB scale ranging from -128 dB to 0 dB. The same gain value applies to all channels of the Noise Generator object. It also exposes that same variable for control purposes.

Additional Parameters

There are no additional parameters available for Noise Generator audio object .

Tuning Parameters

Below table describes the tuning parameters of Noise Generator audio object.

For White Noise and Pink Noise mode

Parameter Description Unit Data Type Default Range
Noise Level Generates noise in output channel with gain as tuneable. db Float -60 -128 to 0

For Pro-Prbs and Pro-Lcg modes

Parameter Description Unit Data Type Default Range
Noise Level Generates noise in output channel with gain as tuneable. db Float -100 -128 to 0
Noise Type Generates white or pink noise in output channel with noise type as a tuneable parameter.
This is applicable only for Mode 2 (Pro-Prbs) and Mode 3 (Pro-Lcg).The noise type parameter allows the user to choose white noise or pink noise dynamically.
None Float 1

0 (White)

or

1 (Pink)

Control Parameters

The Noise Generator object has one control input – Gain (Noise Level) ranging from -128 dB to 0 dB and this value is applicable to all the channels. This control input is available in all the four modes.

This  audio object does not have any control output.

Yes No
Last updated on November 27, 2023

5.1.1.Noise Generator Panel

The Noise Generator Panel is used to change noise type and noise level. In SFD you can configure several output channels. The same noise type and level will be applied to each channel.

Noise Generator panel works only with PRO object modes “Pro-Prbs” and “Pro-Lcg”. Panel will not work in “WhiteNoise” and “PinkNoise” object modes.

Changing Noise Level

You can change the noise level by three ways:

  • Using slider button: Select the slider to adjust the value.
  • Using mouse scroll: Use mouse scroll to adjust the value.
  • Enter an exact value in the text box.

Changes will take place after hitting the “Enter” key or by moving the focus away from the text box.

Changing Noise Type

You can change the noise type by clicking on the combo-box and selecting the type.

Possible noise generator types are:

  • White Noise
  • Pink Noise
Yes No
Last updated on December 11, 2023

5.2.Wave Generator

The Wave Generator audio object generates the sine tone for a given frequency and gain depending on control pins. This audio object has either no input or one input channel. It has one output channel and two control pins.

Use case: The purpose of Wave Generator audio object is to generate sine waves for a specified frequency and gain in Signal Flow Designer, mostly to test the speakers.

Wave Generator Properties

Below table describes about the Wave Generator audio object properties and functionality.

A screenshot of a computer Description automatically generated

Properties Description
Display Name Display the name of the Wave Generator audio object in signal flow design. It can be changed based on the intended usage of the object.
Object Mode Wave generator objects operate in one of the following two modes.

  • Sine – Without Input
  • Sine – With Input
  • Sweep

Mode

The Wave Generator object supports three different modes of operation.

Mode Description
Sine – Without Input

This mode generates sine wave signal for specified frequency and gain.

This is the default mode.

Sine – With Input This mode generates sine wave signal for specified frequency and gain and mixes the generated signal with input signal. This mode is used for cascading sines.
Sweep This mode generates frequency sweep signal for specified start and end frequency, gain, sweep time, sweep type, and loop type.

Additional Parameters

There are no additional parameters available for Wave Generator audio object.

Tuning Parameters

Below table describes the tuning parameters of Wave Generator audio object.

Mode Parameter Description Unit Data Type Range Default
Sine – Without input Bypass The generator is turned ON(0)/OFF(1) None ULong 0 or 1 0
Gain Gain of generated signal dB Float -128 to 0 -128
Frequency Frequency of generated signal Hz Float 0 to 20000 0
Sine – With input Bypass The generator is turned ON(0)/OFF(1) None ULong 0 or 1 0
Gain Gain of generated signal dB Float -128 to 0 -128
Frequency Frequency of generated signal Hz Float 0 to 20000 0.0
Sweep StartFreq Start frequency of sweep signal to be generated Hz Float 20 to 20000 20
EndFreq End frequency of sweep signal to be generated Hz Float 20 to 20000 20000
SweepTime Duration of sweep s Float 0.1 to 20 2
Gain Gain of generated signal dB Float -120 to 20 -20
SweepMethod Type of frequency sweep.

  • LOG (0) method varies the frequency sweep logarithmically.
  • LINEAR (1) method varies the frequency linearly.
None Signed Integer

0 – Logarithmic

1 – Linear

0
LoopType Type of looping/repetition of the signal after “SweepTime”. The loop type can be

  • NONE (0) where the signal is generated once from “StartFreq” to “EndFreq” and stopped.
  • STARTTOEND (1) where the signal is generated and repeated starting from “StartFreq” to “EndFreq”
  • WARBLE (2) where the signal is generated and repeated from “StartFreq” to “EndFreq” and “EndFreq” to “StartFreq” in succession
None Signed Integer

0 – None

1 – START_TO_ END

2 – WARBLE

0

Control Parameters

Below table describes the control parameters of Wave Generator audio object.

Mode Parameter Description Unit Range
Sine – Without input Frequency Frequency of generated signal Hz 0 to 20,000
Gain Gain of generated signal dB -128 to 0
Active

When transition from high to low (Inactive): Completes the signal generation until zero cross over and mute the output and mute input signal for object mode Sine – with input.

When transition from low to high (Active): Reset phase of the signal and signal generation is active and unmute input signal for object mode Sine – with input.

None 0 to 1
Sine – With input Frequency Frequency of generated signal Hz 0 to 20,000
Gain Gain of generated signal dB -128 to 0
Active

When transition from high to low (Inactive): Completes the signal generation until zero cross over and mute the output and mute input signal for object mode Sine – with input.

When transition from low to high (Active): Reset phase of the signal and signal generation is active and unmute input signal for object mode Sine – with input.

0 to 1

There are no control inputs in ‘Sweep’ mode.

There are no control outputs for this audio object.

Native Panel

Wave Generator object t does not support native panel.

Yes No
Last updated on December 11, 2023

5.3.DC Generator

This Audio Object generates DC signal with the amplitude specified in the tuning parameter or the control input. The output amplitude is a floating point value that ranges from -1.0 to +1.0.

The object is not configurable during design time and always generates only one output. The object has one tuning parameter (outputAmp) and one control input (Sets output amplitude) and both of them are used to vary the DC output amplitude.

The object does not have any audio input or control outputs.

Yes No
Last updated on November 24, 2023

5.4.FilePlayer

The FilePlayer audio object is used to read the audio content from a file and present them in real time on the output channels. Additionally, this audio object can also be used to add or mix the file content with the audio fed into the input channel buffers of this object.

A background thread is used to read the file contents in bulk and place them in the intermediate cache buffer, while in the main thread for each audio interrupt, the required audio data (of framework block length size) is copied from the intermediate cache buffer to the output channel buffers. The background thread periodically checks for the number of samples available in the cache buffer and replenishes the needed files.

Use Case:  The FilePlayer has following use case.

  • Stream wav files from local filesystem in realtime
  • Resample to target sample rate if needed
  • Option to support play speed from 0.1 to 10
  • Shall support option to disable / enable pitch shifting (linear and polyphase)
  • Shall support mixing the file content with the output of another AO
  • Support configurable number of output channels (up to 16)
  • Support WAV / PCM Files configurable during design time. Furthermore, WAV / PCM files with all of these data types are supported.
    • 8 bit mu-law
    • 8 bit A-law
    • 16 bit integer
    • 24 bit integer
    • 32 bit float

Internally, all samples are converted to 32 bit floating point numbers. For both the 8 bit command formats, the conversion is done via a lookup table with 256 entries. This look-up table is filled based on the encoding format.

File Player Properties

Properties Descriptions
# of channels The number of channels are configurable.

  • Range: 1 to 16
  • Data type: Unsigned Short
  • The default value is set to 1.
Display Name Display the name of the FilePlayer audio object in signal flow design. It can be changed based on the intended usage of the object.
Object mode The object has two modes.

  • WAV (Default)
  • PCM
Additional Parameters
  • Pitch shifting options
  • Add file data with inputs
  • Cache Buffer size
  • File Type
  • Data format (only for PCM mode)
  • Content Sampe Rate (only for PCM mode)

Mode

FilePlayer audio object supports two different modes of operation. The audio object can read from both WAV and PCM files. 

  • WAV (Default): The WAV file contains a header that has the necessary details about the stored audio content in the file
  • PCM: the PCM file contains only the audio data and the details such as sampling rate and data format of the stored audio data must be provided separately.

Additional Parameters

The FilePlayer audio object can be configured with the following additional parameters:

Parameter Descriptions
Pitch shifting This feature is provided to increase or decrease the playing speed (sample rate at which the content is played).

  • 0 – Disabled (Default)
  • 1 – Polyphase Resampling Enabled
  • 2 – Linear Interpolation Enabled (from W Release)
Add file data with inputs

If this feature is enabled, an equal number of input channels will be supported.

Add the content of the audio file with the output of previous AO to generate the output.

By default, the AO will have only output channels and no input channels.

  • 0 – Disabled (Default)
  • 1 – Enabled
CacheBuffer size Allocate internal memory for reading data in the background thread.

  • Range: 1024 to 16384 float words per channel with power of 2.
  • Default: 16384 float words per channel.

If the background thread is having significantly lower priority, the buffer underrun is likely to occur for lower cache sizes. In such cases, the cache buffer size shall be increased.

File Type The object supports the below files:

  • 0 – Single Multichannel file (Default)
  • 1 – Multiple Mono files
Data format (only for PCM mode)
  • 0 – Invalid
  • 1 – 8 bit A-Law companded
  • 2 – 8 bit Mu-Law companded
  • 3 – 16 bit integer
  • 4 – 24 bit integer
  • 5 – 32 bit Float (Default)
Content Sample Rate (only for PCM mode)

All sample rates supported by framework shall be supported

Default sample rate is 48000 Hz.

Tuning Parameters

Below table describes the tuning parameters of FilePlayer audio object.

Parameters Description Unit Range Default
Ramping Params Sub block: This subblock has ramping related tuning parameters applicable to all the channels. All the parameters in this sub-block as stored as unsigned integers.
Fade-in time Applied for control change from Stop / Pause to Play ms 0 to 1000 100
Fade-in type Linear type only is implemented

  • 0 – Linear
  • 1 – Exponential (not implemented)
None

0 or 1 (Enum)

 

0
Fade-out time Applied for control change from Play to Stop / Pause ms 0 to 1000 100
Fade-out type Linear type only is implemented

  • 0 – Linear
  • 1 – Exponential (not implemented)
None

0 or 1 (Enum)

 

0
Fade-out delay Delay period before starting fade-out process ms 0 or 100 0
Quick Fade-out time Applied when play command is received during fade-out or fade-out delay phase to quickly end the fade-out phase and start playback. Also quick fade-out is applied only when this value is less than fade-out time. By default, this feature is disabled as the default value is not less than the fade-out time. Only linear ramping is applied.

This parameter is available from W Release

ms 0 to 1000 1000
Pitch ramp time This parameter is available only when pitch shifting is enabled and is applied for any change in play speed value ms 0 to 100 0
Pitch ramp type

This parameter is available only when pitch shifting is enabled. Linear type only is implemented.

0 – Linear

1 – Exponential (not implemented)

None

0 or 1 (Enum)

 

0
File_Config sub block: There is a separate file configuration sub block for each file. In SingleMultiChannel mode, only one sub block is present whose parameters are applicable for all the channels. In MultipleMonoFiles mode, each file has its own sub block where the parameters in each sub block is applicable for the respective mono channel.

This sub block is available from W Release

File ID The files shall be placed in the device folder using FileController.  None

1 to 255 

Data Type: Unsigned Integer

 1
Play Setup
  • 1 – One Shot mode
  • 2 – Loop mode
  • 3 – Intermittent mode (From W Release)
 None

1 to 3 (Enum)

Data Type: Unsigned Integer

 1
Start Position Start position in percentage from where file will be played. In LOOP mode, this is applicable only at the start of the play and not on every loop back  None

0 to 99.99 

Data Type: Float

 0
 Function

1 – STOP

2 – PLAY

3 – RESET (STOP and PLAY)

4 – PAUSE

 None

1 to 4 (Enum)

Data Type: Unsigned Integer

 1
Interval# This is applicable only in Intermittent mode. This is the interval period at which the file will be played from the beginning periodically. s

0.01 to 1000

Data Type:  Float

10
Play Speed* This is available only when pitch shifting is enabled. This is the play speed at which the file is played None

0.1 to 10

Data Type: Float

1

# The interval period normally shall be greater than the waveform playback duration. If the interval is less than or equal to the waveform playback duration, glitch / pop noise with a short mute period is seen.

* Playback Duration = File Duration / Play Speed

State Parameters

Parameters Description Unit Range Default
Function State Sub block: This subblock has the function state parameter for each file. This parameter is used to configure and readback the present function state of the given channel(s). In SingleMultiChannel mode, only one state parameter is present that is applicable for all the channels. In MultipleMonoFiles mode, each file has its own state parameter applicable for the respective mono channel.
Function_Ch

1 – STOP

2 – PLAY

3 – RESET (STOP and PLAY)

4 – PAUSE

None

1 to 4 (Enum)

Data Type: Unsigned Integer

1
File State Sub block: This subblock has the file state parameter for each file. This parameter is used only to readback the present file state of the given file(s) and any parameter change is ignored. In SingleMultiChannel mode, only one state parameter is present for the given file. In MultipleMonoFiles mode, each file has its own state parameter.

This sub block is available from W Release

File_State

This reflects the present file status.

0 – FILEPLAYER_IDLE

1 – FILE_READY

2 – FILE_PLAY_ACTIVE

3 – FILE_STOPPED

4 – FILE_OPEN_ERROR

5 – FILE_PAUSED

None

0 to 5 (Enum)

Data Type: Unsigned Integer

 

0

Control Parameters

The FilePlayer audio object can be configured with multiple channels. The channel count of the object and the number of channels in the wav file may differ. Error message is returned if extra channels are present in the audio file. If extra channels are configured in the object, those extra channels are filled with silence.

Control Inputs

The FilePlayer has the following Control Inputs.

Control       Input Description Size in Float Words Range
Block Control: There are FOUR control pins under this block control pin. For SingleMultiChannel mode, only one set of block control input needs to be sent. For Multiple Mono mode, for each channel a set of block controls needs to be sent separately.
Channel ID Channel ID to associate with each output channel. 1 of 4 1 to 16
File ID

Till V Release: The file name needs to be a numeral in this range with .wav or .pcm extension. The files shall be placed in the dll folder.

From W Release: The files shall be sent through the FileController.

2 of 4 1 to 255
File Setup
  • 1 – One Shot mode
  • 2 – Loop mode
  • 3 – Intermittent mode
3 of 4 1 to 3
Start Position Start position in percentage from where file will be played. 4 of 4 0 to 99.99
Function Control Pins: This control pin is used to change the function of the AO. For AOs configured in Single Multichannel mode, only one (N = 1) control input pin will be available applicable to all the channels. For AOs configured in Multiple Mono mode with N channels, there will be equal number (N) of control inputs for each file (channel).
Function
  1. STOP (default on boot-up)
  2. PLAY
  3. RESET (STOP followed by PLAY)
  4. PAUSE
N 1 to 4
Interval Control Pins: This control pin is applicable only in INTERMITTENT play mode and is used to change the interval period of the playback. For AOs configured in Single Multichannel mode, only one (N = 1) control input pin will be available applicable to all the channels. For AOs configured in Multiple Mono mode with N channels, there will be equal number (N) of control inputs for each file (channel).

These Interval control pins are available from W Release

Interval This is the interval period at which the file will be played from the beginning periodically. N 0.01 to 1000 s
Pitch Control Pins: This control pin(s) is/are available only when pitch shifting is enabled and is used to change the play speed of waveform playback. For AOs configured in Single Multichannel mode, only one (N = 1) control input pin will be available that is applicable to all the channels. For AOs configured in Multiple Mono mode with N channels, there will be equal number (N) of control inputs for each file (channel).
Play Speed This is the play speed at which the file is played

Till V Release: The control input is in terms of deviation in semi-tones.

From W Release: The control input is in terms of play speed.

N

 

Till V Release:  -40 to 40

From W Release: 0.1 to 10

Control Outputs

The FilePlayer has the following Control Output.

Control      Output Description Size in Float Words Range

There are two control output pins – either two single control pins or two block control pins.

When the AO is configured in Single Multichannel mode, two single control (N = 1) pins are available for the control outputs listed below. 

When the AO is configured in Multiple Mono mode with N channels, two block control (N) pins are available for the control outputs listed below.

Play Position During active playback, for every audio interrupt, the AO outputs the play position in terms of percentage covered in the file. N 0 to 99.99

File State

 

These Control output pins are available from W Release

Whenever there is a change in the file status, the AO outputs the file state:

0 – FILEPLAYER_IDLE

1 – FILE_READY

2 – FILE_PLAY_ACTIVE

3 – FILE_STOPPED

4 – FILE_OPEN_ERROR

5 – FILE_PAUSED

 N 0 to 5 

 

In Single Multichannel file mode, mono file also can be played.

Multiple Mono file mode, all the files need to be mono files. In WAV mode, if the file is seen having more than 1 channel, that file will be ignored. In PCM mode, the file will be taken as a mono file and played leading to improper output.

In Multiple Mono file mode, all the mono files need to be in the same data format and sampling rate. If files with different data format are used, the data format of the last configured file will be considered and the same will be applied to all other mono files leading to improper output.

In cases with low intermediate cache buffer size, the background thread need to run frequently to replenish the data available in the cache buffer. If distortion is observed with low cache size, buffer underrun could be the cause and background thread shall be moved to higher priority or the cache buffer size shall be increased.

It is recommended to configure the sound card block length to 1024 under Sound Card Configuration while using IVP.

The memory required for the supporting the intermediate cache buffer size will be slightly more than double the size specified in the additional parameters as it is required to support ping-pong concept and extra data for supporting filtering. The memory latency table shall be referred for exact memory requirements.

In Single Multichannel file, let the number of files present in the file content be M and the number of channels configured for the object be N.
In WAV mode:
– If M = N, all the N channels will be played with the file content.
– If M < N, first M channels buffers will be populated with the file content and the remaining N-M channels will be muted.
– If M > N, none of the channels will be played and all channels will be muted.
In PCM mode:
– If M = N, all the N channels will be played properly with the file content.
– If M != N, the file will be taken as a N channel file and played leading to improper output.

Native Panel

FilePlayer audio object does not support native panel.

Yes No
Last updated on June 20, 2024

6.Mixer Objects

Mixer objects category contains following audio objects.

Yes No
Last updated on November 27, 2023

6.1.Adder

The Adder audio object sums the samples of 2 audio channel input buffers and writes their sum to the output buffer. Thus, the number of input channels is always twice the number of output channels:

This module sums the pairwise contents of m_NumAudioIn audio buffer channels and writes the result to the output buffer. For this audio module, m_NumAudioIn is always double m_NumAudioOut.

Use Case: This object can be deployed whenever the sum of two audio channels or pairs of audio channels is required in the audio pipeline.

Adder Properties

Below table describes about the Adder audio object properties and functionality.

A screenshot of a computer Description automatically generated

Properties Description
# of Audio Out Adder audio object has a number of input channels that is double the number of output audio channels.

  • Range: 1 to 127
  • By default, the number of input and output channels are 2 and 1 respectively.

The number of output channels is configurable in SFD, and the number of input channels is derived accordingly.

Display Name Display the name of the Adder audio object in signal flow design. It can be changed based on the intended usage of the object.

Mode

There are no mode available for Adder audio object.

Additional Parameters

There are no additional parameters available for Adder audio object.

Tuning Parameters

There are no tuning parameters available for Adder audio object.

Control Parameters

There are no control parameters available for Adder audio object.

Native Panel

Adder audio object does not support native panel.

Yes No
Last updated on November 27, 2023

6.2.Matrix Mixer

The Matrix Mixer audio object is used to calculate weighted output audio based on a combination of input audio. In addition to this, the object also supports delay of input channels.

Use Case: The Matrix Mixer takes in a configurable number of input and output channels. Each output of this object is a weighted sum of all the input channels. Any input can get summed into any output with or without a delay.

Matrix Mixer Properties

Below table describes about the Matrix Mixer audio object properties and functionality.

Properties Description
# of Audio In Number of input channels.

  • Range: 1 to 254
  • Default: 2
# of Audio Out Number of output channels.

  • Range: 1 to 254
  • Default: 2
Display Name Display the name of the Matrix Mixer audio object in signal flow design. It can be changed based on the intended usage of the object.
Object Mode Matrix Mixer object operates in one of the following two modes.

  • Linear
  • dB

This object supports DelayMatrixMixer function.

Mode

The Matrix Mixer object supports two different modes of operation.

Mode Description
Linear (Default) In this mode, the gain values (channel weights) are configurable on a linear scale in the range -10 to +10.
dB

In this mode, the gain values are configurable in decibels in the range between -128 dB to 20 dB and these decibel values are converted to linear values by xAF by the formula given below before multiplying with input channel samples.

Gain = 10gain_db/20 

Additional Parameters

The Matrix Mixer audio object can be configured with the following additional parameter:

Parameter Descriptions

No Ramp = 0,

Ramp with mute cycle = 1,

Ramp without mute cycle = 2

The mixer also has three ramping types that can be configured through an additional number of parameters:

  • No Ramp: This exposes variables for each input and output in the GTT for tuning purposes.
    No Ramp is the default configuration.
  • Ramp With Mute Cycle: In this mode, first audio outputs are ramped down and then a new coefficient is applied to ramp up with the new coefficients (i.e. a complete mute cycle). The time taken to ramp from the old to the new coefficients is tunable from GTT. The ramp time can be set in milliseconds. Presently, the object supports only linear ramping in this mode.
  • Ramp without mute cycle: This mode supports ramping. Ramp up or down is decided based on the difference between current gain and old gain. Based on ramp shape and ramp time delta is calculated and ramping is applied towards new coefficient (i.e. ramping without mute cycle). The time taken to ramp from old to new coefficients and ramping shape are tunable from GTT.
    The ramp time can be set in milliseconds, for every millisecond there would be a dB change. It supports three types of ramping shapes.

    • Linear
    • Exponential
    • Jump (No ramping)

In the SFD, you can set the number of input and output channels. These channels do not need to be identical. The mode and ramping type are also configurable in the SFD.

In the GTT, the Matrix Mixer exposes variables for tuning, for each input and output channel. You can modify these to change the weights used to scale the input channels. In the ramp modes, additional ramp time and control variables are exposed as explained above

Single Subblock Tuning

The object has an additional configuration variable “Single Subblock Tuning” to enable or disable it. On enabling it, allows contiguous memory allocation and the gain values can be tuned as single subblock.

By Default, Single Subblock Tuning is disabled.

Max Delay

The object has an additional configuration variable “Max Delay”.

  • If the “Max Delay” set to 0, then it functions as the legacy Matrix Mixer audio object.
  • If the value of “Max Delay” is greater than 0, then it functions as a DelayMatrixMixer.

Range: The value ranges from 0 to 500000 samples.

By default, it is set to 0 samples.

Ramp with mute cycle and Ramp without mute cycle types are not supported when Max delay is greater than 0.

There is no native panel for DelayMatrixMixer

Tuning Parameters

The GTT can read or write into parameter memory using tuning command respectively. The memory stores a value per output channel that has a gain value to be multiplied by per input channel based on the mode. These parameters are tunable. Assuming the object is composed of NIn input channel and Nout output channels, the description will look as follows (depending on gain type).

For No Ramp mode

Parameter memory for “No Ramp” mode with Linear Gain

Linear Gain

Sub-block ID

(Single Subblock tuning : Disabled)

Sub-block ID

(Single Subblock tuning : Enabled)

Name Type Unit Min Max Default Value Description
0 0 float -10 10 0 NIn gain inputs for Ch0 output
1 0 NIn gain inputs for Ch1 output
0
Nout-1 0 NIn gain inputs for ChNout-1 output

 Parameter memory for “No Ramp” mode with Logarithmic Gain

Logarithmic Gain

Sub-block ID

(Single Subblock tuning : Disabled)

Sub-block ID

(Single Subblock tuning : Enabled)

Name Type Unit Min Max Default Value Description
0 0 float dB -128 dB 20 dB -128 dB NIn gain inputs for Ch0 output
1 0 NIn gain inputs for Ch1 output
0
Nout-1 0 NIn gain inputs for ChNout-1 output

For Ramp with mute cycle mode

It has an additional ramp time configurable parameter.

Parameter memory for “Ramp with mute cycle” mode ramping with Linear Gain

Linear Gain

Sub-block ID

(Single Subblock tuning : Disabled)

Sub-block ID

(Single Subblock tuning : Enabled)

Name Type Unit Min Max Default Value Description
0 0 float -10 10 0 NIn gain inputs for Ch0 output
1 0 NIn gain inputs for Ch1 output
0
Nout-1 0 NIn gain inputs for ChNout-1 output
Nout 1 Ramp Time float ms 0 5000 500 The time it takes for the ramp to complete. This value is split in half between muting and unmuting stages of the output signal.

Parameter memory for “Ramp with mute cycle” mode ramping with Logarithmic Gain

Logarithmic Gain

Sub-block ID

(Single Subblock tuning : Disabled)

Sub-block ID

(Single Subblock tuning : Enabled)

Name Type Unit Min

Max.

 

Default Value Description
0 0 float dB -128 dB 20 dB -128 dB NIn gain inputs for Ch0 output
1 0 NIn gain inputs for Ch1 output
0
Nout-1 0 NIn gain inputs for ChNout-1 output
Nout 1 Ramp Time float ms 0 5000 500 The time it takes for the ramp to complete. This value is split in half between muting and unmuting stages of the output signal.

For “Rampwithout mute cycle” mode

It has an additional ramp characteristics parameters which are ramp down time, ramp up time, ramp down shape and ramp up shape.

Parameter memory for “Ramp without mute cycle” mode ramping with Linear Gain

Linear gain

Sub-block ID

(Single Subblock tuning : Disabled)

Sub-block ID

(Single Subblock tuning : Enabled)

Name Type Unit Min Max Default Value Description
0 0 float -10 10 0 NIn gain inputs for Ch0 output
1 0 NIn gain inputs for Ch1 output
0
Nout-1 0 NIn gain inputs for ChNout-1 output
Nout 1 Ramp down Time float ms 0 5000 500 The time it takes for the ramp to complete.
Nout 1 Ramp up time float ms 0 5000 500 The time it takes for the ramp to complete.
Nout 1 Ramp down shape Int 0 2 1 Ramping shape, it can be jump (0), linear (1) and exponential (2).
Nout 1 Ramp up shape int 0 2 1 Ramping shape, it can be jump (0), linear (1) and exponential (2).

Parameter memory for “Ramp without mute cycle” mode ramping with Logarithmic Gain

Logarithmic Gain

Sub-block ID

(Single Subblock tuning : Disabled)

Sub-block ID

(Single Subblock tuning : Enabled)

Name Type Unit Min Max Default Value Description
0 0 float dB -128 dB 20 dB -128 dB NIn gain inputs for Ch0 output
1 0 NIn gain inputs for Ch1 output
0
Nout-1 0 NIn gain inputs for ChNout-1 output
Nout 1 Ramp down time float ms 0 5000 500 The time it takes for the ramp to complete
Nout 1 Ramp up time float ms 0 5000 500 The time it takes for the ramp to complete
Nout 1 Ramp down shape int 0 2 1 Ramping shape, it can be jump (0), linear (1) and exponential (2).
Nout 1 Ramp up shape int 0 2 1 Ramping shape, it can be jump (0), linear (1) and exponential (2).

DelayMatrixMixer

The object functions as DelayMatrixMixer with Delay Pool when the additional configuration variable “Max Delay “ is set to more than 0 samples. A “Delay” tuning parameter is added in addition to the gain parameter for each input channel. The delay buffer (of length Max Delay) is shared by all the channels. Therefore, the available delay for each channel depends on the delay values configured for the other channels. The input channels are multiplied with the channel weights and are applied with delay configured and summed at the output channel. 

Parameter Description Range Default
Delay Delay to be applied across each channel. 0 to Max Delay(samples) 0
Gain Gain to be applied across each channel

Linear : -10 to +10

dB : -128 dB to 20 dB

Linear : 0

dB : -128 dB

Control Parameters

There are no control parameters available for Matrix Mixer audio object.

Yes No
Last updated on June 4, 2024

6.2.1.Matrix Mixer Panel

The Matrix Mixer native panel allows you to mix ‘n’ number of channels to ‘m’ output channels.

There is no native panel is for DelayMatrixMixer.

The panel can be launched in two modes:

  • Linear: For linear mode it is possible to set gain with two decimal points precision.
  • dB: For dB mode precision is set to 1 decimal point.

In the example below, there are two input channels and two output channels.

Example 1: “IN1” is sent to channel one and “IN2” is sent to channel two.

Example 2: “IN1” is sent to channel one and “IN2” is muted.

Example 3: “IN1” is muted and “IN2” is sent to channel two.

A screenshot of a computer Description automatically generated

Set Linear Gain

When you click on a cell, you can change the gain value using the keyboard.
To set the value to zero or one, press CTRL and use the mouse scroll to adjust the value, or simply enter the values.

A screenshot of a computer Description automatically generated with medium confidence

Cell Selection Methods

Single cell selection method: You can select a single cell with the mouse by using the left click or the tab key on the keyboard. The selected cell will be highlighted as you can see in the example below. The text inside the selected cell is editable.

Multiple cell selection methods: There are two ways to select multiple cell.

  1. Method 1: By clicking and dragging with the mouse. This method is useful when you are selecting small range of cells.
  2. Method 2: By using keys on the keyboard. This method is useful when rendered outside of the view area when the grid scrolls either vertically or horizontally.

Method 1: To select multiple cells using mouse, follow the below steps.

  1. Place the cursor on cell.
  2. Select the cell by using the left mouse button and keep the mouse button pressed.
  3. Drag the cursor in the respective cell. Automatically the cells will selected in matrix form.
  4. Leave the mouse button.

The selected cell will be highlighted as you can see in the example below.

Method 2: To select multiple cells that is rendered outside of the view area when the grid scrolls either vertically or horizontally, you can use below method for selecting multiple cells.

If you want select a cell that is rendered outside of the view area when the grid scrolls either vertically or horizontally, you can use below method for selecting multiple cells.

  1. Click on a first cell of the range.
  2. Use scroll to navigate to last cell of the range.
  3. Hold Shift key and click on the last cell of the range. This will automatically select every cell in the matrix form.

The selected cell will be highlighted as you can see in the example below.

Selecting arbitrary cells is not allowed. Selection is always in the form of matrix.

A single tab displays the 12×12 matrix (INs and OUTs) in the matrix mixer. In the event that there are more AudioIn or AudioOut, it will be split up into multiple Tabs. The chosen region is reset and is not tracked when the tab is changed, as shown below.

Copy and Paste Functionality

You can copy and paste matrix mixer table data into Excel or vice versa. There are several methods for copying and pasting data.

Method 1: To copy panel cell data to Excel.

  1. Place the cursor on cell, select the cell by using the left mouse button and keep the mouse button pressed.
  2. Drag the cursor in the respective cell. Automatically the cells will selected in matrix form.
  3. Press Ctrl + C on your keyboard. The content gets copied to clipboard.
  4. Switch to Excel spreadsheet.
  5. Press Ctrl + V on your keyboard in the desired location within your Excel spreadsheet.

For seamless data exchange, the copied content uses a standard tab-delimited matrix format (‘\t’). This preserves the exact layout and allows easy import into various applications. This format is a standard across various applications.

Method 2: To copy data from Excel to matrix mixer table.

To paste content from Excel to Matrix Mixer first copy excel content to clipboard via keyboard Ctrl + C and on matrix mixer table select single cell from where content begin paste and use Ctrl + V to paste as shown below.

  1. In your Excel spreadsheet, use cursor on cell to select the respective cell from the Excel.
  2. Press Ctrl + C on your keyboard. This copies the data from the selected cells.
  3. Switch to Matrix Mixer table.
  4. Choose the cell and press Ctrl + V.

When you paste data, the affected cells will be highlighted. However, only the cell in the bottom right corner of the pasted region becomes active. This means you can only directly edit this cell with mouse or keyboard input.

Efficient pasting for repetitive data: For situations where you need to paste the same content in multiple locations, Matrix Mixer table offers a convenient repeat paste function.

  1. In your Excel spreadsheet, use cursor on cell to select the respective cell from the Excel.
  2. Press Ctrl + C on your keyboard. This copies the data from the selected cells.
  3. Switch to Matrix Mixer table.
  4. Choose the cell region larger than selection and press Ctrl + V once.

In this example, a 2×2 matrix is effectively replicated into a 4×4 area.

The copied matrix dimensions must be an exact multiple of the selected region for repeat pasting functionality. If this condition is not met, the content will be pasted only once starting from the active cell.

Efficient data copy within Matrix Mixer: Utilize keyboard shortcuts for quick and easy data movement. Select the cells you want to copy, press Ctrl + C to copy them. Next, choose the cell where you want to paste the copied data and press Ctrl + V. As shown below, this allows you to seamlessly copy information within the Matrix Mixer table.

Cross-panel data transfer: The copy and paste functionality in Matrix Mixer (Ctrl + C and Ctrl + V) offers flexibility beyond the panel. It enables you to efficiently move data between Matrix Mixer tabs and other applications that utilize a grid-based control, like the LUT Panel. This is achievable because copied content is stored on the clipboard, allowing access across the application and your operating system.

Copy and Paste Validation

Data exceeds paste area: When you try to paste content that’s larger than the selected region, you’ll see an “Out of Region” message. This means there’s not enough space to paste everything. You’ll have two options:

  • Cancel: Choose this to avoid pasting any data and prevent accidental loss.
  • OK: Click this to paste as much of the content as possible within the selected area. Some data might be cut off.

Tip: To ensure a complete paste, make sure the copied data is the same size or smaller than the area you’ve selected in Matrix Mixer.

Pasting incompatible data: If you try to paste content that contains non-numeric values (like text or symbols) into Matrix Mixer table, you’ll see an “Invalid Data” message. This means the data format isn’t compatible. You’ll have two options:

  • Cancel: Choose this to avoid pasting any data and prevent errors.
  • OK: Click this to paste only the valid numeric values from the copied content. Any invalid data will be ignored.

Tip: Make sure the copied data only contains numbers before pasting into Matrix Mixer.

Data values outside limits: When you try to paste content that contains values exceeding the allowed range for the selected cell(s), you’ll see an “Out of Range” message. Matrix Mixer has specific value limitations (e.g. 0-10). This means some of the data might be invalid. You’ll have two options:

  • Cancel: Choose this to avoid pasting any data and prevent errors.
  • OK: Click this to paste only the valid values within the allowed range for each cell. Any values outside the range will be ignored.

Tip: Before pasting, ensure the copied data adheres to the valid value range of the cells in your selected region.

Copying data with uneven columns: Matrix Mixer table allows you to paste data with variable columns, unlike Excel which requires a strict matrix format. This is helpful for situations where data from sources like Notepad might have missing values or uneven columns.

Example: As shown below, you can copy a 3×2 matrix from Notepad, where some columns might have empty cells. Matrix Mixer will interpret the data based on its structure and paste it accordingly.

Tip: While Matrix Mixer can handle variable dimensions, ensure the overall structure of the copied data remains consistent  with the standard format i.e values separated by tab delimiter (‘\t’).

Preserving existing data: Matrix Mixer table allows you to selectively paste content while keeping your existing data intact. To achieve this, copy data from Excel with blank cells where you want to skip pasting. You might see an “Invalid Data” message because empty cells are considered invalid. However, clicking “OK” will continue the paste, leaving your existing values in those blank cells untouched.

Matrix Mixer table displays validation error messages only once, even if there are multiple invalid cells in the pasted data. Clicking “OK” will attempt to paste all valid data into the corresponding cells, while skipping any invalid values without affecting existing content.

Yes No
Last updated on March 11, 2024

6.3.Merger

The Merger audio object applies linear gain to all channels and sums all channel samples to generate an additional output channel. In the GTT, this object exposes m_NumAudioIn variables that represent the weights by which the input channels are scaled to generate the output for the last output channel. Scale values are to be set in db.

Use Case: This object can be deployed whenever a combination of input channels is required in the audio pipeline.

Merger Properties

Below table describes about the Merger audio object properties and functionality.

A screenshot of a computer Description automatically generated

Properties Description
# of Audio In Number of output channels is always one greater than the number of input channels. The first m_NumAudioIn output channels are just copies of the input channels.

  • Range: 2 to 254
  • Default: 2

Number of output channels is always number of input channels plus one. The first m_NumAudioIn output channels are just copies of the input channels. Default number of inputs pins is 2 and output pins is 3.

Display Name Display the name of the Merger audio object in signal flow design. It can be changed based on the intended usage of the object.

Mode

There are no mode available for Merger audio object.

Additional Parameters

There are no additional parameters available for Merger audio object.

Tuning Parameters

Below table describes the tuning parameters of Merger audio object.

Parameter Description Data Type Unit Default Range
Gain Each input channel has one gain tuning parameter that specifies the weighting factor to be used to generate the additional output. . float dB -128 -128 to 20

Control Parameters

There are no control parameters available for Merger audio object.

Native Panel

Merger audio object does not support native panel.

Yes No
Last updated on December 15, 2023

6.4.Fader Matrix

The FaderMatrix audio object is used to calculate the weighted output based on a combination of input audio where the weighting factors are provided as control input.

Use Case: The FaderMatrix takes in a configurable number of input, output and control channels. Each output of this object is a weighted sum of all the input channels where weighting factors can be tuned from control inputs.

Fader Matrix Properties

Below table describes about the FaderMatrix audio object properties and functionality.

Properties Description
# of Audio In Number of input channels.

  • Range: 1 to 64
  • Default: 2
# of Audio Out Number of output channels.

  • Range: 1 to 64
  • Default: 2
# of Elements Number of Control Inputs.

  • Range: 0 to 64
  • Default: 0
Display Name Display the name of the FaderMatrix audio object in signal flow design. It can be changed based on the intended usage of the object.

Mode

There are no modes available for FaderMatrix audio object.

Additional Parameters

The FaderMatrix audio object can be configured with the following additional parameter:

Parameters Description
Gain Type The audio object has an additional configuration ‘Gain Type’ to specify the weighting factors scale.

  • 0 – Linear [default]: Weights are configurable in a linear scale in the range of -100 to 100.
  • 1 – Logarithmic: Weights are configurable in a logarithmic scale in the range between -128 to 40 dB.

Tuning Parameters

The FaderMatrix audio object has one control index tuning parameter for each input channel that will used to compute the output of each channel. Thus there will be NumInputs * NumOutputs control indices (tuning parameters).

When the control index is set to zero, none of the control inputs will be used and this particular input will not be considered for computation of that particular output

Parameter Description Range Unit
Control Index Index of the control input for selecting weight factor for each input and output combination. 0 to NumElements None

Control Parameters

The FaderMatrix control is triggered whenever a control message is addressed to the audio object. The FaderMatrix audio object has configurable control input pins for weighting factors.

Parameter Description Gain Type Data Type Range Default Unit
Weighting Factor Weight factor for each input and output combination. Linear Float -100 to 100 0 None
Logarithmic Float -128 to 40 -128 dB

Native Panel

The FaderMatrix AO does not support native panel.

Yes No
Last updated on November 17, 2023

7.Dynamic Object

Yes No
Last updated on November 27, 2023

7.1.Compressor

The purpose of the Compressor audio object is to reduce the volume of loud sounds that exceed the certain threshold, while leaving quiet sounds unaffected. This is achieved by remapping the dynamic range of an audio signal to a smaller range. When the input signal rise above a predetermined threshold, the Compressor module weakens it, effectively lowering the dynamic range of the signal.

The Compressor audio object supports in-place computation based on the core type.

The Compressor audio object supports API resetObjectHistory, calling which would clear all the history data gathered over the audio and the internal states are restored to initial values.

The Compressor object supports two modes of operation. In Multi Set mode, the channels will be linked to configured sets. Each set will be tuned independently, and set attenuation will be applied uniformly to linked channels.

Use Case: Compressor audio object is perfect for usage as multichannel noisegate, limiter, and compressor to safeguard audio processing against unusual high amplitudes. Otherwise – the usage as audiophile stereo compressor in the signal path to achieve more audible density might not have the expected performance.

The compressor has two operating mode, namely One Set and Multi Set, and does not expose any variables to control.

Compressor Properties

Below table describes about the Compressor audio object properties and functionality.

Properties Description
# of Channels Enter the number of channels. The number of audio channels it can process is configurable in the SFD and each channel has its own set of specifications.

  • Range: 1 to 255
  • Data type: uint
  • The default value is set to 1.
Max. delay [ms] Specify the maximum possible delay for the audio object. It is applicable to all the audio channels. Maximum delay in msec (m_NumElements)

  • Range: 1 to 5000
  • Data type: ms
  • The default value is set to 1.

The number of channels and maximum delay are the configurable parameters in the SFD.

Display Name Display name of the Compressor audio object in signal flow design. It can be changed based on the intended usage of the object.

Mode

The Compressor audio object supports two modes of operation.

  • One Set
  • Multi Set

Mode Description
One Set Tuning will be applied for all the channels. State variable: Attenuation will be updated at each instance (not per-channel basis)
Multi Set

Channels will be linked to different sets in this mode. Additional parameter: Number of Sets can be configured for channel linking. Each set of linked channels can be tuned with set based tuning parameters such as Compressor Threshold, Release time, Attack time, etc. Common tuning parameters are applicable for all channels irrespective of their linked sets. 

State variable: Attenuation will be computed separately for each set.

Channel <n> SetId parameter can be used to link the channel n with any of the available configured set.

Additional Parameters

The Compressor audio object has one additional parameter, named Number of Sets.

Properties Description
Number of Sets To configure the number of sets for grouping and linking the available channels. Configurable only when Object Mode: Multi Set is enabled.

  • Range: 1 to Number of Channels
  • Data type: int
  • The default value is set to 1.

Tuning Parameters

All Compressor audio object parameters are shared in One Set object mode. This means that there is only one set of parameters, common to all the input channels, that controls a single instance of the audio object.

In Multi Set object mode, the tuning parameters for each set can be used separately for the channels linked to it. The common tuning parameters are applicable for all the channels irrespective of their linked set.

Below table describes the tuning parameters of Compression audio object.

Parameter Description Data Type Unit Default Offset Range
Compressor Threshold

Level of the compressor activation.

In Multi Set mode, it will be part of set tuning parameters.

Float db -30 0 -120 to 0
Attack Time

Time needed to compress signal to the target value. The signal level is reduced by 6 dB in this duration.

In Multi Set mode, it will be part of set tuning parameters.

Float s 0.02 4 0.001 to 0.5
Release Time

Time needed to restore original level of the signal after its return below threshold. The signal level is restored by 6 dB in this duration.

In Multi Set mode, it will be part of set tuning parameters.

Float s 0.05 8 0.001 to 0.5 
Compression ratio

Amount of compression applied to signal when its level is above threshold.

In Multi Set mode, it will be part of set tuning parameters.

Float None 3 12 1 to 100
RMS Smoothing (A)

Coefficient of the RMS filter used for calculating RMS level of input signal.

In Multi Set mode, it will be part of set tuning parameters.

Float  None 0.8 16 0 to 1
Knee width/Soft Knee

The half width of smooth transition band around threshold point.

In Multi Set mode, it will be part of set tuning parameters.

Float dB 3 20 0 to 120 
Make-up (after) gain

Value of additional gain applied to the output signal.

In Multi Set mode, it will be part of set tuning parameters.

Float dB 0 24 -128 to 20 
Noise gate threshold

Level of the noise gate activation.

In Multi Set mode, it will be part of set tuning parameters.

Float dB -128 28 -128 to 20 
Bypass When this value is equal one the compressor is transparent.

  • 0 – disabled
  • 1 – enabled

In Multi Set mode, it will be part of set tuning parameters.

ULong  None 0 32 0 to 1
Look ahead buffer size (Delay)

Amount of time that the input signal is delayed  to apply compression gain.

In Multi Set mode, it will be part of common tuning parameters.

Float s 0 36 0  to Max Delay
LP coefficient b0 

Antialiasing filter’s b0 coefficient.

In Multi Set mode, it will be part of common tuning parameters.

Float  None 1 40 0 to 1
LP coefficient b1 

Antialiasing filter’s b1 coefficient.

In Multi Set mode, it will be part of common tuning parameters.

Float  None 0 44 0 to 1
LP coefficient a1 

Antialiasing filter’s a1 coefficient.

In Multi Set mode, it will be part of common tuning parameters.

Float  None 0 48 0 to 1
Noise gate bypass

This is used to bypass noise gate functionality completely. When set to 1, the noise gating is disabled.

In Multi Set mode, it will be part of common tuning parameters.

ULong  None 0 52 0 to 1
Channel <n> SetId

To link the channel <n> with the available configured sets in Multi Set object mode.

This tuning parameter is available only in Multi Set mode.

ULong None 0  56 0 to (Number of Sets -1)

State Parameters

Parameter Description Data Type Unit Default Offset Range
Attenuation Indicates the amount of the computed attenuation when the compressor is active. For One Set object mode, the computed attenuation is applied on all channels. For Multi Set object mode, the computed attenuation at each set will be applied only to the channels linked to that particular set. Float dB 0 60 0 to 128

Control Parameters

There are no control parameters available for Compressor audio object.

Yes No
Last updated on May 22, 2024

7.1.1.Compressor Panel

The Compressor panel is associated with Compressor audio object and can be used for tuning compression on an input signal. When you update parameters in either the SV Explorer or the native panel, the controls in the Compressor native panel should be in sync.

The Compressor panel works currently only for One Set Mode.

The Compressor panel has two tabs “Tuning” and “Advance Settings”. Tuning tab is the default tab.

Tuning Tab

You can configure following state variables via Tuning Tab.

  • Compression Ratio
  • Compressor Threshold
  • Soft Knee
  • Attack Time
  • Release Time
  • Noise Gate Threshold

To disable the compressor, use the ByPass option. This will leave all controls in the Tuning and Advance Settings disabled and prevent any SV modifications.
A screenshot of a computer Description automatically generated

The Attenuation option shown on the top right corner is read only value along with a scale indicator which shows level of attenuation and does not have any user interaction.

Range Color
0 dB – 10 dB A green and white logo Description automatically generated with medium confidence
10 dB – 20 dB A green square with white and orange letters Description automatically generated with medium confidence
20 dB – Max

You can explicitly turn off Noise Gate Threshold by using Noise Gate Bypass option.
A screenshot of a computer Description automatically generated

Advance Settings Tab

You can configure following state variables via Advance Settings.

  • RMS Smoothing
  • Make-up Gain
  • Look Ahead Buffer Size
  • Lp coefficient b0
  • Lp coefficient b1
  • Lp coefficient a1

A screenshot of a computer Description automatically generated

Tuned parameters can be stored and recalled via Store Preset option available on the panel and is accessible in both the tabs.

Steps to store tuning parameters configuration.

  1. Configure the tuning parameters and select the free preset slot numbers, enter the name of the slot, and click Store preset. This saves and stores the current tuning data to the selected slot.

If you do not enter a name of the slot, then it will take the default named “New Preset”.

You can switch between presets slots and apply their values by simply clicking on them. Additionally, after clicking to override the preset, you can modify the tuning values in that tab or change the preset name.

To reset the selected preset or all the preset values.

  • Click Reset Selected to clear the preset that is currently selected.
  • Click Reset All to clear every preset in the corresponding native panel.

Yes No
Last updated on May 21, 2024

7.2.Limiter

The purpose of Limiter audio object is to control the output level of the audio. 

This AO supports in-place computation based on the core type.

Use Case: The Limiter AO can be used wherever there is a necessity to limit the signal level to be below a safe threshold level. A typical example is to protect speakers from unsafe signal levels.

Limiter Properties

Below table describes about the Limiter audio object properties and functionality.

Properties Description
# of Channels The number of audio channels it can process is configurable in the SFD and each channel has its own set of specifications.

  • Range: 1 to 250
  • Data type: Signed Short
  • The default value is set to 1.
Display Name Display name of the Limiter audio object in signal flow design. It can be changed based on the intended usage of the object.

Mode

The Limiter audio object supports following three modes:

  • No Control: No option for changing threshold value through control input. This is the default mode.
  • One Set: One control input whose value is applied to change the threshold of all the channels
  • Multi Set: Individual control input for each channel to change the threshold. If the number of channels exceeds 1, the control inputs are grouped as one block control input.

Additional Parameters

Parameter Description
Max Lookahead

Max Lookahead value is used to define the maximum lookahead time. During tuning from GTT, you can vary the lookahead time from 0 to the value set in the additional parameter.

The memory requirement largely depends on the lookahead time, and this feature helps you to define their optimal maximum lookahead time based on the memory availability.

This can be configured during design time.

  • Range: 0 to 0.15 seconds
  • Data type: Float
  • The default value is set to 0.0015.

Size of the lookahead delay buffer (in float words) = round (sampleRate * Max Lookahead)

For a sample rate of 48000 and maximum lookahead of 0.15 s, the required buffer size is 7200 float Words. Hence this variable is made configurable to enable the user to choose optimal maximum lookahead value based on the available memory.

A screenshot of a computer Description automatically generated
Threshold Type

This additional variable is used only in One Set and Multi Set modes.

Under this modes, the AO will be having control input(s) and through this additional variable the user configures whether to use the control input value as absolute threshold or offset threshold.

This option can be configured during design time.

  • Range: 0 to 1
    • 0 = Offset Threshold; the control input value would be applied on top of the tuning threshold value.
    • 1 = Absolute Threshold; the tuning threshold value would be ignored and the control input value would be applied.
  • Data type: Char

The default value is 0.

Attack Phase

The Limiter operates in two modes during the attack phase when the input signal level is higher than the desired threshold.

  • Fixed attenuation of 10 dB within the given attack time if the difference between the input signal level and the threshold is much higher. This phase is used initially to bring down the Limiter output quickly closer to the threshold.
  • Adaptive attenuation if the threshold is slightly lower than the input signal level. This is deployed towards the end of attack phase for fine tuning the output level to match the threshold.

Hence if the threshold is less than the input signal by less than or equal to 10 dB, then within the given attack time the Limiter output is restricted to the threshold level ± 1 dB.

If the threshold is much lower than the input signal level (say 30 dB), the difference is first brought down to less than 20 dB within the attack time; the difference is further reduced to less than 10 dB within twice the attack time; finally the output matches the threshold ± 5% within thrice the attack time.

Release Phase

The release time is the time taken by the Limiter output to follow the input signal level from the time the input signal level drops below the threshold. During this phase, the Limiter output follows exponential (time constant) growth to reach the input level.

Accordingly the output level will be as given below during this phase (If the release time is denoted as R, and the difference between the output level at the start of release phase and the input signal level is P dB):

  • After R sec            : 63% of P dB
  • After 2R sec          : 86% of P dB
  • After 3R sec          : 95% of P dB

Tuning Parameters

The tuning parameters are limited to safe range such that Limiter audio object shall not produces NaNs.

In GTT, the limiter exposes the following parameters for each channel of the limiter:

Parameters Description Type Range Default
Gain Controls the upper bound of gain that the limiter applies on weak signals. Float 0 to 30 0 dB
Threshold Controls where the limiter begins to activate. Float -30 to 0 0 dB
Attack Time Controls the limiter’s attack time for each channel. Float 0.1 to 20 1 ms
Release Time Controls the limiter’s release/hold time for each channel. Float 1 to 2000 150 ms
Hold Time Controls the hold counter. Float 0 to 10 10 ms
Hold Threshold Controls where the limiter enters hold or release. Float -1 to 0 0 dB
Look Ahead Time Look Ahead buffer for controlling the overshoots. Float 0 to Max Lookahead 0.0015 s
Bypass Flag to bypass the Limiter operation for the particular channel. Unsigned Long

0 to 1

0 – Bypass Disable

1 – Bypass Enable

0

State Parameters

Parameters Description Type Unit Range Default
Attenuation The attenuation value for each channel indicates the amount of the gain reduction (attenuation) applied when the Limiter is active.

This value will not be updated while the limiter is in the ‘Bypass’ state.

Float dB 0 to 60 0 dB
Effective Threshold
Indicates the actual threshold value applied – for each channel. Float dB -60 to 0 0 dB

When the control input of the Limiter AO is configured as Absolute Threshold, the last applied setting will be used internally; which means the tuning parameter change will overwrite the control input and vice versa.

Control Parameters

The Control audio object does not have any control output in any modes. However, the AO has control input(s) in One Set and Multi Set modes.

  • In One Set mode, the object has one control input whose value is applicable for all channels.
  • In Multi Set mode, the number of control inputs is same as the number of channels – each channel having a dedicated control input. These control inputs in Multi Set mode are grouped as one Block Control input when the number of control inputs exceeds 1.

For further info on the Limiter audio object and it’s functional behaviour, please also refer to Limiter User Guide Supplement.

Yes No
Last updated on June 11, 2024

7.2.1.Limiter Panel

The Limiter Panel is used for changing the gain, threshold, hold threshold, attack time, hold time, and release time values for each channel.

The Limiter panel displays the current attenuation value for information purpose only. Attenuation is a state-type parameter. This means the attenuation value is coming from the device and cannot be modified within the Limiter panel. To get the current attenuation value,  you need to stream the attenuation state variable.

There is a tooltip for Attack Time that describes its behavior as shown below.

A screenshot of a computer Description automatically generated with medium confidence

Similarly, tooltip is available for Release Time for its behavior as show below.

A screenshot of a computer Description automatically generated with medium confidence

Changing Value

You can change the gain value in four ways:

  • Using slider button: Select the slider to adjust the value.
  • Using mouse scroll: Click on the respective column and use mouse scroll to adjust the value.
  • Using text box: Select the respective column and enter the dB value within the specified minimum and maximum range. Once you’ve entered the value, press Enter, and the slider will automatically adjust based on the input.
  • Using the increment and decrement buttons you can change the gain value.

Maximum / Minimum Gain Value

Maximum and minimum gain values are from corresponding state variable of Limiter.

Threshold Values

Maximum and minimum threshold values are derived from the GTT in the parameter store.

When either of the threshold values is reached, the Gain value bar will turn into red.

  • Maximum threshold value: 95 %
  • Minimum threshold value: Not set

For further info on the Limiter audio object and its functional behavior, please also refer to the Limiter User Guide Supplement.

Yes No
Last updated on March 14, 2024

7.3.Bass Enhancer

The Bass Enhancer audio object allows to enhance the signal level of the low frequency components for better listening experience. The is achieved by generating harmonics for the low frequency components of interest and attenuates the higher harmonics after retaining the second harmonic alone. This is to avoid interference with the higher frequency components of the original signal.

The Bass Enhancement audio object is popular in the consumer electronics industry where good bass quality is expected from small or flat speakers. Bass performance is lacking in these speakers due to physical limitations and cost constraints. Bass Enhancement solutions are based on the psychoacoustic phenomenon where the human auditory system can perceive fundamental frequency from its higher harmonics. This is done with non-linear operations to generate harmonics that enhance bass virtually.

The audio object splits the signal into low pass and high pass based on the tunable set cut-off frequency. The harmonics are generated for the low-pass signal.

Input & Output:

The input gain scaling is applied on both the channels. The algorithm then separates the high pass signal based on the cutoff frequency set for both the left and right channels. Also, the left and right channels are merged, and the resultant mono signal is applied to the low pass filter.

The process of generating harmonics and attenuating higher harmonics are done only with the mono signal. This is done to reduce computing complexity. Bass Enhancer uses the same coefficient set for both left and right input channels. So, the output high pass filtered left and right channels will have same outputs if the input left and right channels are same.

Bass Enhancer have 3 audio outputs: High pass filtered Left, High pass filtered right, and Low pass filtered with harmonics shaping enhanced mono. The number of input channels is 2 and the number of output channels is 3.

The input channel order is:

  • [1] Left
  • [2] Right

The output channel order is:

  • [1] Left (High pass filtered)
  • [2] Right (High pass filtered)
  • [3] Enhanced Mono (Low Pass with harmonics shaping)

Use case: This object can be deployed wherever a Bass Enhancing effect is required in the audio pipeline.

Bass Enhancer Properties

Below table describes about the Bass Enhancer audio object properties and functionality.

Properties Description
Display Name Display name of the Bass Enhancer audio object in signal flow design. It can be changed based on the intended usage of the object.

Mode

There are no mode available for Bass Enhancer audio object.

Additional Parameters

The Bass Enhancer audio object doesn’t have any additional parameters.

Tuning Parameters

Parameter Description Data Type Default Unit Step Size Range
Bypass BassEnhancer AO bypass On /Off int 0 None None

0 – Bypass Off

1 – Bypass On

InputGain Gain to be applied on the Input signal (in DB) Float 0.0 dB 0.01 -30.0 to 6.0
FcLplnp Cut-off frequency for Low pass and High pass filters Float 250 Hz 0.01 10.0 to 1000.0
DistOdd Distortion Factor Odd Float 0.1 0.01 0.0 to 0.5
DistEven Distortion Factor Even Float 0.1 0.01 0.0 to 0.5

Control Parameters

Parameter Description Range Default
BassEnhancerEnable BassEnhancer AO On/Off

0 – Disable

1 – Enable

1

 

Yes No
Last updated on December 11, 2023

7.3.1.Bass Enhancer Panel

Audio engineers use Bass Enhancer audio object when they require bass enhancing effect in their audio pipeline. To adjust the parameters of the Bass Enhancer audio object, a custom native panel is provided. This panel allows for fine-tuning and customization of the Bass Enhancer settings.

User interface for every Bass Enhancer is the same and looks like the below figure.

Image

  • Activate bypass feature by clicking on “Bypass” button. If active the button has a red background.
  • Apply gain to input or bass signals using vertical faders or spinners under the “Gain” widget.
  • Change transition frequency and octave factor using vertical faders or spinners under the “Cut-off Frequency” widget.
  • Change even and odd distortion factors using vertical faders or spinners under the “harmonics” widget.
Yes No
Last updated on June 13, 2023

7.4.NonlinearClip

The NonlinearClip audio object is used to add a clip-on continuous input signal every time the signal level exceeds the clip threshold value. If Input signal value is exceeded clip threshold the output value is set to Clip threshold value.

Features of NonlinearClip audio object.

  • NonlinearClip AO is supported for all framework configurable sample rates and block lengths.
  • NonlinearClip AO is supported for both Win64 and GUL platforms.

Use Cases: This object can be deployed whenever a Nonlinear Clip is required in the audio pipeline.

NonlinearClip Properties

Below table describes about the NonlinearClip audio object properties and functionality.

Properties Description
# of Audio In Enter the number of audio input. The number of audio outputs is the same than the audio inputs.

  • Range: 1 to 255
  • Data type: float
  • The default value is set to 1.
Display Name Display name of the NonlinearClip audio object in signal flow design. It can be changed based on the intended usage of the object.

Mode

The NonlinearClip audio object doesn’t have any mode.

Additional Parameters

The NonlinearClip audio object doesn’t have any additional parameters.

Tuning Parameters

Parameter Description Default Range Units
ClipThreshold Clip threshold value to where clip is applied. 0.0 -120 to 6.0 dB

Control Parameters

The NonlinearClip audio object don’t support control parameters.

Native Panel

NonlinearClip audio object does not support native panel.

Yes No
Last updated on December 11, 2023

7.5.AudioLevelizer

The purpose of the AudioLevelizer audio object is to automatically adjust and balance the loudness of incoming audio signals, regardless of the input from different audio sources. Basically, this audio object allows you to continuously maintains the perceived loudness of audio sources without performing volume adjustments when switching between audio sources.

It induces a fixed latency of 512 samples (~10 ms at 48 kHz sample rate) between the audio input and the output.

Example: Tuner > USB. The AudioLevelizer will adjust the volume automatically to make sure the perceived loudness will be equal after the source switch.

AudioLevelizer Properties

Below table describes about the AudioLevelizer audio object properties and functionality.

A screenshot of a computer Description automatically generated

Properties Description
Display Name Display name of the AudioLevelizer audio object in signal flow design. It can be changed based on the intended usage of the object.

Mode

The Audiolevelizer audio object doesn’t have any mode.

Additional Parameters

The Audiolevelizer audio object doesn’t have any additional parameters.

Tuning Parameters

Parameter Description Type Offset unit Range Default
Intensity Sets the balance between dry gain and wet gain.

  • Dry gain: simple gain determined only by the TargetLoudness control.
  • Wet gain: gain determined by a combination of signal analysis and the TargetLoudness control.

0% = dry gain only; 100% = wet gain only.

Float 0 % 0 to 100 60
TargetLoudness equivalent sound level Float 4 dB -65 to 12 7
AttackRate0 short term attack rate for overall gain adjustment Float 8 ms 6 to 250 32
AttackRateGrowTime amount of time from short term to the long-term attack rate for overall gain adjustment Float 12 s 0 to 30 1
AttackRateMax long term (i.e. final) attack rate for overall gain adjustment Float 16 ms 0 to 250 85
ReleaseRate0 Short term (i.e. start) release rate for overall gain adjustment. Float 20 ms 6 to 12000 130
ReleaseRateGrowTime Amount of time from the short term to the long-term release rate for overall gain adjustment. Float 24 s 0 to 30 3
ReleaseRateMax Long term (i.e. final) release rate for overall gain adjustment. Float 28 ms 0 to 30000 5000
RampRangeMin maximum allowable attenuation to reach the target loudness Float 32 dB -24 to 24 5
RampRangeMax maximum allowable boost to reach the target loudness Float 36 dB -24 to 24 11
PauseTime minimum continuous time the signal must be below the PauseThreshold Float 40 s 0.001 to 3 0.25
SignalTime minimum continuous time the signal must be above the SignalThreshold Float 44 ms 20 to 50 26
PauseThreshold threshold for the signal Float 48 dB -99 to -2 -76
SignalThreshold threshold for the input Float 52 dB -99 to – 1 -75
ClipGuardThreshold threshold for the maximum allowed peak value Float 56 dB -12 to -12 0
CompressorThreshold threshold below which the surround channel compressor is activated Float 60 dB -60 to -1 -6
CompressorRatio desired ratio of the input to the output gain for the surround channels. Float 64 dB 0 to 100 25
SpeechAdjustDepthCenter maximum amount of allowable boost for center channel when speech is detected Float 68 dB 0 to 12 6
SpeechAdjustDepthFrontSurr maximum amount of allowable attenuation for the surround and front channels when speech is detected in the center channel. Float 72 dB -12 to 0 0
SpeechAdjustAttackTime attack time for center boost / front attenuation Float 76 ms 6 to 30000 1000
SpeechAdjustReleaseTime release time for center boost / front attenuation Float 80 ms 6 to 30000 10000
SpeechAdjustThreshold center level threshold for center boost / front attenuation Float 84 dB -24 to 0 -6

Control Parameters

The Audiolevelizer audio object don’t support control parameters.

Yes No
Last updated on March 7, 2024

7.5.1.AudioLevelizer Panel

The Audiolevelizer audio object supports native panel. The native panel window consists of slider bars and rotary for different tuning parameters viz. compressor threshold, compressor ratio, Attack time, Release Time, Ramp Range etc.

To open the native panel, double-click on the audiolevelizer object in the  SFD.

A screenshot of a computer Description automatically generated

Yes No
Last updated on March 7, 2024

7.6.Nonlinear Polynomial

The Nonlinear Polynomial audio object provides output based on the quadratic equation.

Features of NonlinearPolynomial.

  • NonlinearPolynomial audio object is supported for all framework configurable sample rates.
  • NonlinearPolynomial audio object is supported for all framework configurable block lengths greater than 4 and multiple of 4 up to 4096.
  • NonlinearPolynomial audio object is supported for both Win64 and GUL platforms.

The audio object supports in-place computation based on the core type.

Nonlinear Polynomial Properties

Below table describes about the Nonlinear Polynomial audio object properties and functionality.

A screenshot of a computer Description automatically generated

Properties Description
# of Audio In Enter the number of audio input.

  • Range: 1 to 255
  • Data type:
  • The default value is set to 1.

The number of audio outputs is the same than the audio inputs.

Display Name Display name of the Nonlinear Polynomial audio object in signal flow design. It can be changed based on the intended usage of the object.

Mode

There are no mode available for Nonlinear Polynomial audio object.

Additional Parameters

The Nonlinear Polynomial audio object doesn’t have any additional parameters.

Tuning Parameters

Nonlinear Polynomial has two modes.

  • 0: Polynomial mode
  • 1: Squared mode

Default is Polynomial mode.

Parameter Description Data Type Default Range Units
A coefficient The scaling factor for squared input sample Float 0.0 -256.0 to 256.0 None
B coefficient The scaling factor for input sample Float 1.0 -256.0 to 256.0 None
C coefficient The offset to the sample Float 0.0 -256.0 to 256.0 None

Control Parameters

The Nonlinear Polynomial audio object doesn’t have any control parameters.

Native Panel

The Nonlinear Polynomial audio object don’t have any native panel.

Yes No
Last updated on December 15, 2023

7.7.dbxLimiter

The dbx limiter audio object controls the input signal if signal level crosses threshold level. It operates as a RMS Limiter and Peak Limiter.

The below figure displays the panel for dbx Limiter from audio architect (Professional audio tuning and design tool).

The dbx limiter has an optional processing called Peakstop plus processor which further compresses the output signal from RMS limiter. It operates as an RMS limiter during normal operation and when you enable Peakstop plus parameter it acts as a peak limiter.

Use Case: This object can be deployed whenever an audio limiter needs to be introduced in an audio pipeline.

The Dbxlimiter algorithm performs the following operations on the input signal to achieve the signal limiting.

  • RMS detection is performed on all channels (each channel has its own RMS detector).
  • Any linked channels update their RMS info with the max of the linked channels’ RMS values.
  • Compression logic is applied to the RMS values to modify them if in or above the knee.
  • Attack/Hold/Release logic is applied to compute the final gain reduction amount (dB).
  • The dB gains are converted to linear gains and applied to the audio signal.
  • If active for this channel, PeakStop+ sample-wise limiting is applied to the audio signal.

dbxLimiter Properties

Below table describes about the dbx limiter audio object properties and functionality.

A screenshot of a computer Description automatically generated

Properties Description
# of Channels Enter the number of channels. The number of audio channels it can process is configurable in SFD and each channel has its own set of specifications.

  • Range: 1 to 255
  • The default value is set to 1.

The number of audio outputs is the same than the audio inputs.

Display Name Display name of the dbxLimiter audio object in signal flow design. It can be changed based on the intended usage of the object.

Mode

The dbxLimiter audio object doesn’t support any mode.

Additional Parameters

The dbxLimiter audio object doesn’t have any additional parameters.

Tuning Parameters

Name Description Offset Type Unit Default Range
Threshold Level of the dbx limiter activation. 0 float dB 0 -60.0 to 0.0
Attack time Time needed to limit signal to the target value. 4 float ms 10 0.1 to 200
Hold Time Time for which the signal is “held” at threshold even though the input has fallen below threshold. 8 float ms 0 0.0 to 500
Release The rate at which the release process happens. Release is when the limiter stops compressing/limiting the signal. 12 float dB/s* 5 5.0 to 360.0 
Overeasy The half width of smooth transition band around threshold point. 16 float dB** 0 0 to 100
Peakstop Plus When this flag is set, Peakstop+ processor gets enabled. 20 ULong NULL 0 0 to 1
Overshoot In Peak Mode, the output signal will not exceed the level set by overshoot. 24 float dB 2 2 to12
Bypass When this value is equal one the dbx limiter is transparent. 28 ULong NULL 0 0 to 1
Automode Enable When this value is equal to one, the dbx limiter algorithm sets the Attack, Hold, and Release parameters in real time based on the incoming signal 32 ULong NULL 0 0 to 1
ChannelLinkId This parameter indicates the channel that is linked to the current channel. The maximum RMS values of the current and the linked would be considered for the limiting 36 ULong NULL Channel number 0 to 255
  • *Due to the limitation in GTT the unit is kept as ms even though it is actually dB/s.
  • **The range used in Audio Architect, the tool used by PRO audio uses a range of only 0 – 10 dB. However, this does not result in any noticeable quality difference to the audio. So, the range of Overeasy has been increased here to a wider range. This can however be changed later based on the requirements of the product teams.

Control Parameters

The dbxLimiter audio object doesn’t have any control parameters.

State Parameters

Parameter Name Data Type Default Value Range Description
Threshold meter Float 0 0 to 2 Indicates the level of the signal after compression

Native Panel

The dbxLimiter audio object does not support native panel.

Yes No
Last updated on December 15, 2023

7.8.Ducker

The aim of Ducker is to attenuate the level of one audio signal in the presence of another signal. The ducker algorithm is primarily used for reducing the level of the background music track during announcement. This audio object works in tandem with a level detector block or a different control input. A very simple reference implementation of a peak level detector is included EconomyLevel.

Ducker Properties

Below table describes about the Ducker audio object properties and functionality.

Properties Descriptions
# of channels The number of input channels are configurable.

  • Range: 1 to 255.
  • Default is 1.

The number of output channels are equal to the number of input channels.

Display Name Display name of the Ducker audio object in signal flow design. It can be changed based on the intended usage of the object.

Mode

There are no mode available for Ducker audio object.

Additional Parameters

Parameter Descriptions
Side Chain Level Scale

Side Chain Level Scale is in linear or dB scale, which can be selected during design time.

0 – Linear scale

1 – dB scale

Ducker Operation Mode

The Ducker audio object operates in two modes and the mode can be selected using an additional configuration “Ducker Operation Mode”.

Ducker AO operation mode

  • 0 – Standard mode (Exposes one control input (sidechain))
  • 1 – Enhanced mode (Exposes four control inputs (sidechain, threshold, Attenuation, and bypass))

Standard mode is the default.

 

Tuning Parameters

Parameter Data Type Unit Default Value Range Description
Threshold Float dB -30 dB -128 to 0 minimal value of the incoming level parameter to trigger ducking
Attenuation Float dB 20 dB 0 to 128 How much the signal will be attenuated when ducking is active
Attack time Float s 1 s 0.01 to 3 The time it’ll take for the signal to transition from the full level (0dB) to the ducking level.
Release time Float s 1 s 0.01 to 10 The time it’ll take for the signal to transition from the ducking level back to the full level (0dB) after the ducking condition expires
Hold time Float s 1 s 0.01 to 3 The minimum amount of time from the start of the ducking or from the detection of incoming level above threshold (whichever is greater) for the ducking to start releasing
Bypass ULong   0 0 and 1 Whether the processing should be bypassed.

  • 0 – Bypass disabled (Default)
  • 1 – Bypass enabled

Control Parameters

Parameters Descriptions Range

Control input in linear scale

Or

Control input in dB scale

Control input (Side Chain Level) data in linear scale. The range is from 0.0 to 1.0 in normalized.

Control input (Side Chain Level) data in dB scale. The range is from -128.0 to 0.0

0.0 to 1.0

-128.0 to 0.0

Threshold

The minimal value of incoming control signal to trigger ducking.

It is available only in enhanced mode.

-128 to 0 dB
Attenuation

The amount of the signal that will be attenuated when ducking is active.

It is available only in enhanced mode.

0 to 128 dB
Bypass

Whether the processing should be bypassed.

0 – Bypass disabled (Default)

1 – Bypass enabled

It is available only in enhanced mode.

0 and 1

State Parameters

Ducker exposes the following state parameters to indicate the status of the audio object, and these are streamable.

Parameter Data Type Default Value Unit Range Description
Side Chain Level Float 0 dB dB -128 to 0 dB The control input amplitude value in dB.
Ducking status Float 0   0 to 1 The ducking process is applied or not.
Gain attenuation Float 0 dB dB 0 to 128 dB The amplitude difference between input and output audio in dB.

Native Panel

The Ducker audio object don’t have any native panel.

Yes No
Last updated on December 15, 2023

7.9.EconomyLevel

The aim of Economy level audio object is to detect the absolute peak level in the input signal. The audio object algorithm is primarily used for reducing the level of the background music track during announcement. The EconomyLevel block is a control source generator for the Ducker object. It should be inserted separately into the signal path that is supposed to control the Ducker object and connected to the main Ducker object via control routing.

The word ‘Economy’ in the block names reflects the original names used within Studer OnAir Micro console firmware. These blocks are optimized for performance and are suitable for using with mixer consoles and performance-constrained embedded devices.

Economy level Control output depends on block length selected and input audio frequency.
Since economy level works on the data from one block of data presented to it, for lower block length and lower frequencies control output may not be static. 

The basic features for the Economy level Object are:

  • Integration with the xAF.
  • Accessibility from the Signal Flow Designer Software. This allows the user to add the object within an audio pipeline.
  • Fixed number of channels from within SFD. The number of input channels are always equal to the number of output channels
  • The object has one control output channel
  • Implementation on generic code.
  • In-place computation support.

EconomyLevel Properties

Below table describes about the Economy level audio object properties and functionality.

A screenshot of a computer Description automatically generated

Properties Descriptions
# of Channels The number of input channels are configurable.

  • Range: 1 to 254
  • Data type: uint
  • The default value is set to 1.

The number of output channels are equal to the number of input channels.

Mode

There are no mode available for Economy level audio object.

Additional Parameters

Parameter Descriptions
Control Output Data Scale

The control output can be either in linear scale or dB scale which can be selected during design time using the Control Output Data Scale additional configuration. This audio object is targeted at Professional Audio usage, specifically.

Control output data is in linear or dB scale.

0 – Linear scale

1 – dB scale

Tuning Parameters

There are no tuning parameters available for Economy level audio object.

Control Parameters

Parameters Descriptions
Control output in linear scale Control output data in linear scale. The range is from 0.0 to 1.0 in normalized.
Control output in dB scale Control output data in dB scale. The range is from -128.0 to 0.0

Native Panel

Economy level audio object does not support native panel.

Yes No
Last updated on December 18, 2023

7.10.AudioLevelizer 2

The purpose of  AudioLevelizer 2 audio object is to automatically maintain perceived loudness of output, regardless of variations in input loudness from different audio sources. This eliminates the need to perform volume adjustments while switching between input audio sources.  For example, while switching from Tuner to USB, the AudioLevelizer 2 will adjust the volume automatically to ensure the perceived loudness is maintained after the source switch.

AudioLevelizer 2 audio objects provides zone configuration to process incoming audio channels. The zones can be configured as single zone or multiple zones.In single zone configuration audio inputs can be mono , stereo or 5.1 channel.In multizone configuration audio inputs can be 2 to 12 stero channels or 11 stereo channels Plus one 5.1 channel.

AudioLevelizer 2 introduces latency based on frame size.

AudioLevelizer 2 Properties

Below table describes  the AudioLevelizer 2 audio object properties and functionality.

Audio object properties in single zone mode

Audio object properties in multi zone mode

Properties Description
Display Name Display the name of the AudioLevelizer 2 audio object in signal flow design. It can be changed based on the intended usage of the object.
Object Mode AudioLevelizer 2 supports following modes

  • Single Zone Stereo
  • Single Zone Mono
  • Single Zone 5.1 channels
  • Multizone stereo
  • Multizone 5.1 + Stereo

Mode

There are total 5 modes

 

Name Description
Single Zone Stereo Supports single stereo input channels.
Single Zone Mono Supports mono input channel.
Single Zone 5.1 channels Supports 5.1 input channels.
Multizone Stereo Supports multiple stereo input channels. Number of stereo inputs is configured from “Numer of zones”.
Multizone 5.1+Stereo Supports 5.1 channel channels plus stereo input channels. Number of stereo input channels supported  is configured from “Numer of zones”

Additional parameters

Parameter Description Unit Range Default
Loudness Mode

To select loudness estimation method. Loudness estimation method can be either “ITU Loudness mode” or “Harman optimized”

 

None 0 – 1 0 (Harman optimized)

 

Tuning Parameters

AudioLevelizer 2 has below tuning parameter

Parameter Description Data Type Unit Default Offset Range
Target Level Long-term averaged Loudness Level at which each output signal is targeted to. Float LUFS(dB) -17 0 -35 to -5
Relative Max LU Output signals are capped to the loudness level set by the Relative Max LU relative to target level. Float LU(dB) 15 4 0 to 30

 

State Parameters

Parameter Description Data Type Unit Default Offset Range
Status

Enable/Disable the ALZ core class for the corresponding Zone.

0: Mute zone

1: Zone Active

For debug purpose this can be tuned.

Float None 1 0 [0, 1]
Applied Gain To check the applied gain value of the corresponding zone. Float dB NA 4 -50 to 50
Noise Floor Triger To check the silence/pause status of corresponding zone 0: Silence not detected.  -10: Silence detected. Float 0 0 8 [0 -10]

 

Yes No
Last updated on April 30, 2024

8.Filter Objects

Yes No
Last updated on December 11, 2023

8.1.ParameterBiquad

This ParameterBiquad audio object computes bi-quadratic filter coefficients and calculates the output of the input audio buffers processed through the filters that users specify.

Use Case: This audio object can be deployed whenever a user wants to filter a signal based on user specified parameters.

Parameter Biquad Properties

Below table describes about object properties and functionality of ParameterBiquad audio object.

Properties Descriptions
# of Channels The object has a configurable number of channels. The number of audio inputs is always equal to the number of audio outputs. These channels are referred as subblocks. Filter has as many subblocks as number of channels and one additional subblock for Ramp characteristics.

  • Range: 1 to 64
  • By default, the number of channels is set to 1.
Number of biquads The number of elements generally describes the number of filters requested by the user.

  • For parameter and parameter one modes, this value is configurable between 1 and a 100 and is by default set to 1.
  • For Parameter one control mode, this value is not configurable and is hardcoded to 1.
Display Name Display the name of the ParameterBiquad audio object in signal flow design. It can be changed based on the intended usage of the object.
Object Mode ParameterBiquad audio object operates in one of the three modes.

  • Parameter
  • Parameter One
  • Parameter One Control Set

Mode

The ParameterBiquad audio object operates in one of three modes and ramping is applicable in all modes:

Mode Description

Parameter

(Default)

In this mode, the block receives the following filter specifications from the user for each filter in a channel.

This mode generates a set of filters per channel, so each channel has its own set of unique filters.

  • Frequency (in Hz),
  • Gain (in dB),
  • Q (Quality factor), q
  • Type of filter (lowpass, highpass, etc.)
  • Bypass mode (if set, the block doesn’t filter the incoming audio buffer)

In this mode, each channel can have its own set of coefficients and filter specifications.

Parameter One

In this mode, the block receives the following filter specifications from the user for each filter in a channel:

This mode generates a set of filter coefficients for all audio channels. The only difference between this mode and the Parameter mode is that this mode generates one set of coefficients for all channels as opposed to one set per channel.

  • Frequency (in Hz),
  • Gain (in dB),
  • Q (-Quality factor), q
  • Type of filter (lowpass, highpass, etc.)
  • Bypass mode (if set, the block doesn’t filter the incoming audio buffer)

In this mode, all channels use same set of filter/filter coefficients. This block uses the above filter specifications to calculate the filter coefficients based on the type of the filter requested by the user.

The difference between Parameter mode and Parameter One mode is that Parameter One mode will apply the same set of filter coefficients to each channel whereas Parameter mode will apply different sets for different channels.

This is identical to the Parameter Mode, except, instead of presenting the variables for each filter per channel, this mode only presents a set of coefficients per filter, regardless of the number of channels.

Parameter One Control Set

This mode also allows to control the cut off frequency via a control input pin.

This mode only uses one filter and applies the filter characteristics to all channels similar to Parameter One mode. It also exposes one control (accessible from the HU) variable to manipulate the cut-off frequency.

This is identical to Parameter One Mode but it has only one filter.
The Biquad object does not expose any variables for control except for the Parameter One Mode Set Control Frequency, where it exposes the cut-off frequency of the filter. When this parameter is changed then ramping is applied.

In addition to the above parameters, ParameterBiquad also exposes Ramp time configuration (both in state and tuning memory). For each channel in parameter mode and in Parameter One & Parameter One Mode Set Control Frequency single Ramp Time is exposed irrespective of number of channels.

Additional Parameters

Parameter Description
Biquad Topology Allows the user to choose the filter topology at design time.

  • Direct Form I (DFI)
  • Direct Form II (DFII)
  • Transposed Direct Form II (TDFII)

By default, it is configured for DFII.

Tune Ramping On/Off

Allows user to enable or disable the ramping during tuning.

By default, ramping is disabled.

1 – Ramping Enable

0 – Ramping Disable

Irrespective of this option, ramping characteristics are always available as tuning parameters that will be used whenever changes are made through control inputs.

Tuning Parameters

This table assumes subblocks are utilized. If a user were to tune without subblocks, they would need to account for the memory offsets for subblocks.

f = Filter # (starting from beginning of subblock)

Parameter Description Data Type Unit Default Memory Offset Range
Frequency Cut off frequency of the filter float Hz 20 f * 5 * 4 + 0 10 to 20000
Gain Gain float dB 0 f * 5 * 4 + 4 -30 to 50
Quality Q factor of the filter float 0.7 f * 5 * 4 + 8 0.1 to 116
Type Type of filter: lowpass/high pass/ shelve, etc Int 0 f * 5 * 4 + 12

0 – BYPASS

15 – RESON

Bypass* Bypass on or off (0 is on) Int 0 f * 5 * 4 + 16 0 to 1

*ATTENTION: The Bypass logic is inverted. When Bypass value is set to 1, the AO applies filtering and generates the filtered output. When Bypass value is set to 0, the AO passes the input to the output. This need to be retained this way to maintain backward compatibility.

Last subblock irrespective of channels will be the ramp characteristics. Below is the memory layout for the last subblock. If m_NumChannels N,

  • In Parameter mode last subblock will be N.
    • For example, for 2 channels, subblock 0 and 1 are for the filters and subblock 2 is for ramp characteristics. When channels are changed to 3 channels, subblock 0, 1 and 2 are for the filters and subblock 3 is ramp characterics.
      • Please note that subblock 2 (which was used for ramp characteristics when number of channels were 2) used for filter when number of channels are 3.
      • Because of this, application using this AO, may not be able to retain the ramp characters when number of channels are changed.
  • In Parameter One mode and Parameter One control set mode last subblock will be 2 irrespective of number of channels

Ramp Characteristics Subblock

Last sub-block Name Type Unit Min Max Default Value Offset Description
Ch = 0 Ramp time ch0 float ms 0 500 0 ch *4 Ramp time for first channel
Ch = 1 Ramp time ch1 float ms 0 500 0 ch * 4 Ramp time for second channel
Ch = N  – 1 Ramp time ch(N-1) float ms 0 500 0 ch * 4 Ramp time for last channel

Control Parameters

There are no control parameters available for Parameter Biquad audio object.

Yes No
Last updated on April 18, 2024

8.1.1.Parameter Biquad Panel

The ParameterBiquad panel can be used to apply Biquad filters to the signal. It is accessed through the Normal biquad object and Parameter biquad audio object, each offers different modes. When using parameter one or parameter one control set mode, channel selection is not required since the identical biquad parameters are applied to all channels within the device.

Channel List

On the top left of the EqPanel, there is a list from which you can choose a channel for the current core. The current channel is marked with a green square and its details are displayed in the header of the channel list.

A screenshot of a computer Description automatically generated with medium confidence

EQ Chart

This chart represents the influence of all Biquads on the frequency and phase response. The left axis shows the amplitude in dB, and the right axis shows the phase in degrees. The number of Biquads are defined with the Signal Flow Designer. The Biquads get dynamically managed inside the GTT. Most of the Biquads are represented by appropriate markers.

A picture containing screenshot, line, plot Description automatically generated

Markers

Markers are movable. Moving them allows you to amend the current Biquad parameters. Each marker corresponds to one or two Biquad parameters. For example, the equalizer shown below has three markers.

A screenshot of a computer Description automatically generated with low confidence

Biquad Settings

On the Biquad settings window, you can perform the following operations.

Enabling Bypass

  • Click on the Bypass button to enable or disable Bypass.
  • In bypassed state, the button is red colored and green colored when biquad is in non-bypassed state.

Biquad is in bypassed state by default.

Change the Frequency, Gain, and Quality

  • Frequency: It is used to set the center frequency of each filter.
  • Gain: It is used to set the center frequency gain of each band of the filter. Not all filter types offer a variable gain.
  • Quality: It is used to set the width of each band pass or notch type band of the filter. Not all filter types offer a variable quality factor.
    • Using the increment and decrement buttons you can change the value.
      Or
    • Select the tuner and use mouse scroll to adjust the value

Change Biquad type

The Biquad Filter Menu shows a list of all Biquads types that are set up in the amplifier for the current channel. You can change the Biquad type or remove the Biquad by setting it to Bypass (at the top of the list).

A screenshot of a computer Description automatically generated with medium confidence

Biquad Chart Type

  • Amplitude phase: It is used to turn on and off appropriate charts.
  • Phase Unwrapped: It displays absolute values.
    • If the phase is wrapped, the display is limited to ± 180 °.
    • If the phase exceeds 180 ° or -180 ° it is continued on the other side of the vertical scale.
  • Used Biquads: This informs you about the available Biquads. The first number is the number of Biquads that have not been bypassed. The second number is the number of available Biquads.
  • Sample rate: It shows the sample rate at which the filters are operated.

Biquad Curve Legend

Click on Curve Legend to display all the associated legends. By default, all the curve legends are enabled on the graph. Uncheck the curve to hide it from the graph.

High Order Filters

The biquad object does not support natively high order filters. To work with high order filters, biquad panel can merge two low order filters into one high order filter automatically. Below table describes the rules of combining the filters.

First biquad Type Second biquad Type Comparison Result
HighPass2 HighPass1 B1Freq = B2Freq and B1Q = 1 HighButterworth3
HighPass2 HighPass1 1.03*B1Freq = 0.93*B2Freq and B1Q = 0.69 HighBessel3
HighPass2 HighPass2 B1Freq = B2Freq and B1Q = 1.31 and B2Q = 0.54 HighButterworth4
HighPass2 HighPass2 B1Freq = B2Freq and B1Q = 0.71 and B2Q = 0.71 HighLinkwitzRiley4
HighPass2 HighPass2 1.04*B1Freq = 0.93*B2Freq and B1Q = 0.81 and B2Q = 0.52 HighBessel4
LowPass2 LowPass1 B1Freq = B2Freq and B1Q = 1 LowButterworth3
LowPass2 LowPass1 B1Freq/1.03 = B2Freq/0.93 and B1Q = 0.69 LowBessel3
LowPass2 LowPass2 B1Freq = B2Freq and B1Q = 1.31 and B2Q = 0.54 LowButterworth4
LowPass2 LowPass2 B1Freq = B2Freq and B1Q = 0.71 and B2Q = 0.71 LowLinkwitzRiley4
LowPass2 LowPass2 B1Freq/1.04 = B2Freq/0.93 and B1Q = 0.81 and B2Q = 0.52 LowBessel4
  • B1Freq – first biquad frequency
  • B2Freq – second biquad frequency
  • B1Q – first biquad quality
  • B2Q – second biquad quality

Export & Import

A picture containing text, screenshot, clock, font Description automatically generated

Biquad parameters can be exported by clicking the export button as csv in the below format.

A screenshot of a calculator Description automatically generated with medium confidence

A screenshot of a computer Description automatically generated with low confidence

The exported file can be imported back to the panel using the import button.

Yes No
Last updated on November 24, 2023

8.2.CoefficientBiquad

The CoefficientBiquad audio object accepts biquad filter coefficients via its tuning interface and then filters signals accordingly. This audio object also adjusts the input audio buffers based on the bi-quadratic filter coefficients provided into it via tuning and stores the resulting audio in the output buffers.

Use Case: This object can be deployed whenever a user wants to filter a signal based on user specified coefficients.

CoefficientBiquad Properties

Below table describes about the CoefficientBiquad audio object properties and functionality.

A screenshot of a computer Description automatically generated

Properties Description
# of Channels The object has a configurable number of channels. The number of audio inputs is always equal to the number of audio outputs.

  • The maximum allowed number of channels is 64.
  • By default, the number of channels is set to 1.
Number of biquads The number of elements generally describes the number of filters requested by the user. This value is configurable between 1 and a 100 and is by default set to 1.
Display Name Display the name of the Adder audio object in signal flow design. It can be changed based on the intended usage of the object.

Mode

There are no mode available for CoefficientBiquad audio object.

Additional Parameters

Parameters Description
Biquad Topology Allows to choose the filter topology at design time.

  • Direct Form I (DFI)
  • Direct Form II (DFII)
  • Transposed Direct Form II (TDFII)

By default, it is configured for DFII.

A screenshot of a computer Description automatically generated
Coefficient Type Allows to configurable object variable that indicates whether the filter coefficients are shared across all channels or not.

  • 0 = Coefficient (each channel has its own set of filter coefficients)

In this layout, the filter coefficients are unique per channel. The number of filters selected above would apply per channel in this layout. If the number of filters above is selected to be two, then two unique biquad sets of coefficients will be applied across each channel.

  • 1 = Coefficient one (all channels use same set of filter/filter coefficients)

This layout will share a set of filter coefficients across all channels. If the number of filters above is selected to be two, then the same two biquad sets of coefficients will be applied across all channels.

By default, it is configured for Coefficient.

A screenshot of a computer Description automatically generated

Tuning Parameters

This object does not support state and control interfaces; it only supports a tuning interface.
The five values below represent filter coefficients per biquad. Coefficient Layout exposes five values per biquad per channel, whereas Coefficient One Layout exposes one set of coefficients per biquad, and these are shared across all channels.

Parameter Description Type Unit Range Default Value Memory Offset
 b0 Biquad coefficient float None 1 f * 5 * 4 + 0
b1 Biquad coefficient float None 0 f * 5 * 4 + 4
b2 Biquad coefficient float None 0 f * 5 * 4 + 8
 – a2 Biquad coefficient float None 0 f * 5 * 4 + 12
– a2 Biquad coefficient float None 0 f * 5 * 4 + 16

b are numerator coefficients and a is denominator. The coefficients are expected to be normalized (*1/a0). And a1 and a2 are expected to be negated before being passed in.

A math equation with numbers and symbols Description automatically generated with medium confidence

Control Parameters

There are no control parameters available for CoefficientBiquad audio object.

Yes No
Last updated on December 5, 2023

8.2.1.Coefficient Biquad Native Panel

Coefficient biquad native panel is launched for the Coefficient biquad audio object. The panel has two modes.

  • Coefficient
  • Parameter

Coefficient Mode

Panel contains channel drop-down and option to import and export coefficients. The panel has a chart that has only total amplitude and total phase graphs.

The “Send” button sends the biquad coefficients to the device. The biquads configured will show up with 5 coefficients each numbered 1 to n.

The coefficients will have default values 1,0,0,0,0.

Coefficients cannot be edited. It can be filled only by importing coefficients from a .csv file. The format of the file is shown below.

A screenshot of a computer code Description automatically generated with low confidence

The current implementation will import coefficients to the biquads that are configured and leave the biquads that is not listed in the import file untouched. Please make sure you add default values to the ones that do not have coefficients.

Presets at the bottom to save different coefficient values are supported like any other native panels.

Parameter mode

In this mode, you can set parameters using filters, just like in the EQ Panel. Parameters for all channels can be exported and imported.

The “Calculate” button calculates all parameters to coefficients but does not send them to the device. It switches to Coefficient mode so that they can be checked and sent with the “Send” button.

It is not possible to calculate coefficients to parameters, so it is possible that the coefficients will be different than the parameters. That is, the parameter mode may not reflect the state of the device/coefficients. It is possible after loading parameters sets, reading data from device or importing coefficients.

Yes No
Last updated on June 13, 2023

8.3.Tone Control Extended

The ToneControlExtended audio object supports changing the filter parameters Frequency, Gain, Q, type of the filter and ramp time for each channel in Signal Flow Designer.

The tone control extended block can generate filters and their coefficients and then filtering audio signals passed to the audio block based on the calculated coefficients. The tone control extended object can have a variable number of channels and have one set of filter coefficients per element for all channels. It has an adjustable number of elements or cascaded filters.

Use Case: This audio object applies filter on all the channels. When filter parameters are changed during run time, the filter coefficients are gradually changed to target values using ramping. Linear interpolation is used for filter ramping. Filter coefficients are ramped after every pre-configured number of samples for ramping. This ramping is applied until filter coefficient reaches target value.

ToneControl Properties

Below table describes about the ToneControlExtended audio object properties and functionality.

Properties Description
# of Channels Enter number of channels. The number of input channels is always equal to the number of output channels.

  • Range: 1 to 32
  • Data Type: uint32_t
  • Default: 1
Number of bands Enter number of bands per channel.

  • Range: 1 to 16
  • Data Type: uint32_t
  • Default: 1
Display Name Display the name of the ToneControlExtended audio object in signal flow design. It can be changed based on the intended usage of the object.

Mode

There are no mode available for ToneControlExtended audio object .

Additional Parameters

Parameters Description
Biquad Topology It supports one additional configuration of Biquad topology which can be selected among the available topologies.

  • 0 = DF I
  • 1 = DF II
  • 2 = DF II Transpose

By default, it is configured for DFI.

Block Control

It supports additional configuration of Block Control which can be enabled or disabled by selecting between Block Control Disabled and Block Control Enabled.

0 = Block Control Disabled

1 = Block Control Enabled

If it is enabled, Frequency, Quality and Gain control signals of each band are grouped into one control pin and need to be set as a tuple. This means that the AO setting those needs to make sure all the three values are available.

By default, it is configured for Block Control Disabled.

Tuning Parameters

For each filter in the tone control, this object exposes these five tuning parameters to the GTT.

There are no control output and three control inputs per filter element. Using control inputs user can change cut off frequency, Gain and Quality factor.

Parameter Description Tunable or Controllable Unit Range Default
Frequency

Filtering frequency to be applied

Tuning

Control

Control/Tunable Hz 10 Hz – 20 kHz 20 Hz
Gain

Filter gain

Tuning

Control

Control/Tunable dB -30 to + 50 dB 0 dB
Quality

Quality of the filtering coefficients

Tuning

Control

Control/Tunable  None 0.1 – 10 0.71
Type Filter type Tuneable  None
  • Bypass
  • Allpass order 1
  • Allpass order 2
  • Highpass order 1
  • Highpass order 2
  • Lowpass order 1
  • Lowpass order 2
  • Highshelv order 1
  • Highshelv order 2
  • Lowshelv order 1
  • Lowshelv order 2
  • Peaking (EQ)
  • Bandpass
  • Bandstop
  • Amplifier
  • Reson
AllPass
RampTime Ramp time for filter coefficient to adapt to new coefficient Tunable msec 0 to 500 msec 10.0 msec

Control Parameters

There are no control parameters available for ToneControlExtended audio object .

 

Yes No
Last updated on November 7, 2023

8.3.1.Tone Control Extended Panel

The ToneControlExtended panel is to tune ToneControlExtended audio object. The state variables of ToneControlExtended audio object can be updated using this panel.

A screenshot of a computer Description automatically generated with medium confidence

Tone Control Extended Chart

This chart represents the influence of all bands on the frequency and phase response. The left axis shows the amplitude in dB, the right axis shows the phase in degrees and the X-axis shows the gain.

The number of Bands are defined with the Signal Flow Designer. The Bands get dynamically managed inside the GTT. Most of the Bands are represented by appropriate markers.

A picture containing screenshot, line, plot Description automatically generated

Markers

Markers are movable. Moving them allows you to amend the current Band parameters. Each marker corresponds to one or two Band parameters. For example, the equalizer shown below has three markers.

A picture containing screenshot, text, circle, font Description automatically generated

Band Settings

On the Band settings window, you can perform the following operations.

A screenshot of a computer Description automatically generated with low confidence

Change the Frequency, Gain, and Quality

Frequency: It is used to set the center frequency of each filter.

Gain: It is used to set the center frequency gain of each band of the filter. Not all filter types offer a variable gain.

Quality: It is used to set the width of each band pass or notch type band of the filter. Not all filter types offer a variable quality factor.

  • Using the increase and decrease buttons you can change the value.
    Or
  • Select the tuner and use mouse scroll to adjust the value.

All available filters are added, and default selection is set as All Pass 2 at panel startup.

Change Band type

The Band Filter menu shows a list of all Bands that are set up in the amplifier for the current channel. You can change the Biquad type or remove the Band by setting it to Bypass (at the top of the list).

A screenshot of a computer Description automatically generated with medium confidence

Band Chart Type

A screen shot of a graph Description automatically generated with medium confidence

Amplitude phase: It is used to turn on and off appropriate charts.

Phase Unwrapped: It displays absolute values.

  • If the phase is wrapped, the display is limited to ± 180 °.
  • If the phase exceeds 180 ° or -180 ° it is continued on the other side of the vertical scale.

Used Biquads: This informs you about the available Biquads. The first number is the number of Biquads that have not been bypassed. The second number is the number of available Biquads.

Sample rate: It shows the sample rate at which the filters are operated.

Band Curve Legend

A screenshot of a computer Description automatically generated with medium confidence

Click on Curve Legend to display all the associated legends. By default, all the curve legends are enabled on the graph. Uncheck the curve to hide it from the graph.

  • Panel preset is used to store the tuning parameter.
  • Ramp time is used to set the ramp characteristic of the object.

In Tone Control Extended Panel, there is no channel selector since the band values are the same across all the channels.

Get LUT data

When a Tone Control Extended is connected to the LUT objects, the Tone Control Extended Panel displays the graph for the LUT data.

These graphs are just for visualization, you cannot alter the graph values from the panel.

  1. Connect the LUT objects to Control pins of Tone Control Extended objects.
    A screenshot of a computer Description automatically generated
  2. Open LUT panel and set row, column name and values.
    A screenshot of a computer Description automatically generated A screenshot of a computer Description automatically generated A screenshot of a computer Description automatically generated
  3. Open Tone Control Extended panel and click Get LUT data. This will plot the graph for the LUT data.A screen shot of a graph Description automatically generated with medium confidence

If any one pin is not connected to LUT in a particular band, then corresponding tuning value will be used to plot curve.

Curve Legend

  • This is a movable control and can be expanded or collapsed. It can be moved anywhere within the panel.
  • It has the following information: Filter Name, Band Number, Row Name, Frequency, Gain, Quality value.
    • Ex: Equalizer 1 Frequency1 500 Gain 4 Quality 1
  • Check box can be used to show/hide the specific curve
  • When corresponding row name is not available we will mark with “—“. This means the data comes from Tuning data “Clear LUT data” will switch back to the previous mode.

“Get LUT data” is supported only when it is directly connected to the LUT object.

Yes No
Last updated on December 15, 2023

8.4.XoverBiquad

The XoverBiquad audio object computes crossover bi-quadratic filter coefficients and calculates the output of the input audio buffers processed through the filters that users specify.

Use Case: This object can be deployed whenever a user needs a crossover filter with specified parameters.

XoverBiquad Properties

Below table describes about the XoverBiquad audio object properties and functionality.

Properties Description
# of Channels Enter number of channels. The object has a configurable number of channels as well as the number of filters. The number of audio inputs is always equal to the number of audio outputs.

  • Range: 1 to 64
  • By default, the number of channels is set to 1.

In SFD, users can set the number of channels (the number of input and output channels is the same) as well as the number of filters. Users can also select the object corresponding to the required mode.

Number of biquads The number of elements generally describes the number of filters requested by the user.

  • Range: 1 to 100
  • By default, the value is set to 1.
Display Name Display the name of the XoverBiquad audio object in signal flow design. It can be changed based on the intended usage of the object.

Mode

There are no mode available for XoverBiquad audio object.

Additional Parameters

Parameter Description
Biquad Topology This audio object has an additional variable that allows you to pick the topology of the object at design time.

  • Direct Form I (DFI)
  • Direct Form II (DFII)
  • Transposed Direct Form II (TDFII)

By default, the object uses DFII.

Tuning Parameters

Parameter Description Tunable or Controllable Range Default
Frequency Filtering frequency to be applied Tunable 10 Hz – 20 kHz 1000 Hz
Type Filter type Tunable The memory layout is exposed in GTT as (per filter).

  • Bypass
  • High pass 1
  • High pass Butterworth 2
  • High pass Bessel 2
  • High pass Linkwitz Riley 2
  • High pass Butterworth 3
  • High pass Bessel 3
  • High pass Butterworth 4
  • High pass Bessel 4
  • Low pass Linkwitz-Riley 4
  • Low pass 1
  • Low pass Butterworth 2
  • Low pass Bessel 2
  • Low pass Linkwitz Riley 2
  • Low pass Butterworth 3
  • Low pass Bessel 3
  • Low pass Butterworth 4
  • Low pass Bessel 4
  • Low pass Linkwitz-Riley 4
BYP_XOVER
Bypass Bypass enable or disable Tunable 0 – 1 0

Control Parameters

There are no control parameters available for XoverBiquad audio object.

Yes No
Last updated on November 7, 2023

8.4.1.Xover Biquad Panel

The XoverBiquad panel is to tune XoverBiquad audio object. The audio object computes crossover bi-quadratic filter coefficients in the Xover Biquad panel, which also computes the output of the input audio buffers processed through the filters that users specify for each channel.

Channel List

On the Xover Biquad panel, you have the option to choose a channel for the current core from a list located at the top left.

The current channel is marked with a green square and its number is displayed in the header of the channel list.

Xover Biquad Chart

This chart represents the influence of all Biquads on the frequency and phase response. The left axis shows the amplitude in dB, and the right axis shows the phase in degrees and the X- axis shows the gain.

The number of Biquads are defined with the Signal Flow Designer. The Biquads get dynamically managed inside the GTT. Most of the Biquads are represented by appropriate markers.

Markers

Markers are movable. Moving them allows you to modify frequency parameter.

Biquad Settings

A screenshot of a computer Description automatically generated with medium confidence

Enabling Bypass

  • Click on the  Bypass button to enable or disable Bypass.
  • In bypassed state, the button is red colored and green colored when biquad is in non-bypassed state.

Biquad is in a bypassed state by default.

Even the higher order filter in Xover biquad only uses one biquad, so the number of bands assigned to the object will be equal to the number of biquads in the panel. Therefore, when the panel launches, it contains all of the biquads.

Change the Frequency, Gain, and Quality

Frequency: It is used to set the center frequency of each filter.

Gain: Gain is set to zero dB for all the filter types.

Quality: It is used to set the width of each band pass or notch type band of the filter. It is set to 0.58 for Bessel type filters, 0.50 for the LinkwitzRelay type filters and 0.71 for other types of filters.

  • Using the increment and decrement buttons you can change the value.
    Or
  • Select the tuner and use mouse scroll to adjust the value

Change Biquad type

The Biquad Filter Menu shows a list of all Biquads that are set up in the amplifier for the current channel. You can change the Biquad type in the combo box.

You cannot add new filters to the Xover Panel. All available filters are added and bypassed at panel startup.

Xover Biquad supports Higher order filters, hence there is no necessity to merge nor split of biquads.

Biquad Chart Type

A screenshot of a graph Description automatically generated with medium confidence

Amplitude phase: It is used to turn on and off appropriate charts.

Phase Unwrapped: It displays absolute values.

  • If the phase is wrapped, the display is limited to ± 180 °.
  • If the phase exceeds 180 ° or -180 ° it is continued on the other side of the vertical scale.

Used Biquads: This informs you about the available Biquads. The first number is the number of Biquads that have not been bypassed. The second number is the number of available Biquads.

Sample rate: It shows the sample rate at which the filters are operated.

This panel is supported from audio library version 13.0.0.2016 (M-release) onwards. After loading the library import the project again to launch the Xover panel.

Biquad Curve Legend

A screenshot of a computer program Description automatically generated with low confidence

Click on Curve Legend to display all the associated legends. By default, all the curve legends are enabled on the graph. Uncheck the curve to hide it from the graph.

Export & Import

Biquad parameters can be exported by clicking the export button as csv in the below format.

A picture containing text, screenshot, clock, font Description automatically generated

The biquad parameters can be exported in the following format by clicking the export button as a CSV file.

A screenshot of a computer Description automatically generated with low confidence

The exported file can be imported back to the panel using the import button.

Yes No
Last updated on June 13, 2023

8.5.FastConv

This FastConv (Fast Convolution) audio object implements an N-channel point to point FIR filter with a constant number of taps for all channels. This filter is optimal for higher order filters (> 1000).

Coefficients are provided through GTT custom panel from pre-stored coefficient files in .csv format.

  • Coefficients can be different for each channel, but with same tap length.
  • Coefficients represent the impulse response of the filter in time domain.

Without loaded coefficients, the filter functions as an all-pass filter passing the input signal as it is.

The FastConv audio object supports in-place computation based on the core type.

Use Case: The computational effort of a simple FIR filter in time domain increases linearly with the number of taps used.
For complex wideband filtering, example low frequency filtering using room impulse responses – the number of used taps might easily reach few hundreds or thousands. As this number of FIR taps in time domain cannot be realized with reasonable computational effort, it makes sense to do convolution by multiplication in frequency domain – using the FFT.
The trade-off for using fast convolution depends on the used platform and might be in the area of 32-64 taps.
As this filter supports multiple channels – it can be used to adjust the sound to certain acoustics in a multichannel environment. The impulse response, i.e. the time domain coefficients can be different for each channel.

FastConv Properties

Below table describes about the FastConv audio object properties and functionality.

Properties Description
# of Channels The object has a configurable number of channels. The number of audio inputs is always equal to the number of audio outputs.

  • Range: 1 to 255
  • By default, the number of channels is set to 1.
Number of taps The object has a configurable number of taps.

  • Range: 1 to 16384
  • By default, the number of channels is set to 1.
Display Name Display the name of the FastConv audio object in signal flow design. It can be changed based on the intended usage of the object.

Mode

There are no mode available for FastConv audio object.

Additional Parameters

There are no additional parameters available for FastConv audio object..

Tuning Parameters

In the current init setup, the tuning filter coefficients consist of all pass or bypass. In the real-world setup, these will be replaced with actual filter coefficients calculated for the preferred vehicle environment.

There are two sets of tuneable parameters –

  • Mode: Mode is a single variable
  • Coefficients: the number of coefficients depends on the tap-length value configured in GTT

Let Nc denote the number of coefficients (taps), Ni number of channels. All filter coefficients are stored using floating point format. The number of coefficients is rounded up to an integer power of 2, which allows for effective FFT radix-2 or radix-4 implementation. The filter coefficients are denoted by hi[k] where “I” is the filter’s index ranging from 0 to Ni−1 and “k” is the coefficient index (k = 0…Nc−1).

Sub-block ID Name Description Offset Type Unit Range Default
0 mode [0] Mode for filter 0 0 UInt32 None 0,1,2 0
0 Coefficients for filter 0 4 float None -1.0f; +1.0f 1.0f
0 Coefficients for filter 0 8 float None -1.0f; +1.0f 0.0f
0 Coefficients for filter 0 float None -1.0f; +1.0f 0.0f
0 Coefficients for filter 0 + 4 float None -1.0f; +1.0f 0.0f
1 mode [1] Mode for filter 1 + 4 UInt32 None 0,1,2 0
1 Coefficients for filter 1 + 8 float None -1.0f; +1.0f 1.0f
1 Coefficients for filter 1 + 8 float None -1.0f; +1.0f 0.0f
1 Coefficients for filter 1 float None -1.0f; +1.0f 0.0f
1 Coefficients for filter 1 + 12 float None -1.0f; +1.0f 0.0f
Ni-1 mode [Ni-1] Mode for filter Ni-1 + UInt32 None 0,1,2 0
Ni-1 Coefficients for filter + float None -1.0f; +1.0f 1.0f
Ni-1 Coefficients for filter float None -1.0f; +1.0f 0.0f
Ni-1 Coefficients for filter float None -1.0f; +1.0f 0.0f
Ni-1 Coefficients for filter + float None -1.0f; +1.0f 0.0f

The pre-computed FIR filter time domain coefficients need to be stored in a file in .csv format.

GTT has the provision to import the coefficients from the file for the selected channel and pass them to the device. During tuning phase, these time domain filter coefficients are converted to frequency spectrum coefficients for multiplication with the spectrum of the input.

The generalized offset information of the two tuneable parameters can be found below table.

FastConv Tuneable Parameters

Sub-block ID Name Description Offset Type Unit Range Default
i mode[i] Mode for filter i UInt32 0,1,2 0
i Coefficient k=0 for filter i float -1.0f; +1.0f 1.0f
i Coefficient k>0 for filter i float -1.0f; +1.0f 0.0f

FastConv operational mode (Normal / Bypass / Mute) can be controlled (as tuning parameters) from GTT panel. The description of each mode is given in the table below.

FastConv Mode Details

Mode Value Mode Tag Description
0 NORMAL Filter operation under use
1 BYPASS Input buffer copied to output buffer
2 OFF Output buffer set to zero

Control Parameters

There are no control parameters available for FastConv audio object.

Yes No
Last updated on December 15, 2023

8.5.1.Fast Conv Panel

Fast Conv filter native panel allows you to configure the Mode of each enabled filter and to load coefficients as well. In order to see the graphs, you need to import coefficients. Use ‘Import’ or ‘Import All’ option  to import coefficients.
To open the native panel, double-click on the Fast Conv filter audio object in the signal flow designer.

Amplitude/Phase: When the coefficients are given and “Amplitude/Phase” option is selected, the graph display the value.

Coefficients:  When the coefficients are given and the “Coefficients” option is selected, the graph displays the values as per below figure. You can change the graph style using the “Chart Style” option.

Line chart style: when “Chart Style” selected as Line, the Coefficients graph.
Dot chart style: when “Chart Style” selected as Dot, the Coefficients graph.

Group Delay: When the coefficients are given and “Group Delay” option is selected, the graph display the values.

Curves Legend: This option allows you to show the details of which graph tab (Amplitude/Phase, Coefficients, Group Delay) is selected.

On the selection of Amplitude/Phase graph tab Curves Legend will show below information. A screenshot of a computer Description automatically generated
On the selection of Coefficients graph tab and Chart Styles ‘Dots’, Curves Legend will show below information. A screenshot of a computer Description automatically generated
On the selection of Coefficients graph tab and Chart Styles ‘Line’, Curves Legend will show information. A screenshot of a graph Description automatically generated
On the selection of Group Delay graph tab, Curves Legend will show information. A screenshot of a computer program Description automatically generated

Additional Functionalities

  • Flat: This is used to make the graph flat by making coefficients to 0.
  • Import: This function is used to import the coefficients for a single active filter. Click the “Import” button, then enter the file path and click Ok.
    All coefficients for the selected filter will be imported, as shown in the graph. If the number of coefficients does not match the number of taps as shown in the screenshot below, a warning pop up will appear. Click ‘Yes’ to import available coefficients or click ‘No’ to cancel the import.
  • Export: This option is used to export coefficients for selected active filter into csv file.
  • Export All: This option is used to export all active filters in one go. Click the “Export All” button, then enter the path and file name, then click Ok. A xml file will be created which will have coefficients for each active filter. 
  • Import All: This option is used to import all coefficients in one go. Click the “Import All” button, then enter the XML file path and click Ok. All the given coefficients will be imported and can be seen in the graph. 
  • Read:  This is used to read from the target to display in the panel.
  • Send: This is used to send the values changed in panel to target.
Yes No
Last updated on December 15, 2023

8.6.DC Blocker

The DC Blocker audio object is a simple first-order recursive highpass filter set to a very low corner frequency, such that DC offset is removed from the input.

Use Case: This object can be deployed wherever a DC blocking filter is needed.

DC Blocker Properties

Below table describes about the DC Blocker audio object properties and functionality.

Properties Description
# of Channels The number of channels is configurable in GTT

  • Range: 1 to 255
  • Default: 1
Display Name Display the name of the DC Blocker audio object in signal flow design. It can be changed based on the intended usage of the object.

Mode

There are no mode available for DC Blocker audio object.

Additional Parameters

There are no additional parameters available for DC Blocker audio object.

Tuning Parameters

Parameter Description Unit Format Range Default
Corner Frequency Filter corner frequency. Attenuates frequencies below the corner frequency. Frequencies above corner frequency are not attenuated. Hz Float 0.0 f to 20.0 f 5.0 f

Control Parameters

There are no control parameters available for DC Blocker audio object.

Yes No
Last updated on November 7, 2023

8.6.1.DC Blocker Panel

The DC blocker panel is used to change the corner frequency of filter for all channels.

This is a beta version of the panel and works only for a 1 channel use case in M release. Higher number of channels will be available in future releases.

Image

To change DC Blocker frequency

You can change the channel frequency by three ways:

  • Using slider button: Select the slider to adjust the value.
  • Using mouse scroll: Click on the respective column and use mouse scroll to adjust the value.
  • Using text box: Enter the desired value into the text box located below the slider. The changes will be applied either by pressing the “Enter” key or by shifting the focus away from the text box.
Yes No
Last updated on June 16, 2023

8.7.FIR Filter

The FIR Filter audio object implements a mechanism for time domain FIR filtering. FIR filters are more stable than IIR filters and can be designed to have linear phase response. However, they require a filter of higher order for similar response as an IIR and hence computationally intensive.

The filter operational mode can be controlled from GTT. The FIR filter coefficients can be provided through GTT custom panel from pre-stored coefficient files in .csv format.

Use Case: FIR filters are mostly used in applications that require linear phase. They are inherently more stable than IIR filters. However, FIR filters are generally computationally intensive. The applications include:

  • Correction of frequency response errors in a loudspeaker.
  • Phase correction in communication lines.
  • Parametric and crossover filters implemented with FIRs can be implemented with or without phase shift.

FIR Filter Properties

Below table describes about the FIR Filter audio object properties and functionality.

A screenshot of a computer Description automatically generated

Properties Description
# of Channels The FIR Filter audio object has a number of input channels that is double the number of output audio channels.

  • Range: 1 to 255
  • Default: 2
Number of taps for filter Specify the number of elements which is the order of filter.

  • Range: 2 to 1024
  • Default: 2
Display Name Display the name of the FIR Filter audio object in signal flow design. It can be changed based on the intended usage of the object.

Mode

Mode Description
Normal The FIR Audio Object shall perform the normal filter operation individually for each channel with the set of coefficients provided for each channel. The filter type can vary for each channel but the number of coefficients of all channels need to be the same.
Bypass The FIR Audio Object shall copy the input signal to the output buffer bypassing the filter operations. Each channel can be selectively bypassed.
Off The FIR Audio Object clears the output buffers.

Additional Parameters

There are no additional parameters available for FIR Filter audio object.

Tuning Parameters

There are two sets of tunable parameters – mode and coefficients.

  • Mode is a single variable.
  • The number of coefficients depends on the tap-length value configured in GTT.

Let Nc denote the number of coefficients (taps), Ni number of channels. All filter coefficients are stored using floating point format. The filter coefficients are denoted by hi[k] where “i” is the filter’s index ranging from 0 to Ni−1 and “k” is the coefficient index (k = 0…Nc−1).

The generalized offset information of the two tunable parameters can be found below table.

 FIR Tunable Parameters Offset

Name Description Offset Type Unit Range
mode[i] Mode for filter i UInt32
  • 0 – Normal
  • 1 – Bypass
  • 2 – Off
Coefficient k for filter i float -1.0f; +1.0f

FIR Tuneable Parameters Default Values

Name Description Default Values
Mode Operational Mode 0 – Normal
FIR Coefficients FIR Coefficient Array input [1.0f, 0.0f, 0.0f, ……… 0.0f] – All pass

Control Parameters

There are no control parameters available for FIR Filter audio object.

Yes No
Last updated on December 8, 2023

8.7.1.FIR Filter Panel

FIR Filter native panel allows you to configure the Mode of each enabled filter and to load coefficients as well. In order to see the graphs, you need to import coefficients. Use ‘Import’ or ‘Import All’ option  to import coefficients.

To open the native panel, double-click on the FIR Filter audio object in the signal flow designer.

Amplitude/Phase: When the coefficients are given and “Amplitude/Phase” option is selected, the graph display the value.

Coefficients:  When the coefficients are given and the “Coefficients” option is selected, the graph displays the values as per below figure. You can change the graph style using the “Chart Style” option.

Line chart style: when “Chart Style” selected as Line, the Coefficients graph. A screen shot of a computer Description automatically generated
Dot chart style: when “Chart Style” selected as Dot, the Coefficients graph. A screenshot of a computer Description automatically generated

Group Delay: When the coefficients are given and “Group Delay” option is selected, the graph display the values.

Curves Legend: This option allows you to show the details of which graph tab (Amplitude/Phase, Coefficients, Group Delay) is selected.

On the selection of Amplitude/Phase graph tab Curves Legend will show below information. A screenshot of a computer Description automatically generated
On the selection of Coefficients graph tab and Chart Styles ‘Dots’, Curves Legend will show below information. A screenshot of a computer Description automatically generated
On the selection of Coefficients graph tab and Chart Styles ‘Line’, Curves Legend will show information. A screenshot of a graph Description automatically generated
On the selection of Group Delay graph tab, Curves Legend will show information. A screenshot of a computer program Description automatically generated

Additional Functionalities

  • Flat : This is used to make the graph flat by making coefficients to 0.
  • Import : This function is used to import the coefficients for a single active filter. Click on the “Import” button, then enter the file path and click Ok.
    All coefficients for the selected filter will be imported, as shown in the graph. If the number of coefficients does not match the number of taps, a warning pop up will appear. Click ‘Yes’ to import available coefficients or click ‘No’ to cancel the import.
  • Export : This option is used to export coefficients for selected active filter into csv file.
  • Export All : This option is used to export all active filters in one go. Click on the “Export All” button, enter the path and file name, then click Ok. A xml file will be created which have coefficients for each active filter. 
  • Import All: This option is used to import all coefficients in one go. Click on the “Import All” button, enter the XML file path and then click Ok. All the given coefficients will be imported and can be seen in the graph. 
  • Read:  This is used to read from the target to display in the panel.
  • Send : This is used to send the values changed in panel to target.
Yes No
Last updated on December 7, 2023

8.8.FIR MIMO

The FIR MIMO audio object is a group of FIR filter banks associated with each input and output. They produce the preferred output signal to the speakers inside a vehicle, based on the input signals and the vehicle’s interior design.

Use case: FIR MIMO can be used for clever impulse and frequency optimization or applications such as individual sound zones.

FIR MIMO Properties

Below table describes about the FIRMIMO audio object properties and functionality.

A screenshot of a computer

Properties Description
# of Audio In Enter the input value.

  • Range: 1 to 20
  • The default value is set to 4.
# of Audio Out Enter the output value.

  • Range: 1 to 64
  • The default value is set to 4.
Number of taps for Hi filters The number of filter coefficients (taps) for the high-rate path is configured using the m_NumElements. All channels in the high-rate path use the same number of taps.

  • Range: 384 to 4096
  • The default value is set to 384.
Display Name Display name of the FIRMIMO audio object in signal flow design. It can be changed based on the intended usage of the object.

Mode

The FIR MIMO audio object supports two modes of operation.

  • Dual Rate mode
  • ISZ mode

A screenshot of a computer Description automatically generated

Mode Description
Dual Rate mode In the GTT interface, you can select the number of filter taps and filter combinations. The default (and minimum) number of taps for the high-rate filters is set to 384.
ISZ mode

In the ISZ mode, the object acts as a single rate (high rate) FIR MIMO object for accomplishing ISZ (Individual Sound Zones). For ISZ, the low rate path of FIR MIMO block is disabled, and the high rate path delay is fixed to zero.

In addition, all the filter combinations are active by default for ISZ mode. You do not need to individually configure the additional configuration matrix to set the filter in each combination. Even though the m_AdditionalConfig parameters do not indicate that all the filters are active, the active filters can be viewed when we open the tuning panel for this object.

The filter tap length should is fixed to 4096 only. This size must be fixed by you each time you switch to ISZ mode. This will be changed in future; where filter taps will be directly fixed by GTT when ISZ mode is selected.  The max delay for hi rate filters will also be set to 0 only.

These filters are designed using a highly specialized tuning algorithm, known as MFxLMS (Multiple Filtered Input Signal Least Mean square). Several constraints such as pre-ringing and post-ringing, frequency and phase constraints are applied to allow the CTC filter networks to be realizable with FIR taps to provide the desired response.

There are two stages in the ISZ algorithm:

  • Design: At design time, the transfer function between each individual speaker and a microphone array placed at the listener’s head (i.e. for each zone) is measured. These transfer functions are used to feed the MFxLMS algorithm, which runs and simulates audio throughput until an optimal solution is found to generate the desired zone isolation.
  • Playback: The resulting FIR coefficients calculated by the MFxLMS process are then applied to the playback algorithm, which is the MIMO system formed by high rate path of FIR MIMO. All speakers are always contributing to each path; i.e. every speaker is used at all times to achieve the ISZ effect regardless of which zones are bright or dark.

Additional Parameters

Below table describes about the FIR MIMO audio object properties and functionality.

Parameter Description
Max delay for high-rate filters Length of delay line for high-rate path.

  • Range: 0 to 2048
  • Default: 0
  • Data Type: uint32_t
A screenshot of a computer Description automatically generated
Taps for low-rate filters Number of taps for low-rate filters. All channels in the low-rate path use the same number of taps which can be different from high rate.

  • Range: 512 to 1024
  • Default: 512
  • Data Type: uint32_t
A screenshot of a computer Description automatically generated
Coefficient format Filter coefficient data format.

  • Range: 0 to 2
    • 0: 32-bit floating point coefficients
    • 1: IEEE 16-bit floating point coefficients
    • 2: 16-bit fixed point coefficients (Q15 format). 
  • Default: 0
  • Data Type: uint8_t

Note: When 16-bit fixed point format(Q15 format) is selected the filter coefficients should be in range of -1.0 to 1.0

A screenshot of a computer Description automatically generated
Downsampling factor Downsampling factor for low rate filters

  • Range: 0 to 1
    • 0: Downsampling factor 4
    • 1: Downsampling factor 16
  • Default: 1
  • Data Type: uint8_t
Conf matrix high Configuration matrix for high-rate filters.

  • Dimension 1: Input of size 20 or number of input channels in SFD whichever is less.
  • Dimension 2: Output of size 64 or number of output channels in SFD whichever is less.

Value:

  • Range: 0 to 1
    • 0: FIR not present
    • 1: FIR present
  • Default: 0
  • Data Type: uint8_t
A screenshot of a calculator Description automatically generated
Conf matrix low Configuration matrix for low-rate filters.

  • Dimension 1: Input of size 20 or number of input channels in SFD whichever is less.
  • Dimension 2: Output of size 64 or number of output channels in SFD whichever is less.

Value:

  • Range: 0 to 1
    • 0: FIR not present
    • 1: FIR present
  • Default: 0
  • Data Type: uint8_t
A screenshot of a computer Description automatically generated

Tuning Parameters

For each filter combination in FIR MIMO, this object exposes these two tuning parameters to the GTT:

Parameter Description
Mode The parameter is of the category “State” and therefore, the configurations done for Filter modes will be transferred to device only after device is connected. The mode of each filter can be set to:

  • Active
  • Bypass
  • Off
Coefficients Filter coefficients can be imported from .csv files. The filter taps set in the GTT must match the taps of the filter being imported from the .csv file.

Control Parameters

There are no control parameters available for FIR MIMO audio object.

Yes No
Last updated on March 27, 2024

8.8.1.FIR MIMO Panel

FIR MIMO native panel allows you to configure the Mode of each enabled filter and to load coefficients as well. All the diagonal filters are active as these diagonal values are configured through additional parameters. In order to see the graphs, you need to import coefficients. Use ‘Import’ or ‘Import All’ option to import coefficients.
To open the native panel, double-click on the FIR MIMO audio object in the signal flow designer.

When the device is connected the filter states will not be in sync with the device until the states are received or the native panel is opened. Once the native panel is opened after a successful connection, the filter states will be transferred to the device.
Provide number of Taps to 384 and from additional parameters set all diagonal cell to 1 for Conf matrix high/ low as per below image.

A screenshot of a computer Description automatically generated

Amplitude/Phase: When the coefficients are given and “Amplitude/Phase” option is selected, the graph display the value as per below figure.

A screen shot of a graph Description automatically generated

Coefficients: When the coefficients are given and “Coefficients” option is selected, the graph display the values as per below figure. You can change the graph style using “Chart Style” option.

Line chart style: When “Chart Style” selected as Line, the Coefficients graph as per  image. A screen shot of a computer Description automatically generated

Dot chart style: When “Chart Style” selected as Dot, the Coefficients graph as per below image.

 

Group Delay: When the coefficients are given and “Group Delay” option is selected, the graph display the values as per below figure.

A screen shot of a computer Description automatically generated

Curves Legend: This option allows you to show the details of which graph tab (Amplitude/Phase, Coefficients, Group Delay) is selected.

On the selection of Amplitude/Phase graph tab Curves Legend will show below information.

 

A screenshot of a computer Description automatically generated

On the selection of Coefficients graph tab and Chart Styles ‘Dots’, Curves Legend will show below information.

 

A screenshot of a computer Description automatically generated

On the selection of Coefficients graph tab and Chart Styles ‘Line’, Curves Legend will show below information.

 

A screenshot of a graph Description automatically generated

n the selection of Group Delay graph tab, Curves Legend will show below information.

 

A screenshot of a computer program Description automatically generated

Additional Functionalities

  • Flat: This is used to make the graph flat by making coefficients to 0.

Before you use “Flat” functionality.

A screen shot of a graph Description automatically generated

After you click on the “Flat” button, the graph will change as per below image.

A screenshot of a computer Description automatically generated

  • Import : This function is used to import the coefficients for a single active filter. Click on the “Import” button, enter the file path and then click Ok. All coefficients for the selected filter will be imported, as shown in the graph. If the number of coefficients does not match the number of taps as shown in the screenshot below, a warning pop up will appear. Click ‘Yes’ to import available coefficients or click ‘No’ to cancel the import.
    A screenshot of a computer Description automatically generated
  • Export : This option is used to export coefficients for selected active filter into csv file.
    A table with numbers and numbers Description automatically generated
  • Export All : This option is used to export all active filters in one go. Click on the “Export All” button, enter the path and file name, then click Ok. A xml file will be created which have coefficients for each active filter. Below figure shows the example of the configuration of the active filters in the xml file. You can use “Import All’ button to import back the exported file.A number lines on a white background Description automatically generated
  • Import All : This option is used to import all coefficients in one go. Click on the “Import All” button, enter the XML file path and then click Ok. All the given coefficients will be imported and can be seen in the graph. If there is a mismatch between xml file In and Out matrix with FIRMIMO panel In and Out matrix then error will be displayed and import will fail. In below image filter (Out 1 In1) is not active and try to import this as well so error is prompted.
    A screenshot of a computer Description automatically generated
  • Read:  This is used to read from the target to display in the panel.
  • Send: This is used to send the values changed in panel to target.

Above mentioned functionality is similar for LowRate tab as well.

Memory allocation for optimized MCPS on SHARC Platform

The FIRMIMO audio object has memory records for FFT of input and output signals and scratch memory record used for Ping Pong Buffers for data and coefficients (SHARC platform) and temporary buffers for upsampler/downsampler. The MCPS performance depends on allocation of these buffers to lower memory latency levels.

  • For FIRMIMO memory latency is pre-allocated in code for certain memory records in SHARC platform.
  • For memory record for FFT of input buffers (memory record label: Input Signal FFT), Level1 is assigned.
  • For memory record for FFT of output buffers (memory record label: Output Signal FFT), Level2 is assigned.

Level 1 latency is assigned to Ping Pong Buffers for Data (memory record label: Data PingPong Buffer) and Scratch Memory Record.

A screenshot of a computer Description automatically generated

Yes No
Last updated on December 15, 2023

8.9.FIRA MIMO

FIRA MIMO audio object is a group of FIR filter banks associated with each input and output. FIRA stands for “fir accelerator” and it indicates that the underlying implementation uses a hardware accelerator. MIMO stands for “multi-input multi output” indicating that each output is the summation of one or more FIR filtered inputs.

FIRA MIMO can be used for various applications like individual sound zones etc.

Use Case: This audio object can be deployed whenever the audio requires the dual rate MIMO FIR filters taking into consideration the data pipeline delay and other limitations.
More than one instance of FIRAMIMO also can be run in the same core .

This AO supports in-place computation based on the core type.

FIRA MIMO Properties

Below table describes about the FIRAMIMO audio object properties and functionality.

A screenshot of a computer Description automatically generated

Properties Description
# of Audio In Enter the input value.

  • Range: 1 to 20
  • The default value is set to 4.
# of Audio Out Enter the output value.

  • Range: 1 to 64
  • The default value is set to 4.
Number of taps for Hi filters The number of filter coefficients (taps) for the high-rate path is configured using the m_NumElements. All channels in the high-rate path use the same number of taps.

  • Range: 384 to 4096
  • The default value is set to 384.
Display Name Display name of the FIRAMIMO  audio object in signal flow design. It can be changed based on the intended usage of the object.

Mode

There are no modes available for FIRA MIMO.

Additional Parameters

Below table describes the FIRA MIMO additional parameters.

A screenshot of a computer program Description automatically generated

Parameter Description
Max delay for high-rate filters Length of delay line for high-rate path.

  • Range: 0 to 2048
  • Default: 0
  • Data Type: uint32_t
A screenshot of a computer Description automatically generated
Taps for low-rate filters Number of taps for low-rate filters. All channels in the low-rate path use the same number of taps which can be different from high rate.

  • Range: 512 to 2048
  • Default: 512
  • Data Type: uint32_t
A screenshot of a computer Description automatically generated
Coefficient format Filter coefficient data format.

  • Range: 0 to 2
    • 0: 32-bit floating point coefficients
    • 1: IEEE 16-bit floating point coefficients
    • 2: 16-bit fixed point coefficients
  • Default: 0
  • Data Type: uint8_t
A screenshot of a computer Description automatically generated
Down sampling Factor Down sampling factor.

  • Range: 0 to 1
    • 0: Down sampling factor of 4
    • 1: Down sampling factor of 16
  • Default: 1
  • Data Type: uint8_t

 

A screenshot of a computer Description automatically generated
Conf matrix high Configuration matrix for high-rate filters.

  • Dimension 1: Input of size 20 or number of input channels in SFD whichever is less.
  • Dimension 2: Output of size 64 or number of output channels in SFD whichever is less.

Value:

  • Range: 0 to 1
    • 0: FIR not present
    • 1: FIR present
  • Default: 0
  • Data Type: uint8_t
A screenshot of a calculator Description automatically generated
Conf matrix low Configuration matrix for low-rate filters.

  • Dimension 1: Input of size 20 or number of input channels in SFD whichever is less.
  • Dimension 2: Output of size 64 or number of output channels in SFD whichever is less.

Value:

  • Range: 0 to 1
    • 0: FIR not present
    • 1: FIR present
  • Default: 0
  • Data Type: uint8_t
A screenshot of a computer Description automatically generated
Max Processing Size

When 2 or more filters are enabled on an input channel, FIRAMIMO combines them and submits as one job to the accelerator. Max Processing Size is used as the max limit when combining.

For example, when there are 6 filters enabled on an input channel and Max Processing Size is set to 4, FIRAMIMO submits the first job for 4 filters and second job with 2 filters.

  • Range: 2 to 8
  • Default: 4
  • Data Type: uint8_t
A screenshot of a computer Description automatically generated
Enable Cycles Measurement Enable/Disable realtime accelerator mcps (million cycles per second). When enabled, Average and Max mcps are available to be read as tuning parameters in sate variable explorer.

  • Range: 0 to 1
    • 0: Disable
    • 1: Enable
  • Default: 0
  • Data Type: uint8_t
A screenshot of a graph Description automatically generated
Accelerator Configuration Select which among the available FIR hardware accelerator to use for the FIR processing.

  • 0: Accelerator 1 (Default)
  • 1: Accelerator 2
  • 2: Both Accelerators

Range: 0 to 2

Default: 0

Data Type: uint8_t

On ADSP-21593, when this configuration is set to Accelerator 1, only the first accelerator will be used, when set to Accelerator 2, only the second accelerator will be used, and when set to Both Accelerators, both available FIR accelerators will be used with almost equal number of filters processed by both accelerators.

When both hardware accelerators are used:

  • The average and maxixmum mcps of both the accelerators shall be individually readable from the SV explorer by enabling the “enable cycles measurement” additional configuration, 
  • Additional memory records corresponding to the second accelerators input, output and filter coefficient buffers will be created with their labels containing the prefix “(Acc 2)”. This is detailed in the section “Memory Allocation Considerations for SHARC ADSP-21593 Platform in Dual Accelerator Mode”.

On DSPs with only a single accelerator such as the ADSP-21569 (GUL), selection of accelerator configuration will be available, however, all filtering jobs will be processed by the only available FIR accelerator.

 

Tuning Parameters

For each filter combination in FIRA MIMO, this object exposes these two tuning parameters to the GT.

Mode Description
Mode The mode of each filter can be set to:

  • Normal
  • Bypass
  • Off

This parameter is of the category “State” and therefore, the configurations done for Filter modes will be transferred to the device only after the device is connected.

Coefficients Filter coefficients can be imported from .csv files. The filter taps set in the GTT must match the taps of the filter being imported from the .csv file.

Control Parameters

There are no control parameters available for FIRA MIMO.

Memory Allocation Considerations for SHARC ADSP-21593 Platform in Dual Accelerator Mode

When using the FIRAMIMO object on a SHARC ADSP-21593 in dual accelerator mode, careful memory record placement consideration is required to maximize the number of FIR filters that can be processed. The hardware FIR accelerators in the DSP perform operations in parallel with the cores, causing memory access bottleneck due to the increase in the number of parallel memory accesses to the external memory (DDR3). This can be attributed to the page management overheads incurred by the Dynamic Memory Controller (DMC) as described in the EE-412 document, which adversely impacts the FIR accelerator performance, limiting the total number of FIR filters that can be processed by the AO. In order to mitigate the issue and improve the processing capacity of the accelerators, it is recommended that the input, output and filter coefficient buffers accessed by each accelerator are placed in dedicated DDR3 memory banks.

To enable placement of the buffers in separate banks, when the “Accelerator Configuration” additional configuration parameter is set to 2 (Both Accelerators), a new set of additional memory records with the prefix “(Acc 2)” are created to accommodate the second FIR accelerator’s input, output and coefficient buffers. The following figure shows the Memory Latency window in GTT highlighting the newly created memory records:

In this configuration, following are the memory records accessed by the accelerators:

Hardware FIR Accelerator 1 Hardware FIR Accelerator 2 Description
1 Input Memory (Acc 2) Input Memory High rate input buffers
2 Lowrate Input Memory (Acc 2) Lowrate Input Memory Low rate input buffers
3 Parameter Memory (Acc 2) Parameter Memory Filter coefficient buffers
4 Downsampling Intermediate Memory (Acc 2) Downsampling Intermediate Memory Downsampling filter output buffers
5 Upsampling 1 Input Memory (Acc 2) Upsampling 1 Input Memory Stage 1 upsampling filter input buffers
6 Upsampling 2 Input Memory (Acc 2) Upsampling 2 Input Memory Stage 2 upsampling filter input buffers
7 Intermediate Temp Memory (Acc 2) Intermediate Temp Memory Temporary memory for coefficient format conversion

As per the recommendation, notice in the above figure that the memory records accessed by accelerator 1 are all placed in Level 7 memory latency, and the memory records accessed by accelerator 2 are all placed in Level 8 memory latency. It is expected that the platform maps these memory latency levels to un-cached memory regions that are in separate DDR3 memory banks in order to fully realize the separation of buffers.

At 512 sample block length, with 2k-tap high rate filters, following are the improvements observed in the total number of filters that can be processed by the FIRAMIMO AO in single vs dual accelerator modes:

  • All accelerator buffers placed in Level 5 latency: 20% (32 filters to 40 filters).
  • Accelerator 1 buffers in Level 7 and accelerator 2 buffers in Level 8, mapped to separate DD3 banks: ~90% (32 filters to 60 filters).

It is important to note that the separation of the memory records for the hardware FIR accelerators, however, increases the core MIPS consumption by about 30-60% in both single and dual accelerator modes due to additional buffer movement and summation operations done by the core to reduce the memory access overheads.

 

Note:

FIRAMIMO gives clear output in GUL, IVP but is distorted on HDP+ platform when ‘Input memory’ and ‘Upsampling1 input memory’ records are kept in Level4 or Level5, due to cache flush issue on HDP+ platform. The workaround is to keep these two memory records in Level1 to Level3.

 

Yes No
Last updated on June 25, 2024

8.9.1.FIRA MIMO Panel

FIRA MIMO native panel allows you to configure the Mode of each enabled filter and to load coefficients as well. All the diagonal filters are active as this diagonal values are configured through additional parameters. In order to see the graphs, you need to import coefficients. Use ‘Import’ or ‘Import All’ option  to import coefficients.
To open the native panel, double-click on the FIRMIMO audio object in the signal flow designer.

A screenshot of a computer Description automatically generated

When the device is connected the filter states will not be in sync with the device until the states are received or the native panel is opened. Once the native panel is opened after a successful connection, the filter states will be transferred to the device.
Provide number of Taps to 384 and from additional parameters set all diagonal cell to 1 for Conf matrix high/ low as per below image.

A screenshot of a computer Description automatically generated

Amplitude/Phase: When the coefficients are given and “Amplitude/Phase” option is selected, the graph display the value as per below figure.

A screen shot of a graph Description automatically generated

Coefficients:  When the coefficients are given and the “Coefficients” option is selected, the graph displays the values as per below figure. You can change the graph style using the “Chart Style” option.

  • Line chart style: when “Chart Style” selected as Line, the Coefficients graph as per below image.
    A screen shot of a computer Description automatically generated
  • Dot chart style: when “Chart Style” selected as Dot, the Coefficients graph as per below image.
    A screenshot of a computer Description automatically generated

Group Delay: When the coefficients are given and “Group Delay” option is selected, the graph display the values as per below figure.

A screen shot of a computer Description automatically generated

Curves Legend: This option allows you to show the details of which graph tab (Amplitude/Phase, Coefficients, Group Delay) is selected.

  • On the selection of Amplitude/Phase graph tab Curves Legend will show below information.
    A screenshot of a computer Description automatically generated
  • On the selection of Coefficients graph tab and Chart Styles ‘Dots’, Curves Legend will show below information.
    A screenshot of a computer Description automatically generated
  • On the selection of Coefficients graph tab and Chart Styles ‘Line’, Curves Legend will show below information.
    A screenshot of a graph Description automatically generated
  • On the selection of Group Delay graph tab, Curves Legend will show the information below.
    A screenshot of a computer program Description automatically generated

Additional Functionalities

  • Flat : This is used to make the graph flat by making coefficients to 0.

Before you use “Flat” functionality.

A screen shot of a graph Description automatically generated

After you click on the “Flat” button, the graph will change as per below image.

A screenshot of a computer Description automatically generated

  • Import : This function is used to import the coefficients for a single active filter. Click on the “Import” button, enter the file path and then click Ok.
    All coefficients for the selected filter will be imported, as shown in the graph. If the number of coefficients does not match the number of taps as shown in the screenshot below, a warning pop up will appear. Click ‘Yes’ to import available coefficients or click ‘No’ to cancel the import.
    A screenshot of a computer Description automatically generated
  • Export : This option is used to export coefficients for selected active filter into csv file.
    A table with numbers and numbers Description automatically generated
  • Export All : This option is used to export all active filters in one go. Click on the “Export All” button, then enter the path and file name, then click Ok.
    A xml file will be created which have coefficients for each active filter. Below figure shows the example of the configuration of the active filters in the xml file. You can use Import All’ button to import back the exported file.A number lines on a white background Description automatically generated
  • Import All: This option is used to import all coefficients in one go. Click on the “Import All” button, enter the XML file path and then click Ok.
    All the given coefficients will be imported and can be seen in the graph. If there is a mismatch between xml file In and Out matrix with FIRMIMO panel In and Out matrix then error will be displayed, and import will fail. In below image filter (Out 1 In1) is not active and try to import this as well so error is prompted.
    A screenshot of a computer Description automatically generated
  • Read:  This is used to read from the target to display in the panel.
  • Send : This is used to send the values changed in panel to target.

Above mentioned functionality is similar to LowRate tab as well.

Yes No
Last updated on June 7, 2024

9.Surround Objects

Yes No
Last updated on November 27, 2023

9.1.CFQLS/CFQLI

The CFQLI (Clarifi and Quantum Logic Immersion) is combination of two different audio objects for purpose of optimization.

  • Clari-Fi (CF) is an algorithm that receives a stereo audio stream, analyses the content for fidelity losses related to destructive or perceptual coding, then adds an approximation of these losses back to the original signal.
  • Quantum Logic Immersion (QLI) is an up-mixing algorithm that converts the stereo or multichannel (5.1 or 7.1) input signals and up mixes it to 8 or 13 output channels (7.1 surround and 5 height channels).

CFQLI  (Clarifi and Quantum Logic Immersion) also know as CFQLS (Clarifi and Quantum Logic Surround).

Use Case: The CFQLS object can used in following ways.

  • CFQLS object can be used as standalone CF, standalone QLi or a combined CFQLS object.
  • CF needs to process raw audio signal. Hence, it must be placed before any equalization (volume, compressor etc) in the signal flow. CF works only for stereo inputs and generates a stereo output. When both CF and QLS are to be used, the stereo output of CF is used as a stereo input of QLI.

CFQLS/CFQLI Properties

Below table describes about object properties and functionality of CFQLS/CFQLI audio object.

In the default mode, CFQLS object has no control inputs. It has 2 inputs and 13 output channels. The number of input and output channels for CFQLS can be controlled at design time by selecting the appropriate object mode.

Properties Description
Display Name Display the name of the CFQLS audio object in signal flow design. It can be changed based on the intended usage of the object.
Object Mode CFQLS supports following audio objects

  • 2.0_to_7.1.5
  • 5.1_to_7.1.5
  • 7.1_to_7.1.5
  • 2.0_to_7.1
  • 5.1_to_7.1
  • 7.1_to_7.1

Mode

There are total six mode in CFQLS object.

Name Description
2.0_to_7.1.5 Supports stereo input and generates 7.1 output plus 5 height channels.
5.1_to_7.1.5 Supports stereo and 5.1 input and generates 7.1 output plus 5 height channels.
7.1_to_7.1.5 Supports stereo, 5.1 and 7.1 input and generates 7.1 output plus 5 height channels.
2.0_to_7.1 Supports stereo input and generates 7.1 output.
5.1_to_7.1 Supports stereo and 5.1 input and generates 7.1 output.
7.1_to_7.1 Supports stereo, 5.1 and 7.1 input and generates 7.1 output.

The input channel modes:

  • Stereo
  • Multichannel_5_1
  • Multichannel_7_1
  • Stereo_Ctrl
  • Multichannel_5_1_Ctrl
  • Multichannel_7_1_Ctrl

The QLS/QLI creates a 7.0.5 surround upmix from a stereo (or dual mono), 5.1, or 7.1 input audio signal using signal extraction and reverb extraction techniques.

The input channel order is:

  1. Left Front
  2. Right Front
  3. Center
  4. LFE
  5. Left Surround/Rear
  6. Right Surround/Rear
  7. Left Side
  8. Right Side
The output channel order is:

  1. Left Front
  2. Right Front
  3. Center
  4. LFE (not used — for future use)
  5. Left Side
  6. Right Side
  7. Left Rear
  8. Right Rear
  9. Left Height (only for QLI)
  10. Right Height (only for QLI)
  11. Center Height (only for QLI)
  12. Left Rear Height (only for QLI)
  13. Right Rear Height (only for QLI)

Cross gains to x (front, center, side) are not applied on the dedicated multi-channel inputs (from input multi-channel signal), but only on the extracted channels as the result of the “Front signal extraction” feature, which needs to be enabled in the GUI. Currently, the original signals with cross gains are only applied to the front left and front right.

Memory allocation for optimized MCPS on GUL.

CFQLS algorithm uses FFT algorithm. There are six buffers used by FFT.  For FFT to work these buffers must be allocated in internal memory. There are also memory alignment requirements.
Please refer below table for memory records and alignment.

Memory record Label Alignment in bytes
FFT real Input signal critical for MCPS

4096 for Block size = 512

2048 for Block size = 256

FFT imaginary input signal critical for MCPS

4096 for Block size = 512

2048 for Block size = 256

FFT temporary buffer1-critical for MCPS 8
FFT temporary buffer2-critical for MCPS 8
FFT Twiddle real part critical for MCPS 8
FFT Twiddle imaginary part critical for MCPS 8

For better MCPS performance allocate these buffers to lower memory latency levels. MCPS can be further improved if these buffers are placed in different block of lower memory latency.

In xAF design:

  • Level1 latency is mapped to L1 memory Block 0
  • Level2 latency is mapped to L1 memory Block 1
  • Level3 latency is mapped to L1 memory Block 2

Below is example of memory allocation for improved MCPS performance.

Additional Parameters

Parameter Description Unit Range Default
Max Reverb Delay The selected value sets the upper limit for the reverb delay tuning parameters. The value is used to enable a further reduction of the required memory as the size of reverb delays are influencing the required data memory. Values below 10ms are possible for maximum optimization but may lead to reduced audio performance ms 0 – 50 50
Max Lookahead Delay The selected value sets the upper limit for super user’ lookahead delay tuning parameter. The value is used to enable a further reduction of the required memory as the size of early reflections delays are influencing the required data memory. Values below 10ms are possible for maximum optimization but may lead to reduced audio performance ms 0 – 75 75
Max Early Reflections Delay The selected value sets the upper limit for the early reflections delay tuning parameters. The value is used to enable a further reduction of the required memory as the size of early reflections delays are influencing the required data memory. ms 0 – 2 2
Enable/Disable swoosh This configuration parameter enables or disables swoosh effect.

  • 1 – swoosh enabled
  • 0 – swoosh disabled

Disabling swoosh can further reduce required memory and has a large impact on CPU load, especially peak load when switching between settings

0 – 1 1
Enable/Disable control inputs Control inputs can optionally be enabled during design time.

  • Minimum is 0 (control inputs disabled)
  • Maximum is 1 (control inputs enabled)

Slightly more memory is required when control inputs are enabled

0 – 1 0

Tuning Parameters

CFQLS/CFQLI can be tuned by a comprehensive GTT tuning panel. Since the CFQLS object consists of two major algorithms, the tuning parameter list contains tuning parameters for QLS and CF algorithms.

Below table describe supported tuning parameters.

No Name Description Range Default Values
0 Mode
(Deprecated)
Allows the end-user to switch QLS between three modes of operation (QLS presets). OnStage, Audience, OFF 0
1 Multi Stereo Allows switching between stereo input and multi-channel input. Stereo, Multi Stereo
2 Bypass QLS algorithm is bypassed. With the stereo input signal, bypass will produce stereo at the outputs. ON/OFF OFF
3 Master level Controls the level of all output channels. 0 – 1 1
4 Wrap Amount Selects the amount by which signal extraction components are wrapped around the listener. 1 – 2 1.25
5 Global Verb Gain control the level of the extracted reverb components when they are added to the output channels. 0 – 2 0.90
6 Reverb Gain Front level of the reverb components mixed with front output channels. 0 – 1 0.75
7 Reverb Gain Side level of the reverb components mixed with side output channels. 0 – 1 0.95
8 Reverb Gain Rear level of the reverb components mixed with rear output channels. 0 – 1 0.75
9 Reverb Gain Front Heights level of the reverb components mixed with front high output channels. 0 -1 0.60
10 Reverb Gain Rear Heights level of the reverb components mixed with rear high output channels. 0 – 0.70
11 Reverb Delay Front individual control to adjust the delay of the extracted front reverb components. 0 – 50 ms; max depends on configuration parameter 3.4 ms
12 Reverb Delay Side individual control to adjust the delay of the extracted side reverb components. 0 – 50 ms; max depends on configuration parameter 7.9 ms
13 Reverb Delay Rear individual control to adjust the delay of the extracted rear reverb components. 0-50ms; max depends on configuration parameter 16 ms
14 Reverb Delay Front Heights individual control to adjust the delay of the extracted front high reverb components. 0-50ms; max depends on configuration parameter 6 ms
15 Reverb Delay Rear Heights individual control to adjust the delay of the extracted rear high reverb components 0-50ms; max depends on configuration parameter 7.5ms
16 Reverb Gain Center Height level of the reverb components mixed with center high output channels 0 – 1 0.4
17 Reverb Delay Center Height individual control to adjust the delay of the extracted center high reverb components 0-50ms; max depends on configuration parameter 0s
18 Front To Front control the gains of the front signal extraction streams routed to front output channels 0 – 1 1
19 Front To Center control the gains of the front signal extraction streams routed to center output channels 0 – 1 0
20 Front To Side control the gains of the front signal extraction streams routed to side output channels 0 – 1 0
21 Front To Rear control the gains of the front signal extraction streams routed to rear output channels 0 – 1 0
22 Center To Front control the gains of the center signal extraction streams routed to front output channels 0 – 1 0
23 Center To Center control the gains of the center signal extraction streams routed to center output channels 0 – 1 0.8
24 Center To Side control the gains of the center signal extraction streams routed to side output channels 0 – 1 0
25 Center To Rear control the gains of the center signal extraction streams routed to rear output channels 0 – 1 0
26 Side To Front control the gains of the side signal extraction streams routed to front output channels 0 – 1 0
27 Side To Center control the gains of the side signal extraction streams routed to center output channels 0 – 1 0
28 Side To Side control the gains of the side signal extraction streams routed to side output channels 0 – 1 1
29 Side To Rear control the gains of the side signal extraction streams routed to rear output channels 0 – 1 0
30 Rear To Front control the gains of the rear signal extraction streams routed to front output channels 0 – 1 0
31 Rear To Center control the gains of the rear signal extraction streams routed to center output channels 0 – 1 0
32 Rear To Side control the gains of the rear signal extraction streams routed to side output channels 0 – 1 0
33 Rear To Rear control the gains of the rear signal extraction streams routed to rear output channels 0 – 1 1
34 Side SE Filter adjusts the width of the spatial filter for the side channels 3 – 30 10
35 Diffusion selects the amount of diffusion applied to extracted reverb signals 0 – 1 0.65
36 Genre Detect determines the probability that the Input signal is speech based ON/OFF OFF
37 Core Bypass bypass the QLS algorithm 1 (qls is bypassed) – 0 (qls is not bypassed) OFF
38 Center SE Filter Width adjusts the width of the spatial filter for the enter channel 1 – 100 10
39 Front SE determines whether extracted signals (ON) or discrete inputs (OFF) are used for front channels (Left, Right, Center) of Xgain matrix when multichannel input mode is active 0 (Signal extraction OFF) – 1 (Signal extraction ON) OFF
40 Mask Level determines the amount of Spatial Masking 0 – 1 0.2
41 Mask enables Spatial Masking

0 – OFF

1 – ON

OFF
42 Verb LF controls the level of the low-frequency content of the extracted Reverb signals 1-12 (below 6 is a LF cut, above 6 is a LF boost) 2
43 Verb HF controls the level of high frequency content of the extracted Reverb signals 0.01-0.1 0.05
44 Mono C2F determines the level of the Center channel stream that is sent to the Front channels 0-1 0
45 Mono C2S determines the level of the Center channel stream that is sent to the Side output channels 0-1 0
46 Mono C2R determines the level of the Center channel stream that is sent to the rear output channels 0-1 0
47 Mono Detect On determines whether the Mono detection algorithm is On or Off 0 (mono detection OFF) – 1 (mono detection ON) 0
48 M2S Rate determines the rate at which the Mono Detection algorithm transitions from the mono to stereo state 0.9 – 0.9999 0.9
49 S2M Rate determines the rate at which the Mono Detection algorithm transitions from the stereo to Mono state 0.9 – 0.9999 0.9
50 C2C Boost Adjusts the level of the Center to Center leakage when the Mono Detection algorithm is in Mono state -1 – 1 0
51 C2F Boost Adjusts the level of the Center to Front leakage when the Mono Detection algorithm is in Mono state -1 – 1 0
52 C2S Boost Adjusts the level of the Center to Side leakage when the Mono Detection algorithm is in Mono state -1 – 1 0
53 Dry Limit control the amount of reverb in the output channels 0-1 0
54 Discreteness adjusts the level of broad band signal rejection in the presence of a non-broadband signal 0-1 0.1
55 Sin SE On determines whether the Signal Extraction algorithm is On or Off for the Side Output channels when multichannel Input QLS is used 0 (Signal extraction OFF) – 1 (Signal extraction ON) OFF
56 Global Xgain control global mix of spatial slice streams into output channel groups 0 – 1 1
57 Center Focus Determines the amount of extracted signal to be mixed into the Center output 0 – 1 1
58 Side Focus Determines the amount of Side signal for multi-channel input 0 – 1 1
59 Power Sum Determines the way in which the extracted signal components are summed up to form the spatial slice. 0 – 1 1
60 LFE Gain

Controls gain of low frequency content

(Ignored when using 2 channel input)

0 – 1 1
61 5 or 7 When param 1 is set to multi, this allows 5.1 or 7.1 input selection 5.1, 7.1 5.1
62 Bass Routing Xover Freq determines cross over frequency of the low pass filter that is used to extract the low pass signals in the bass management module of the QLS system 0 – 400 Hz 250 Hz
63 Bass Routing Gain controls the gain of the low frequency signals which are added back to the output streams in the bass routing module of QLS 0 – 2 1
64 Party Bass When on, bass is distributed equally to all outputs except height channels. ON/OFF ON
65 Mono Rvb Gain determines whether the Reverb stream from the Reverb Extraction block will be extracted given a mono input source, a mono speech input source or stereo source only

0 – No Extract

1 – Extract

2 – Vox Extract

No Extract
66 Speech to Rvb Floor threshold above the estimated noise floor (in dB) where speech is handled 3-30 dB 12
67 Speech to Rvb Sens determines how long mono music needs to be active/present when transitioning from mono speech before it is handled as mono music 10 – 200 60
68 Lookahead Dly in msec adds delay to the output of QLS but is before the reverb gain 0 – 75 msec; max depends on configuration parameter 0
69 SpeechScore Read-only (not implemented) speech probability 0 – 1 0
70 MonoProb Read-only (not implemented) mono probability 0 – 1 0
71 LToLH_Gain level of the left input channel mixed with left high channel 0 – 1 0
72 LToLH_Dly adjust the delay of the left input component mixed with left high channel 0-2ms; max depends on configuration parameter 0
73 RToLH_Gain level of the right input channel mixed with left high channel 0 – 1 0
74 RToLH_Dly adjust the delay of the right input component mixed with left high channel 0-2 ms; max depends on configuration parameter 0
75 CToLH_Gain level of the center input channel mixed with left high channel 0 – 1 0
76 CToLH_Dly adjust the delay of the center input component mixed with left high channel 0-2 ms; max depends on configuration parameter 0
77 LSToLH_Gain level of the left side input channel mixed with left high channel 0 – 1 0
78 LSToLH_Dly adjust the delay of the left side input component mixed with left high channel 0 – 2 ms; max depends on configuration parameter 0
79 RSToLH_Gain level of the right side input channel mixed with left high channel 0 – 1 0
80 RSToLH_Dly adjust the delay of the right side input component mixed with left high channel 0 – 2 ms; max depends on configuration parameter 0
81 LRToLH_Gain level of the left rear input channel mixed with left high channel 0 – 1 0
82 LRToLH_Dly adjust the delay of the left rear input component mixed with left high channel 0 – 2 ms; max depends on configuration parameter 0
83 RRToLH_Gain level of the right rear input channel mixed with left high channel 0 – 1 0
84 RRToLH_Dly adjust the delay of the right rear input component mixed with left high channel 0 – 2 ms; max depends on configuration parameter 0
85 LToRH_Gain level of the left input channel mixed with right high channel 0 – 1 0
86 LToRH_Dly adjust the delay of the left input component mixed with right high channel 0 – 2 ms; max depends on configuration parameter 0
87 RToRH_Gain level of the right input channel mixed with right high channel 0 – 1 0
88 RToRH_Dly adjust the delay of the right input component mixed with right high channel 0 – 2 ms; max depends on configuration parameter 0
89 CToRH_Gain level of the center input channel mixed with right high channel 0 – 1 0
90 CToRH_Dly adjust the delay of the center input component mixed with right high channel 0 – 2 ms; max depends on configuration parameter 0
91 LSToRH_Gain level of the left side input channel mixed with right high channel 0 – 1 0
92 LSToRH_Dly adjust the delay of the left side input component mixed with right high channel 0 – 2 ms; max depends on configuration parameter 0
93 RSToRH_Gain level of the right side input channel mixed with right high channel 0 – 1 0
94 RSToRH_Dly adjust the delay of the right side input component mixed with right high channel 0 – 2 ms; max depends on configuration parameter 0
95 LRToRH_Gain level of the left rear input channel mixed with right high channel 0 – 1 0
96 LRToRH_Dly adjust the delay of the left rear input component mixed with right high channel 0 – 2 ms; max depends on configuration parameter 0
97 RRToRH_Gain level of the right rear input channel mixed with right high channel 0 – 1 0
98 RRToRH_Dly adjust the delay of the right rear input component mixed with right high channel 0 – 2 ms; max depends on configuration parameter 0
99 LToCH_Gain level of the left input channel mixed with center high channel 0 – 1 0
100 LToCH_Dly adjust the delay of the left input component mixed with center high channel 0 – 2 ms; max depends on configuration parameter 0
101 RToCH_Gain level of the right input channel mixed with center high channel 0 – 1 0
102 RToCH_Dly adjust the delay of the right input component mixed with center high channel 0 – 2 ms; max depends on configuration parameter 0
103 CToCH Gain level of the center input channel mixed with center high channel 0 – 1 0
104 CToCH Dly adjust the delay of the center input component mixed with center high channel 0 – 2 ms; max depends on configuration parameter 0
105 LSToCH Gain level of the left side input channel mixed with center high channel 0 – 1 0
106 LSToCH Dly adjust the delay of the left side input component mixed with center high channel 0-2 ms; max depends on configuration parameter 0
107 RSToCH Gain level of the right side input channel mixed with center high channel 0 – 1 0
108 RSToCH Dly adjust the delay of the right side input component mixed with center high channel 0 – 2 ms; max depends on configuration parameter 0
109 LRToCH Gain level of the left rear input channel mixed with center high channel 0 – 1 0
110 LRToCH Dly adjust the delay of the left rear input component mixed with center high channel 0 – 2 ms; max depends on configuration parameter 0
111 RRToCH Gain level of the right rear input channel mixed with center high channel 0 – 1 0
112 RRToCH Dly adjust the delay of the right rear input component mixed with center high channel 0 – 2 ms; max depends on configuration parameter 0
113 LToLRH Gain level of the left front input channel mixed with left rear high channel 0 – 1 0
114 LToLRH Dly adjust the delay of the left input component mixed with left rear high channel 0 – 2 ms; max depends on configuration parameter 0
115 RToLRH Gain level of the right front input channel mixed with left rear high channel 0 – 1 0
116 RToLRH Dly adjust the delay of the right input component mixed with left rear channel 0 – 2 ms; max depends on configuration parameter 0
117 CToLRH Gain level of the left center input channel mixed with left rear high channel 0 – 1 0
118 CToLRH Dly adjust the delay of the center input component mixed with left rear high channel 0 – 2 ms; max depends on configuration parameter 0
119 LSToLRH Gain level of the left side input channel mixed with left rear high channel 0 – 1 0
120 LSToLRH Dly adjust the delay of the left side input component mixed with left rear high channel 0 – 2 ms; max depends on configuration parameter 0
121 RSToLRH Gain level of the right side input channel mixed with left rear high channel 0 – 1 0
122 RSToLRH Dly adjust the delay of the right side input component mixed with left rear high channel 0 – 2 ms; max depends on configuration parameter 0
123 LRToLRH Gain level of the left rear input channel mixed with left rear high channel 0 – 1 0
124 LRToLRH Dly adjust the delay of the left rear input component mixed with left rear high channel 0 – 2 ms; max depends on configuration parameter 0
125 RRToLRH Gain level of the right rear input channel mixed with left rear high channel 0 – 1 0
126 RRToLRH Dly adjust the delay of the right rear input component mixed with left rear high channel 0 – 2 ms; max depends on configuration parameter 0
127 LToRRH Gain level of the left front input channel mixed with right rear high channel 0 – 1 0
128 LToRRH Dly adjust the delay of the left input component mixed with right rear high channel 0 – 2 ms; max depends on configuration parameter 0
129 RToRRH Gain level of the right front input channel mixed with right rear high channel 0 – 1 0
130 RToRRH Dly adjust the delay of the right input component mixed with right rear high channel 0 – 2 ms; max depends on configuration parameter 0
131 CToRRH Gain level of the center input channel mixed with right rear high channel 0 – 1 0
132 CToRRH Dly adjust the delay of the center input component mixed with right rear high channel 0 – 2 ms; max depends on configuration parameter 0
133 LSToRRH Gain level of the left side input channel mixed with right rear high channel 0 – 1 0
134 LSToRRH Dly adjust the delay of the left side input component mixed with right rear high channel 0 – 2 ms; max depends on configuration parameter 0
135 RSToRRH Gain level of the right side input channel mixed with right rear high channel 0 – 1 0
136 RSToRRH Dly adjust the delay of the right side input component mixed with right rear high channel 0 – 2 ms; max depends on configuration parameter 0
137 LRToRRH Gain level of the left rear input channel mixed with right rear high channel 0 – 1 0
138 LRToRRH Dly adjust the delay of the left rear input component mixed with right rear high channel 0 – 2 ms; max depends on configuration parameter 0
139 RRToRRH Gain level of the right rear input channel mixed with right rear high channel 0 – 1 0
140 RRToRRH Dly adjust the delay of the right rear input component mixed with right rear high channel 0 – 2 ms; max depends on configuration parameter 0
141 Front height Filter0 db adjust the gain for front height filter -20 to 0 db 0 db
142 Front height Filter0 freq Adjust the frequency for front height filter 1000 – 20000 Hz 4000 Hz
143 Center height Filter0 db adjust the gain for center height filter -20 to 0 db 0 db
144 Center height Filter0 freq Adjust the frequency for center height filter 1000 – 20000 Hz 4000 Hz
145 Rear height Filter0 db adjust the gain for rear height filter -20 to 0 db 0 db
146 Rear height Filter0 freq Adjust the frequency for rear height filter 1000 – 20000 Hz 4000 Hz
CLARIFI- PARAMETERS
147 Mono Sens Used to turn on or off the mono signal sensing capability 0.1 – 20 1
148 Source bit Rate Overall level of treatment being applied to the input. 0 – 1 1
149 Vocal Air Isolates the lead instruments or vocals in signal and sharpens the frequency response, applied at bitrate 100% 0 – 4 0.8
150 Vocal Air0 Value of vocal air when bitrate is 0% 0 – 4 0
151 Vocal Air50 Value of vocal air when bitrate is at midpt % 0 – 4 0.4
152 Vocal Air_K Knee point control to set the value of bitrate at which Mid is applied 0 – 0.999 0.5
153 Vocal Air Limit Controls the low frequency limit in Hz of the VocalAir parameter 100 – 4000 350Hz
154 ASW Decorrelates or spreads the soundfield outward by adding crosstalk signals, preserving the center portion of the stage. This compensates for the overcorrelation of the stereo field typically applied by lossy codecs., applied at bitrate 100% 0 – 4 0.6
155 ASW0 Value of ASW when bitrate is 0% 0 – 4 0
156 Direct Signal Gain Controls the level of direct raw signal being added to the CF treated signal 0 – 1 1
157 Octave Full BW Ext Gain Adds high frequency bandwidth extension to compressed signal to compensate for the brickwall filter roll off due to compression codecs. 0 – 2 0.650
158 Octave Full BW Ext Gain0 Value of BWE gain when bitrate is 0 %. 0 – 2 0
159 Octave Full BW Ext Gain50 Value of BWE gain when bitrate is midpt%. 0 – 2 0.325
160 Octave Full BW Ext Gain_K Knee point control to set the value of bitrate at which Mid is applied 0 – 0.999 0.5
161 Hard Pan Boost Gain Controls the amount of boost given to extreme hard-panned signals to compensate for spatial smearing and collapse toward the center; bitrate 100 %. 0 – 4 0.8
162 Hard Pan Boost Gain0 Hard pan boost min, applied at bitrate 0 %. 0 – 4 0
163 Verb Fill Gain Restores the dropouts in reverberation by isolating reverb in lossy signal and adding natural reverb tail; operates at bitrate 100 %. 0 – 1 1
164 Verb Fill Gain0 Restores the dropouts in reverberation by isolating reverb in lossy signal and adding natural reverb tail; operates at bitrate 0 %. 0 – 1 0
165 Drum Fill Gain Controls the gain of the enhancement which sharpens the attack and decay of transient signals such as percussion and restores their original peaky quality. This control sets the overall effect of the TransBoost and BassOverallBoost controls. 0 – 1 0.676
166 Drum Fill Gain0 Value of drum fill gain when bitrate is 0 %. 0 – 1 0
167 Drum Fill Gain50 Value of drum fill gain when bitrate is midpt %. 0 – 1 0.338
168 Drum Fill Gain_K Knee point control to set the value of bitrate at which Mid is applied. 0 – 0.999 0.5
169 Mask Spread Restores the missing spectral components by filling holes in the frequency domain. 0 – 1 0.880
170 Mask Spread0 Value of mask spread when bitrate is 0 %. 0 – 1 0
171 Mask Spread50 Value of mask spread when bitrate is midpt %. 0 – 1 0.440
172 Mask Spread_K Knee point control to set the value of bitrate at which Mid is applied. 0 – 0.999 0.5
173 Scale Gain Controls the overall output level of CF, this is to allow CF output to be matched to the level in the bypassed state. 0 – 1 0.6
174 SD_Bypass Bypass the signal doctor (CF) processing algorithm. 0&1, 0 –SD is not bypass, 1- SD bypass 1
175 SD_Mode Sets whether CF automatically attempts to identify how lossy or compressed the input file is (Auto-Detect mode) or whether it applies a fixed amount of treatment (Fixed mode).

0, 1

0 = Fixed mode

1= Autodetect mode

1
176 Intensity Functions identically to Bitrate except that it is not regulated internally when Mode is set to Auto-Detect. 0 – 1 1
177 Softness Controls the character or timbre of the high frequencies, allowing harshness to be moderated. 0 – 1 0
178 Softness0 Softness minimum value, at bitrate 0% 0 – 1 0
179 Softness50 Softness value when birate is midpt% 0 – 1 0
180 Softness_K Knee point control to set the value of bitrate at which Mid is applied 0 – 0.999 0.5
181 Trans Boost Controls the amount of transient bass boost, usually governed by the value of Drumfill 0-6 1.50
182 Trans Boost0 Transboost min value, at bitrate 0% 0-6 0
183 Bass Overall Boost Controls the amount of overall bass boost 0-2 1.20
184 Bass Overall Boost0 Overall bass boost for bitrate 0% 0-2 0
185 SD Limiter Controls the soft clip peak limiter in CF 0-1 0
186 Source Type Determine the type of audio input signal source to adjust the CF internal parameters 0-1 0
187 Gap Thresh Sets the threshold for detecting gaps (Mute) in the audio signal to reset treatment to zero and use Auto-Detect to look for signs of compression 0.1-10 2.0
188 SD SNR Sets the ratio of instantaneous detected noise to signal in the high frequency gap of a compressed audio stream such that the auto-detect algorithm will flag the stream as compressed. 0.01-1 0.15
189 Level Diff Sets the height of the brick wall needed to trigger the auto-detect algorithm. If the system is failing to detect compression (true negative), try lowering this value. If it is falsely tagging linear streams as compressed (false positive) try raising this value. 1-30 10
190 Verb BWE Amount higher frequencies added to the reverb during bandwidth extension 0-1 1
191 Verb BWE0 Amount of verb BWE when bitrate is 0% 0-1 0
192 Dirac Enables bandwidth extension treatment, in the form of a Dirac pulse, to be applied to transients, at bitrate 100% 0 – 1.08 1.02
193 Dirac0 Enables bandwidth extension treatment, in the form of a Dirac pulse, to be applied to transients; at bitrate 0% 0 – 1.08 0
194 Force Bin X Sets the operating frequency for normal bandwidth extension treatment when Manual_BinX is set. If Manual_BinX is not set, this parameter has no effect. 4000-19000 Hz 10000 Hz
195 Manual Bin X Overrides the analyzed value of the high cutoff frequency and substitutes the frequency set by Force_BinX in its place. This affects only the VerbBWE and Dirac parameters. 0-1 0
196 SBRR_X When codecs employing SBR such as HE-AAC are detected, there is no applicable cutoff frequency to determine corresponding treatment level. Therefore, this parameter imposes an equivalent treatment based on the same cutoff frequency as its value. 8000 – 20000 Hz 15000 Hz
197 SBR Smoothing Sets the amount of time-averaged smoothing on SBR detection. 0.9-0.9999 0.9970
198 SBR Sens Sets the sensitivity of the auto-detection algorithm to the presence of SBR detected elements. 0.2-2 1
199 BWE Limit Controls the frequency limit to apply bandwidth extension 8000-20000Hz 12000Hz
200 Speech Rx Sets the maximum multiplier to the Bitrate value (regardless of whether Bitrate is being regulated by Auto-Detect mode) when speech is detected. 0-1 1
201 Speech Mode Sets whether speech is always assumed (fixed mode) or detected automatically (auto-detect). 0-1; 0=fixed, 1= Autodetect Autodetect
202 BW Sensitivity Controls the sensitivity of treatment level (Bitrate) versus detected high cutoff frequency of compressed streams when in Auto-Detect mode. Lower values correspond to higher resulting Bitrate values. 0-1 0.2303
203 Decorr Mix Applies decorrelation to the right input channel to a degree set by this parameter, if/when mono probability exceeds the value set by the MonoThreshold parameter. If MonoThreshold is set to 0, then Widening will always be applied. 0-1 0.77
204 Decorr Mix0 Value of decorr mix when bitrate is 0% 0-1 0
205 Mono Threshold Sets the threshold of probability that the input is mono above which Widening is applied. 0-1 0

Control Parameters

CFQLS has 21 control inputs when the control mode is selected in GTT. The order of Control inputs for CFQLS.

Channel Description Range
1 Front to Front Crossgain (Xgain_F2F) 0 to 1
2 Front to Center Crossgain (Xgain_F2C) 0 to 1
3 Front to Side Crossgain (Xgain_F2S) 0 to 1
4 Front to Rear Crossgain (Xgain_F2R) 0 to 1
5 Center to Front Crossgain (Xgain_C2F) 0 to 1
6 Center to Center Crossgain (Xgain_C2C) 0 to 1
7 Center to Side Crossgain (Xgain_C2S) 0 to 1
8 Center to Rear Crossgain (Xgain_C2R) 0 to 1
9 Side to Front Crossgain (Xgain_S2F) 0 to 1
10 Side to Center Crossgain (Xgain_S2C) 0 to 1
11 Side to Side Crossgain (Xgain_S2S) 0 to 1
12 Side to Rear Crossgain (Xgain_S2R) 0 to 1
13 Rear to Front Crossgain (Xgain_R2F) 0 to 1
14 Rear to Center Crossgain (Xgain_R2C) 0 to 1
15 Rear to Side Crossgain (Xgain_R2S) 0 to 1
16 Rear to Rear Crossgain (Xgain_R2R) 0 to 1
17 Wrap Control 1 to 2
18 Global Reverb Gain Control 0 to 2
19 Front Reverb Gain 0 to 2
20 Side Reverb Gain 0 to 2
21 Rear Reverb Gain 0 to 2

Yes No
Last updated on March 7, 2024

9.1.1.CFQLS/CFQLI Panel

The CFQLS audio object has native panel. The native panel window has different controls for enabling and disabling various modes and for configuring tuning parameters. Native panel can be opened by double-clicking on the CFQLS object in the SFD.

Yes No
Last updated on March 7, 2024

9.2.QLS/QLI

The QLI (Quantum Logic Immersion) is an up-mixing algorithm that converts the stereo or multichannel (5.1 or 7.1) input signals and up mixes it to 8 or 13 output channels (7.1 surround and 5 height channels) using signal extraction and reverb extraction techniques.

QLI  (Quantum Logic Immersion) also know as QLS (Quantum Logic Surround).

Use Case: QLS object can be used as standalone QLi or in combination with Clarifi technology. CF needs to process raw audio signal. Hence, it must be placed before any equalization (volume, compressor etc) in the signal flow. CF works only for stereo inputs and generates a stereo output. When both CF and QLS are to be used, the stereo output of CF is used as a stereo input of QLI.

QLS/QLI Properties

Below table describes about the QLS/QLI audio object properties and functionality.

In the default mode, QLS object has no control inputs. It has 2 or 6 or 8 inputs and 8 or 13 output channels. The number input and output channels for QLS can be controlled at design time by selecting the appropriate modes of the object.

Properties Description
Display Name Display the name of the QLS audio object in signal flow design. It can be changed based on the intended usage of the object.
Object Mode
  • 2.0_to_7.1.5
  • 5.1_to_7.1.5
  • 7.1_to_7.1.5
  • 2.0_to_7.1
  • 5.1_to_7.1
  • 7.1_to_7.1

Mode

There are total six mode in QLS object.

Name Description
2.0_to_7.1.5 Supports stereo input and generates 7.1 output plus 5 height channels.
5.1_to_7.1.5 Supports stereo and 5.1 input and generates 7.1 output plus 5 height channels.
7.1_to_7.1.5 Supports stereo, 5.1 and 7.1 input and generates 7.1 output plus 5 height channels.
2.0_to_7.1 Supports stereo input, and 21 Control inputs and generates 7.1 output.
5.1_to_7.1 Supports stereo and 5.1 input, and 21 Control inputs and generates 7.1 output.
7.1_to_7.1 Supports stereo, 5.1 and 7.1 input, and 21 Control inputs and generates 7.1 output.

The input channel modes are:

  • Stereo
  • Multichannel_5_1
  • Multichannel_7_1
  • Stereo_Ctrl
  • Multichannel_5_1_Ctrl
  • Multichannel_7_1_Ctrl

The QLI creates a 7.0.5 surround upmix from a stereo (or dual mono), 5.1, or 7.1 input audio signal using signal extraction and reverb extraction techniques.

The input channel order is:

  1. Left Front
  2. Right Front
  3. Center
  4. LFE
  5. Left Surround/Rear
  6. Right Surround/Rear
  7. Left Side
  8. Right Side
The output channel order is:

  1. Left Front
  2. Right Front
  3. Center
  4. LFE (Note: This output is muted when using 2 channel input)
  5. Left Side
  6. Right Side
  7. Left Rear
  8. Right Rear
  9. Left Front Height
  10. Right Front Height
  11. Center height
  12. Left Rear height
  13. Right Rear height

Additional Parameters

Parameter Description Unit Range Default
Max reverb delay upper limit for the reverb delay ms 0 – 50 50
Max lookahead delay upper limit for super user lookahead delay ms 0 – 75 75
Max early reflections delay upper limit for the early reflections ms 2 – 0 2
Enable/Disable swoosh

1 – swoosh enabled

0 – swoosh disabled

1
Enable/Disable Reverb

1 – Reverb enabled

0 – Reverb disabled

1
Enable/Disable control inputs

0 – Control Inputs disabled

1 – Control Inputs enabled

0
  • supported block lengths of 512, 256
  • supported sampling frequency of 48 kHz.
  • this audio object supports a block length of 256 for reduced MEM and MIPS consumption.

Cross gains to x (front, center, side) are not applied on the dedicated multi-channel inputs (from input multi-channel signal), but only on the extracted channels as the result of “Front signal extraction” feature, which needs to be enabled in the GUI. Currently the original signals with cross gains are only applied to front left and front right.

Memory allocation for optimized MCPS on GUL.

QLS algorithm uses FFT algorithm. There are six buffers used by FFT. For FFT to work these buffers must be allocated in internal memory.  There are also memory alignment requirements.
Please refer below table for memory records and alignment.

Memory record Label Alignment in bytes
FFT real Input signal critical for MCPS”

4096 for Block size = 512

2048 for Block size = 256

FFT imaginary input signal critical for MCPS

4096 for Block size = 512

2048 for Block size = 256

FFT temporary buffer1-critical for MCPS 8
FFT temporary buffer2-critical for MCPS 8
FFT Twiddle real part critical for MCPS 8
FFT Twiddle imaginary part critical for MCPS 8

For better MCPS performance allocate these buffers to lower memory latency levels.
MCPS can be further improved if these buffers are placed in different block of lower memory latency.

In xAF design:

  • Level1 latency is mapped to L1 memory Block 0
  • Level2 latency is mapped to L1 memory Block 1
  • Level3 latency is mapped to L1 memory Block 2

Below is example of memory allocation for improved MCPS performance.

A screenshot of a computer Description automatically generated

Tuning Parameters

The following table lists all the tuning parameters for QLS. These parameters can be tuned from GTT.

No Name Description Range Default Values
0

Mode

(Deprecated)

Allows the end-user to switch QLS between three modes of operation (QLS presets) OnStage, Audience, OFF 0
1 Multi Stereo Allows switching between stereo input and multi-channel input Stereo, Multi Stereo
2 Bypass QLS algorithm is bypassed. With the stereo input signal , bypass will produce stereo at the outputs ON/OFF OFF
3 Master level Controls the level of all output channels 0-1 1
4 Wrap Amount Selects the amount by which signal extraction components are wrapped around the listener 1-2 1.25
5 Global Verb Gain control the level of the extracted reverb components when they are added to the output channels 0-2 0.90
6 Reverb Gain Front level of the reverb components mixed with front output channels 0-1 0.75
7 Reverb Gain Side level of the reverb components mixed with side output channels 0-1 0.95
8 Reverb Gain Rear level of the reverb components mixed with rear output channels 0-1 0.75
9 Reverb Gain Front Heights level of the reverb components mixed with front high output channels 0-1 0.60
10 Reverb Gain Rear Heights level of the reverb components mixed with rear high output channels 0-1 0.70
11 Reverb Delay Front individual control to adjust the delay of the extracted front reverb components 0-50ms; max depends on configuration parameter 3.4ms
12 Reverb Delay Side individual control to adjust the delay of the extracted side reverb components 0-50ms; max depends on configuration parameter 7.9ms
13 Reverb Delay Rear individual control to adjust the delay of the extracted rear reverb components 0-50ms; max depends on configuration parameter 16ms
14 Reverb Delay Front Heights individual control to adjust the delay of the extracted front high reverb components 0-50ms; max depends on configuration parameter 6ms
15 Reverb Delay Rear Heights individual control to adjust the delay of the extracted rear high reverb components 0-50ms; max depends on configuration parameter 7.5ms
16 Reverb Gain Center Height level of the reverb components mixed with center high output channels 0-1 0.4
17 Reverb Delay Center Height individual control to adjust the delay of the extracted center high reverb components 0-50ms; max depends on configuration parameter 0s
18 Front To Front control the gains of the front signal extraction streams routed to front output channels 1) 0-1 1
19 Front To Center control the gains of the front signal extraction streams routed to center output channels 1) 0-1 0
20 Front To Side control the gains of the front signal extraction streams routed to side output channels 1) 0-1 0
21 Front To Rear control the gains of the front signal extraction streams routed to rear output channels 1) 0-1 0
22 Center To Front control the gains of the center signal extraction streams routed to front output channels 1) 0-1 0
23 Center To Center control the gains of the center signal extraction streams routed to center output channels 1) 0-1 0.8
24 Center To Side control the gains of the center signal extraction streams routed to side output channels 1) 0-1 0
25 Center To Rear control the gains of the center signal extraction streams routed to rear output channels 1) 0-1 0
26 Side To Front control the gains of the side signal extraction streams routed to front output channels 2) 0-1 0
27 Side To Center control the gains of the side signal extraction streams routed to center output channels 2) 0-1 0
28 Side To Side control the gains of the side signal extraction streams routed to side output channels 2) 0-1 1
29 Side To Rear control the gains of the side signal extraction streams routed to rear output channels 2) 0-1 0
30 Rear To Front control the gains of the rear signal extraction streams routed to front output channels 2) 0-1 0
31 Rear To Center control the gains of the rear signal extraction streams routed to center output channels 2) 0-1 0
32 Rear To Side control the gains of the rear signal extraction streams routed to side output channels 2) 0-1 0
33 Rear To Rear control the gains of the rear signal extraction streams routed to rear output channels 2) 0-1 1
34 Side SE Filter adjusts the width of the spatial filter for the side channels 3-30 10
35 Diffusion selects the amount of diffusion applied to extracted reverb signals 0-1 0.65
36 Genre Detect determines the probability that the Input signal is speech based ON/OFF OFF
37 Core Bypass bypass the QLS algorithm 1 (qls is bypassed) – 0 (qls is not bypassed) OFF
38 Center SE Filter Width adjusts the width of the spatial filter for the center channel 1-100 10
39 Front SE determines wheter extracted signals (ON) or discrete inputs (OFF) are used for front channels (Left, Right, Center) of Xgain matrix when multichannel input mode is active 0 (Signal extraction OFF) – 1 (Signal extraction ON) OFF
40 Mask Level determines the amount of Spatial Masking 0-1 0.2
41 Mask enables Spatial Masking 0-OFF, 1= ON OFF
42 Verb LF controls the level of the low-frequency content of the extracted Reverb signals 1-12 (below 6 is a LF cut, above 6 is a LF boost) 2
43 Verb HF controls the level of high frequency content of the extracted Reverb signals 0.01-0.1 0.05
44 Mono C2F determines the level of the Center channel stream that is sent to the Front channels 0-1 0
45 Mono C2S determines the level of the Center channel stream that is sent to the Side output channels 0-1 0
46 Mono C2R determines the level of the Center channel stream that is sent to the rear output channels 0-1 0
47 Mono Detect On determines whether the Mono detection algorithm is On or Off 0 (mono detection OFF) – 1 (mono detection ON) 0
48 M2S Rate determines the rate at which the Mono Detection algorithm transitions from the mono to stereo state 0.9 – 0.9999 0.9
49 S2M Rate determines the rate at which the Mono Detection algorithm transitions from the stereo to Mono state 0.9 – 0.9999 0.9
50 C2C Boost Adjusts the level of the Center to Center leakage when the Mono Detection algorithm is in Mono state -1 – 1 0
51 C2F Boost Adjusts the level of the Center to Front leakage when the Mono Detection algorithm is in Mono state -1 – 1 0
52 C2S Boost Adjusts the level of the Center to Side leakage when the Mono Detection algorithm is in Mono state -1 – 1 0
53 Dry Limit control the amount of reverb in the output channels 0-1 0
54 Discreteness adjusts the level of broad band signal rejection in the presence of a non-broadband signal 0-1 0.1
55 Sin SE On determines whether the Signal Extraction algorithm is On or Off for the Side Output channels when multichannel Input QLS is used 0 (Signal extraction OFF) – 1 (Signal extraction ON) OFF
56 Global Xgain control global mix of spatial slice streams into output channel groups 0-1 1
57 Center Focus Determines the amount of extracted signal to be mixed into the Center output 0-1 1
58 Side Focus Determines the amount of Side signal for multi-channel input 0-1 1
59 Power Sum Determines the way in which the extracted signal components are summed up to form the spatial slice. 0-1 1
60 LFE Gain Controls gain of low frequency content (Ignored when using 2 channel input) 0-1 1
61 5 or 7 When param 1 is set to multi, this allows 5.1 or 7.1 input selection 5.1, 7.1 5.1
62 Bass Routing Xover Freq determines cross over frequency of the low pass filter that is used to extract the low pass signals in the bass management module of the QLS system 0-400Hz 250Hz
63 Bass Routing Gain controls the gain of the low frequency signals which are added back to the output streams in the bass routing module of QLS 0-2 1
64 Party Bass When on, bass is distributed equally to all outputs except height channels. ON/OFF ON
65 Mono Rvb Gain determines whether the Reverb stream from the Reverb Extraction block will be extracted given a mono input source, a mono speech input source or stereo source only

0= No Extract

1= Extract

2= Vox Extract

No Extract
66 Speech to Rvb Floor threshold above the estimated noise floor (in dB) where speech is handled 3-30dB 12
67 Speech to Rvb Sens determines how long mono music needs to be active/present when transitioning from mono speech before it is handled as mono music 10-200 60
68 Lookahead Dly in msec adds delay to the output of QLS but is before the reverb gain 0 – 75 msec max depends on configuration parameter 0
69 SpeechScore Read-only (not implemented) speech probability 0-1 0
70 MonoProb Read-only (not implemented) mono probability 0-1 0
71 LToLH_Gain level of the left input channel mixed with left high channel 0-1 0
72 LToLH_Dly adjust the delay of the left input component mixed with left high channel 0-2ms; max depends on configuration parameter 0
73 RToLH_Gain level of the right input channel mixed with left high channel 0-1 0
74 RToLH_Dly adjust the delay of the right input component mixed with left high channel 0-2ms; max depends on configuration parameter 0
75 CToLH_Gain level of the center input channel mixed with left high channel 0-1 0
76 CToLH_Dly adjust the delay of the center input component mixed with left high channel 0-2ms; max depends on configuration parameter 0
77 LSToLH_Gain level of the left side input channel mixed with left high channel 0-1 0
78 LSToLH_Dly adjust the delay of the left side input component mixed with left high channel 0-2ms; max depends on configuration parameter 0
79 RSToLH_Gain level of the right-side input channel mixed with left high channel 0-1 0
80 RSToLH_Dly adjust the delay of the right-side input component mixed with left high channel 0-2ms; max depends on configuration parameter 0
81 LRToLH_Gain level of the left rear input channel mixed with left high channel 0-1 0
82 LRToLH_Dly adjust the delay of the left rear input component mixed with left high channel 0-2ms; max depends on configuration parameter 0
83 RRToLH_Gain level of the right rear input channel mixed with left high channel 0-1 0
84 RRToLH_Dly adjust the delay of the right rear input component mixed with left high channel 0-2ms; max depends on configuration parameter 0
85 LToRH_Gain level of the left input channel mixed with right high channel 0-1 0
86 LToRH_Dly adjust the delay of the left input component mixed with right high channel 0-2ms; max depends on configuration parameter 0
87 RToRH_Gain level of the right input channel mixed with right high channel 0-1 0
88 RToRH_Dly adjust the delay of the right input component mixed with right high channel 0-2ms; max depends on configuration parameter 0
89 CToRH_Gain level of the center input channel mixed with right high channel 0-1 0
90 CToRH_Dly adjust the delay of the center input component mixed with right high channel 0-2ms; max depends on configuration parameter 0
91 LSToRH_Gain level of the left side input channel mixed with right high channel 0-1 0
92 LSToRH_Dly adjust the delay of the left side input component mixed with right high channel 0-2ms; max depends on configuration parameter 0
93 RSToRH_Gain level of the right side input channel mixed with right high channel 0-1 0
94 RSToRH_Dly adjust the delay of the right side input component mixed with right high channel 0-2ms; max depends on configuration parameter 0
95 LRToRH_Gain level of the left rear input channel mixed with right high channel 0-1 0
96 LRToRH_Dly adjust the delay of the left rear input component mixed with right high channel 0-2ms; max depends on configuration parameter 0
97 RRToRH_Gain level of the right rear input channel mixed with right high channel 0-1 0
98 RRToRH_Dly adjust the delay of the right rear input component mixed with right high channel 0-2ms; max depends on configuration parameter 0
99 LToCH_Gain level of the left input channel mixed with center high channel 0-1 0
100 LToCH_Dly adjust the delay of the left input component mixed with center high channel 0-2ms; max depends on configuration parameter 0
101 RToCH_Gain level of the right input channel mixed with center high channel 0-1 0
102 RToCH_Dly adjust the delay of the right input component mixed with center high channel 0-2ms; max depends on configuration parameter 0
103 CToCH Gain level of the center input channel mixed with center high channel 0-1 0
104 CToCH Dly adjust the delay of the center input component mixed with center high channel 0-2ms; max depends on configuration parameter 0
105 LSToCH Gain level of the left side input channel mixed with center high channel 0-1 0
106 LSToCH Dly adjust the delay of the left side input component mixed with center high channel 0-2ms; max depends on configuration parameter 0
107 RSToCH Gain level of the right side input channel mixed with center high channel 0-1 0
108 RSToCH Dly adjust the delay of the right side input component mixed with center high channel 0-2ms; max depends on configuration parameter 0
109 LRToCH Gain level of the left rear input channel mixed with center high channel 0-1 0
110 LRToCH Dly adjust the delay of the left rear input component mixed with center high channel 0-2ms; max depends on configuration parameter 0
111 RRToCH Gain level of the right rear input channel mixed with center high channel 0-1 0
112 RRToCH Dly adjust the delay of the right rear input component mixed with center high channel 0-2ms; max depends on configuration parameter 0
113 LToLRH Gain level of the left front input channel mixed with left rear high channel 0-1 0
114 LToLRH Dly adjust the delay of the left input component mixed with left rear high channel 0-2ms; max depends on configuration parameter 0
115 RToLRH Gain level of the right front input channel mixed with left rear high channel 0-1 0
116 RToLRH Dly adjust the delay of the right input component mixed with left rear channel 0-2ms; max depends on configuration parameter 0
117 CToLRH Gain level of the left center input channel mixed with left rear high channel 0-1 0
118 CToLRH Dly adjust the delay of the center input component mixed with left rear high channel 0-2ms; max depends on configuration parameter 0
119 LSToLRH Gain level of the left side input channel mixed with left rear high channel 0-1 0
120 LSToLRH Dly adjust the delay of the left side input component mixed with left rear high channel 0-2ms; max depends on configuration parameter 0
121 RSToLRH Gain level of the right side input channel mixed with left rear high channel 0-1 0
122 RSToLRH Dly adjust the delay of the right side input component mixed with left rear high channel 0-2ms; max depends on configuration parameter 0
123 LRToLRH Gain level of the left rear input channel mixed with left rear high channel 0-1 0
124 LRToLRH Dly adjust the delay of the left rear input component mixed with left rear high channel 0-2ms; max depends on configuration parameter 0
125 RRToLRH Gain level of the right rear input channel mixed with left rear high channel 0-1 0
126 RRToLRH Dly adjust the delay of the right rear input component mixed with left rear high channel 0-2ms; max depends on configuration parameter 0
127 LToRRH Gain level of the left front input channel mixed with right rear high channel 0-1 0
128 LToRRH Dly adjust the delay of the left input component mixed with right rear high channel 0-2ms; max depends on configuration parameter 0
129 RToRRH Gain level of the right front input channel mixed with right rear high channel 0-1 0
130 RToRRH Dly adjust the delay of the right input component mixed with right rear high channel 0-2ms; max depends on configuration parameter 0
131 CToRRH Gain level of the center input channel mixed with right rear high channel 0-1 0
132 CToRRH Dly adjust the delay of the center input component mixed with right rear high channel 0-2ms; max depends on configuration parameter 0
133 LSToRRH Gain level of the left side input channel mixed with right rear high channel 0-1 0
134 LSToRRH Dly adjust the delay of the left side input component mixed with right rear high channel 0-2ms; max depends on configuration parameter 0
135 RSToRRH Gain level of the right side input channel mixed with right rear high channel 0-1 0
136 RSToRRH Dly adjust the delay of the right side input component mixed with right rear high channel 0-2ms; max depends on configuration parameter 0
137 LRToRRH Gain level of the left rear input channel mixed with right rear high channel 0-1 0
138 LRToRRH Dly adjust the delay of the left rear input component mixed with right rear high channel 0-2ms; max depends on configuration parameter 0
139 RRToRRH Gain level of the right rear input channel mixed with right rear high channel 0-1 0
140 RRToRRH Dly adjust the delay of the right rear input component mixed with right rear high channel 0-2ms; max depends on configuration parameter 0
141 Front height Filter0 db adjust the gain for front height filter -20 to 0 db 0 db
142 Front height Filter0 freq Adjust the frequency for front height filter 1000-20000Hz 4000Hz
143 Center height Filter0 db adjust the gain for center height filter -20 to 0db 0 db
144 Center height Filter0 freq Adjust the frequency for center height filter 1000-20000Hz 4000Hz
145 Rear height Filter0 db adjust the gain for rear height filter -20 to 0 db 0 db
146 Rear height Filter0 freq Adjust the frequency for rear height filter 1000-20000Hz 4000Hz
147 Mono Sens Adjust the frequency for rear height filter 0.1 – 20 1

Control Parameters

The QLS has 21 control inputs when the control mode is selected in GTT.

Channel Description Range
1 Front to Front Crossgain (Xgain_F2F) 0 to 1
2 Front to Center Crossgain (Xgain_F2C) 0 to 1
3 Front to Side Crossgain (Xgain_F2S) 0 to 1
4 Front to Rear Crossgain (Xgain_F2R) 0 to 1
5 Center to Front Crossgain (Xgain_C2F) 0 to 1
6 Center to Center Crossgain (Xgain_C2C) 0 to 1
7 Center to Side Crossgain (Xgain_C2S) 0 to 1
8 Center to Rear Crossgain (Xgain_C2R) 0 to 1
9 Side to Front Crossgain (Xgain_S2F) 0 to 1
10 Side to Center Crossgain (Xgain_S2C) 0 to 1
11 Side to Side Crossgain (Xgain_S2S) 0 to 1
12 Side to Rear Crossgain (Xgain_S2R) 0 to 1
13 Rear to Front Crossgain (Xgain_R2F) 0 to 1
14 Rear to Center Crossgain (Xgain_R2C) 0 to 1
15 Rear to Side Crossgain (Xgain_R2S) 0 to 1
16 Rear to Rear Crossgain (Xgain_R2R) 0 to 1
17 Wrap Control 1 to 2
18 Global Reverb Gain Control 0 to 2
19 Front Reverb Gain 0 to 2
20 Side Reverb Gain 0 to 2
21 Rear Reverb Gain 0 to 2

 

Yes No
Last updated on March 7, 2024

9.2.1.QLS/QLI Panel

The QLS audio object has native panel. The native panel window has different controls for enabling and disabling various modes and for configuring tuning parameters. Native panel can be opened by double-clicking on the QLS object in the SFD.

A screenshot of a computer Description automatically generated

Yes No
Last updated on March 7, 2024

9.3.ClariFi

The ClariFi algorithm analyzes the content stereo audio streams for losses in fidelity associated with perceptual coding or lossy (i.e. destructive) compression and adds an estimate of these losses back to the original signal.
The treatment of compressed signals is based on careful assumption and scientific probabilities with a goal ultimately to provide a significantly improved listening experience, that is preferable to original unprocessed input.

ClariFi Properties

Below table describes about the ClariFi audio object properties and functionality.

A screenshot of a computer Description automatically generated

Properties Description
Display Name Display the name of the ClariFi audio object in signal flow design. It can be changed based on the intended usage of the object.
Object Mode ClariFi audio object supports two modes.

  • Fixed
  • Auto-Detect

Mode

Mode Description
Fixed A constant treatment level is applied regardless of the quality or bitrate of the incoming audio. It is best to use this mode when source quality is known or highly predictable, e.g satellite radio.

  • pros: input audio will be treated consistently regardless of content.
  • cons: constant treatment level will be applied regardless of source quality.
Auto-Detect A variable treatment level is applied based on the analysis of incoming audio. It is best to use this mode when source quality is unknown or unpredictable, e.g., input from iPod, USB, Bluetooth, analog inputs, or streaming from arbitrary apps.

  • pros: treatment level is very accurate/appropriate for most codecs. The treatment level will reset and recalibrate after a mute longer than 120ms (e.g., a track change).
  • cons: some streams, even while compressed, will not trigger any treatment to be applied.

Memory allocation for optimized MCPS on GUL

The Clarifi algorithm uses FFT algorithm. There are six buffers used by FFT. For FFT to work these buffers must be allocated in internal memory.  There is also memory alignment requirements.
Refer below table for memory records and alignment.

Memory Record Label Alignment in Bytes
FFT real Input signal-critical for MCPS

4096 for Block size = 512

2048 for Block size = 256

FFT imaginary input signal-critical for MCPS

4096 for Block size = 512

2048 for Block size = 256

FFT temporary buffer1-critical for MCPS 8
FFT temporary buffer2-critical for MCPS 8
FFT Twiddle real part-critical for MCPS 8
FFT Twiddle imaginary part-critical for MCPS 8

For better MCPS performance allocate these buffers to lower memory latency levels.
MCPS can be further improved if these buffers are placed in different block of lower memory latency.

In xAF design:

  • Level1 latency is mapped to L1 memory Block 0
  • Level2 latency is mapped to L1 memory Block 1
  • Level3 latency is mapped to L1 memory Block 2

Below is example of memory allocation for improved MCPS performance.

A screenshot of a computer Description automatically generated

Additional Parameters

There are no additional parameters available for ClariFi audio object.

Tuning Parameters

ClariFi can be tuned by the GTT tuning panel.  Below table describe supported tuning parameters.

Name Description Tunable Range
BitRate Bit rate control. The overall level of wet/effects/treatment being applied to the input Tunable 0.00 – 1.0
Voc Air Voc Air parameter at maximum. Isolates the lead instruments in a signal, such as vocals or soloists, and sharpens their frequency response Tunable 0.00 – 4.00
Voc Air 0 Voc Air parameter when Bitrate is 0 %. Tunable 0.00 – 4.00
Voc Air 50 Voc Air parameter when Bitrate is at midpoint %. Tunable 0.00 – 4.00
Voc Air-k Voc Air midpoint % value. Tunable 0.00 – 0.99
Voc Air Limit Controls the low frequency limit in Hz of the VocalAir parameter Tunable 100 – 4000
ASW (Apparent Stage Width) Decorrelates or spreads the soundfield outward by adding crosstalk signals, preserving the center portion of the stage Tunable 0.00 – 4.00
ASW 0 ASW parameter when Bitrate is 0 % Tunable 0.00 – 4.00
Direct signal gain Controls the amount of dry/direct/unprocessed signal in the CF output Tunable 0.00 – 1.00
BWE Band width extension. Adds high frequency bandwidth extension to the compressed signal Tunable 0.00 – 2.00
BWE 0 BWE parameter when Bitrate is 0 %. Tunable 0.00 – 2.00
BWE 50 BWE parameter when Bitrate is at midpoint %. Tunable 0.00 – 2.00
BWE-k BWE parameter midpoint % value Tunable 0.0 – 0.99
HardPan Controls the amount of boost given to extreme hard-panned signals Tunable 0.00 – 4.00
HardPan 0 HardPan gain value when Bitrate is 0 %. Tunable 0.00 – 4.00
VerbFill Restores dropouts in a recording’s reverberation caused by encoding Tunable 0.00 – 1.00
VerbFill 0 VerbFill gain value when Bitrate is 0 %. Tunable 0.00 – 1.00
DrumFill Drum Fill gain. Controls the gain of the enhancement which sharpens the attack and decay of transient signals Tunable 0.00 – 1.00
DrumFill 0 DrumFill gain parameter when Bitrate is 0 %. Tunable 0.00 – 1.00
DrumFill 50 DrumFill gain parameter when Bitrate is at midpoint%. Tunable 0.00 – 1.00
DrumFill-k DrumFill midpoint% value Tunable 0.00 – 0.99
Mask Spread Attempts to fill frequency holes in the frequency domain in much the same manner as Reverb Fill attempts to fill reverb holes in the time domain Tunable 0.00 – 1.00
Mask Spread 0 Mask Spread when Bitrate is 0 %. Tunable 0.00 – 1.00
Mask Spread 50 Mask Spread when Bitrate is at midpoint %. Tunable 0.00 – 1.00
Mask Spread-k Mask Spread midpoint value Tunable 0.00 – 0.99
Ext Scale Gain to control the overall output level of ClariFi Tunable 0.00 – 1.00
Intensity Functions identically to Bitrate except that it is not regulated internally when Mode is set to Auto-Detect. Tunable 0.00 – 1.00
SD bypass Control to Enable/Disable ClariFi. Tunable 0 – 1
SD Mode Control for ClariFi Mode select Tunable 0 – 1
Softness Controls the character or timbre of the high frequencies, allowing harshness to be moderated Tunable 0.00 – 1.00
Softness 0 Softness value when Bitrate is 0%. Tunable 0.00 – 1.00
Softness 50 Softness value when Bitrate is at midpoint%. Tunable 0.00 – 1.00
Softness-k Softness midpoint % value Tunable 0.00 – 0.99
TrsBoost Controls the amount of transient bass boost Tunable 1.0 – 6.0
TrsBoost 0 Transient bass boost when Bitrate is 0%. Tunable 1.0 – 6.0
BassOvrl Transient bass boost parameter value when Bitrate is at midpoint%. Tunable 0.0 – 2.0
BassOvrl 0 Transient bass boost midpoint% value Tunable 0.0 – 2.0
Lmit Off Control to Allow the soft-clip peak limiter to be turned off Tunable 0 – 1
Src Type Controls a change in compression sensitivity to accommodate Bluetooth sources that use the SBC codec Tunable 0 – 8
GapThrsh Sets the lowest expected signal value. This is used to determine the signal level at which it is safe to assume the current stream or source is silent or muted Tunable 0.1 – 10.0
SNR Sets the ratio of instantaneous detected noise to signal in the high frequency gap of a compressed audio stream such that the auto-detect algorithm will flag the stream as compressed Tunable 0.01 – 1.00
LevlDiff Sets the height of the brick wall needed to trigger the auto-detect algorithm Tunable 1.0 – 30.0
VerbBWE Adds high frequency bandwidth extension to the reverb treatment. Tunable 0.00 – 1.00
VerbBWE 0 VerbBWE parameter value when Bitrate is at 0%. Tunable 0.00 – 1.00
DrumBWE Adds high frequency bandwidth extension to the DrumFill treatment Tunable 0.00 – 1.08
DrumBWE 0 DrumBWE parameter value when Bitrate is at 0%. Tunable 0.00 – 1.08
BinX Sets the operating frequency for normal bandwidth extension treatment when SetBinX is set Tunable 4000 – 19000
SetBinX Overrides the analyzed value of the high cutoff frequency and substitutes the frequency set by BinX in its place Tunable 0 – 1
SBR Rx When codecs employing SBR such as HE-AAC are detected, there is no applicable cutoff frequency to determine corresponding treatment level. Therefore, this parameter imposes an equivalent treatment based on the same cutoff frequency as its value. Tunable 8000 – 20000
SBR avg Sets the amount of time-averaged smoothing on SBR detection. Tunable 0.9000 – 0.9999
SBR sens Sets the sensitivity of the auto-detection algorithm to the presence of SBR detected elements. Tunable 0.2 – 2.0
BWE Lim Imposes a lower end limit in Hz to the bandwidth reconstruction of the BWE treatment. This does not affect VerbBWE or DrumBWE. Tunable 8000 – 20000
SpeechRx Sets the maximum multiplier to the Bitrate value (regardless of whether Bitrate is being regulated by Auto-Detect mode) when speech is detected. Tunable 0.0 – 1.0
SpeechMode Sets whether speech is always assumed (fixed mode) or detected automatically (auto-detect). Tunable 0 – 1
BW Sense Controls the sensitivity of treatment level (Bitrate) versus detected high cutoff frequency of compressed streams when in Auto-Detect mode. Tunable 0.000 – 1.000
Widening Applies decorrelation to the right input channel to a degree set by this parameter, if/when mono probability exceeds the value set by the MonoDetect parameter. Tunable 0.00 – 1.00
Widening 0 Tunable 0.00 – 1.00
MonoDetect Sets the threshold of probability that the input is mono above which Widening is applied. Tunable 0.00 – 1.00
Verb_LF Control the amount of highs and lows in the VerbFill component (extracted reverb signal) respectively Tunable 1 – 12
Verb_HF Control the amount of highs and lows in the VerbFill component (extracted reverb signal) respectively Tunable 0.010 – 0.100

Control Parameters

There are no control parameters available for ClariFi audio object.

Native Panel

ClariFi audio object supports native panel. The native panel window has different controls for enabling and disabling various modes and for configuring tuning parameters. Native panel can be opened by double-clicking on the ClariFi object in the SFD.

A screenshot of a computer Description automatically generated

Yes No
Last updated on February 21, 2024

9.3.1.ClariFi Panel

Clari-Fi panel is located in SURROUND in Toolbox in Signal Flow Designer. It supports stereo input, having 2 inputs and 2 outputs. One of restriction is Block length and Sample Rate.
ClariFi Stand Alone supports 512 block length and 48khz sample rate. In the future it will support also 256 block length.

It can be launched in same way as other native panels inside  SFD  by clicking the Clarifi object in tuning view.

Spectral & Waveform tab view

Spatial & Operation tab view

Super User tab view

Tunable Parameters

Parameter Number Parameter Name Details Range Default value
0 Mono Sens Used to turn on or off the mono signal sensing capability (ClariFi parameter) 0.1-20 1
1 Source bit Rate Overall level of treatment being applied to the input. 0 – 1 1
2 Vocal Air Isolates the lead instruments or vocals in signal and sharpens the frequency response, applied at bitrate 100% 0-4 0.8
3 Vocal Air0 Value of vocal air when bitrate is 0% 0-4 0
4 Vocal Air50 Value of vocal air when bitrate is at midpt % 0-4 0.4
5 Vocal Air_K Knee point control to set the value of bitrate at which Mid is applied 0-0.999 0.5
6 Vocal Air Limit Controls the low frequency limit in Hz of the VocalAir parameter 100-4000 350Hz
7 ASW Decorrelates or spreads the soundfield outward by adding crosstalk signals, preserving the center portion of the stage. This compensates for the overcorrelation of the stereo field typically applied by lossy codecs., applied at bitrate 100% 0-4 0.6
8 ASW0 Value of ASW when bitrate is 0% 0-4 0
9 Direct Signal Gain Controls the level of direct raw signal being added to the CF treated signal 0-1 1
10 Octave Full BW Ext Gain Adds high frequency bandwidth extension to compressed signal to compensate for the brickwall filter roll off due to compression codecs 0-2 0.650
11 Octave Full BW Ext Gain0 Value of BWE gain when bitrate is 0% 0-2 0
12 Octave Full BW Ext Gain50 Value of BWE gain when bitrate is midpt% 0-2 0.325
13 Octave Full BW Ext Gain_K Knee point control to set the value of bitrate at which Mid is applied 0-0.999 0.5
14 Hard Pan Boost Gain Controls the amount of boost given to extreme hard-panned signals to  compensate for spatial smearing and collapse toward the center; bitrate 100% 0-4 0.8
15 Hard Pan Boost Gain0 Hard pan boost min, applied at bitrate 0% 0 – 4 0
16 Verb Fill Gain Restores the dropouts in reverberation by isolating reverb in lossy signal and adding natural reverb tail; operates at bitrate 100% 0-1 1
17 Verb Fill Gain0 Restores the dropouts in reverberation by isolating reverb in lossy signal and adding natural reverb tail; operates at bitrate 0% 0-1 0
18 Drum Fill Gain Controls the gain of the enhancement which sharpens the attack and decay of transient signals such as percussion, and restores their original peaky quality. This control sets the overall effect of the TransBoost and BassOverallBoost controls 0-1 0.676
19 Drum Fill Gain0 Value of drum fill gain when bitrate is 0% 0-1 0
20 Drum Fill Gain50 Value of drum fill gain when bitrate is midpt% 0-1 0.338
21 Drum Fill Gain_K Knee point control to set the value of bitrate at which Mid is applied 0-0.999 0.5
22 Mask Spread Restores the missing spectral components by filling holes in the frequency domain 0-1 0.880
23 Mask Spread0 Value of mask spread when bitrate is 0% 0-1 0
24 Mask Spread50 Value of mask spread when bitrate is midpt% 0-1 0.440
25 Mask Spread_K Knee point control to set the value of bitrate at which Mid is applied 0-0.999 0.5
26 Scale Gain Controls the overall output level of CF, this is to allow CF output to be matched to the level in the bypassed state 0-1 0.6
27 SD_Bypass Bypass the signal doctor (CF) processing algorithm 0&1, 0 –SD is not bypass, 1- SD bypass 1
28 SD_Mode sets whether CF automatically attempts to identify how lossy or compressed the input file is (Auto-Detect mode) or whether it applies a fixed amount of treatment (Fixed mode).

0, 1

0= Fixed mode

1= Autodetect mode

1
29 Intensity functions identically to Bitrate except that it is not regulated internally when Mode is set to Auto-Detect. 0-1 1
30 Softness controls the character or timbre of the high frequencies, allowing harshness to be moderated. 0-1 0
31 Softness0 Softness minimum value, at bitrate 0% 0-1 0
32 Softness50 Softness  value when birate is midpt% 0-1 0
33 Softness_K Knee point control to set the value of bitrate at which Mid is applied 0-0.999 0.5
34 Trans Boost Controls the amount of transient bass  boost, usually governed by the value of Drumfill 0-6 1.50
35 Trans Boost0 Transboost min value, at bitrate 0% 0-6 0
36 Bass Overall Boost Controls the amount of overall bass boost 0-2 1.20
37 Bass Overall Boost0 Overall bass boost for bitrate 0% 0-2 0
38 SD Limiter Controls the soft clip peak limiter in CF 0-1 0
39 Source Type Determine the type of audio input signal source to adjust the CF internal parameters 0-1 0
40 Gap Thresh Sets the threshold for detecting gaps in the audio signal to reset treatment to zero and use Auto-Detect to look for signs of compression 0.1-10 2.0
41 SD SNR Sets the ratio of instantaneous detected noise to signal in the high frequency gap of a compressed audio stream such that the auto-detect algorithm will flag the stream as compressed. 0.01-1 0.15
42 Level Diff Sets the height of the brick wall needed to trigger the auto-detect algorithm. If the system is failing to detect compression (true negative), try lowering this value. If it is falsely tagging linear streams as compressed (false positive) try raising this value. 1-30 10
43 Verb BWE Amount higher frequencies added to the reverb during bandwidth extension 0-1 1
44 Verb BWE0 Amount of verb BWE when bitrate is 0% 0-1 0
45 Dirac Enables bandwidth extension treatment, in the form of a Dirac pulse, to be applied to transients, at bitrate 100% 0-1.08 1.02
46 Dirac0 Enables bandwidth extension treatment, in the form of a Dirac pulse, to be applied to transients; at bitrate 0% 0-1.08 0
47 Force Bin X Sets the operating frequency for normal bandwidth extension treatment when Manual_BinX is set. If Manual_BinX is not set, this parameter has no effect. 4000-19000Hz 10000Hz
48 Manual Bin X Overrides the analyzed value of the high cutoff frequency and substitutes the frequency set by Force_BinX in its place. This affects only the VerbBWE and Dirac parameters. 0-1 0
49 SBRR_X When codecs employing SBR such as HE-AAC are detected, there is no applicable cutoff frequency to determine corresponding treatment level. Therefore this parameter imposes an equivalent treatment based on the same cutoff frequency as its value. 8000-20000Hz 15000Hz
50 SBR Smoothing Sets the amount of time-averaged smoothing on SBR detection. 0.9-0.9999 0.9970
51 SBR Sens Sets the sensitivity of the auto-detection algorithm to the presence of SBR detected elements. 0.2-2 1
52 BWE Limit Controls the frequency limit to apply bandwidth extension 8000-20000Hz 12000Hz
53 Speech Rx Sets the maximum multiplier to the Bitrate value (regardless of whether Bitrate is being regulated by Auto-Detect mode) when speech is detected. 0-1 1
54 Speech Mode Sets whether speech is always assumed (fixed mode) or detected automatically (auto-detect). 0-1; 0=fixed, 1= Autodetect Autodetect
55 BW Sensitivity Controls the sensitivity of treatment level (Bitrate) versus detected high cutoff frequency of compressed streams when in Auto-Detect mode. Lower values correspond to higher resulting Bitrate values. 0-1 0.2303
56 Decorr Mix Applies decorrelation to the right input channel to a degree set by this parameter, if/when mono probability exceeds the value set by the MonoThreshold parameter. If MonoThreshold is set to 0, then Widening will always be applied. 0-1 0.77
57 Decorr Mix0 Value of decorr mix when bitrate is 0% 0-1 0
58 Mono Threshold Sets the threshold of probability that the input is mono above which Widening is applied. 0-1 0

 

Yes No
Last updated on June 20, 2023

9.4.Logic 7

The Logic7 algorithm creates a 7.1 surround upmix from a stereo (or dual mono) audio signal. This object upmixes two-channel stereo (or dual mono) audio inputs to seven main outputs (L/R Front, Center, L/R Side, L/R Rear).
The algorithm consists of a steering angle calculator from the input signal. A matrix mixer generates the surround channels by mixing input Left and Right channels weighted by adaptive gains calculated from the steering angle. All pass filters adjust the phases between Left & Right pairs of generated surround channels and Shelving filters are applied.

Diagram Description automatically generated

Logic 7 Properties

Below table describes about the Logic7 audio object properties and functionality.

Properties Description
Display Name Display the name of the Logic7 audio object in signal flow design. It can be changed based on the intended usage of the object.

The object has a 2 input channels and 8 output channels. The output channel order is:

  1. Left Front
  2. Right Front
  3. Center
  4. LFE
  5. Left Side
  6. Right Side
  7. Left Rear
  8. Right Rear

This object supports all framework configurable sample rates and block lengths.

Mode

There are no mode available for Logic 7 audio object.

Additional Parameters

There are no additional parameters available for Logic 7 audio object.

Tuning Parameters

Parameter Description Unit Min Max Default
Matrix Type Determines the amount of center channel blending across the left and right front channels and the degree of spatial separation between the side and rear channels.

  • MATRIX_OFF 0
  • MATRIX_CAR 1
None 0 1 1
Steering XOver Frequency Determines cross over frequency of the low pass filter that is used to extract the low pass signals Hz 10 500 200
Side Left / Right Steering Limit Determines the amount of front left and right signals mixed into the side channels deg -45 45 25
Side Center / Surround Stereo Limit Determines the amount of center channel signal that is mixed into the side channels deg -45 45 20
Side Center / Surround Mono Limit Determines the amount of monaural source signals that are mixed into the side channels deg -45 45 20
Rear Center / Surround Mono Limit Determines the amount of monaural source signals that are mixed into the rear channels deg -45 45 20
Rear Left / Right Steering Limit Determines the amount of front left and right signals mixed into the rear channels deg -45 45 25
Rear Center / Surround Stereo Limit Determines the amount of center channel signal that is mixed into the rear channels. deg -45 45 20
Side Shelf Type Refers to a high frequency shelving filter that is applied to signals steered to the side channels only

  • SHELF_OFF 0
  • SHELF_NEUTRAL 1
  • SHELF_READ 2
None 0 2 0
Rear Shelf Type Refers to a high frequency shelving filter that is applied to signals steered to the rear channels only

  • SHELF_OFF 0
  • SHELF_NEUTRAL 1
  • SHELF_READ 2
None 0 2 0

Tuning Panel

D:AudioworXGenFolderLogic7CustomPanelSS.jpg

Control Parameters

There are no control parameters available for Logic 7 audio object.

Native Panel

Logic 7 audio object does not support native panel.

Yes No
Last updated on December 15, 2023

10.Virtual Venues

Virtual Venues is a fully configurable, state-of-the-art technology to recreate the acoustic impression of a target room, space or concert hall. It consists of multiple processing objects, among them Venue Verb, Auto Balance and Cross Fader. These are the key building blocks and will be described below.

Yes No
Last updated on November 27, 2023

10.1.VenueVerb

VenueVerb is a reverb algorithm based on Lexicon’s “SpiderVerb” and can be considered the core of Virtual Venues. Venue Verb processes input audio signals by applying virtually created acoustical environments. The result is that the perceived acoustical behaviour of the listening environment is changed depending on the acoustical parameters of the virtual rooms which are tuned by VenueVerb.

VenueVerb Properties

Below table describes about object properties and functionality of VenueVerb audio object.

Properties Description
Display Name Display the name of the VenuVerb audio object in signal flow design. It can be changed based on the intended usage of the object.
Object Mode CFQLS supports following audio objects

  • 4 in, 8 out enhanced mode
  • 4 in, 8 out standard mode
  • 2 in, 2 out enhanced mode
  • 2 in, 2 out standard mode
  • 2 in, 4 out enhanced mode
  • 2 in, 4 out standard mode

Supported Configurations:

  • Sample rate = 48 kHz, 96 kHz
  • Block lengths = Powers of 2 from 32 to 512 samples (32, 64, 128, 256, 512) and multiples of 48 between 48 and 480 (48, 96, 144, 192, 240, 288, 336, 384, 432 and 480)

Mode

Mode Description
4 in, 8 out enhanced mode This mode uses 4 inputs, which can be used for music and/or microphones and provides 8 uncorrelated outputs.
4 in, 8 out standard mode This mode uses 4 inputs, which can be used for music and/or microphones and provides 8 uncorrelated outputs. The inputs are downsampled, processing is done with downsampled signal and upsampled to get the final output.
2 in, 2 out enhanced mode This mode uses 2 inputs, which can be used for music and/or microphones and provides 2 uncorrelated outputs.
2 in, 2 out standard mode This mode uses 2 inputs, which can be used for music and/or microphones and provides 2 uncorrelated outputs. The inputs are downsampled, processing is done with downsampled signal and upsampled to get the final output.
2 in, 4 out enhanced mode This mode uses 2 inputs, which can be used for music and/or microphones and provides 4 uncorrelated outputs.
2 in, 4 out standard mode This mode uses 2 inputs, which can be used for music and/or microphones and provides 4 uncorrelated outputs. The inputs are downsampled, processing is done with downsampled signal and upsampled to get the final output.

Additional Parameters

Parameters Description
Max room size in meter This parameter allows you set room size ranging 8 to 40 m in the signal flow designer tool. A reduction of the maximum room size will decrease the memory that is required for the object.
Venue Morphing Enable/Disable This parameter can enabled or disabled in the signal flow designer tool. Enabling this parameter will add control inputs through which the basic tuning parameters listed below, can be updated. Updating through these control inputs will be done via a mute cycle of the output audio. Venue morphing parameters will be made available only when Venue Morphing is enabled. These control the speed and duration of the mute implementation.

Tuning Parameters

Basic tuning parameters: The VenueVerb has 14 basic tuning parameters to adjust the overall reverb properties.

Name Units Format Range Default 
MIDRT float 0.0f – 0.8f 0.216f
RTHICUT Hz ULong

100-12000

(In the case of down-sampled mode max range is half of it)

5962
ROOMSIZE m float 8.0f-40.0f 37.0f
ALLPASS float 0.0f-1.0f 0.8f
DIFFUSION float 0.0f-1.0f 0.845f
PREDELAY ms float 0.0f-200.0f 0.045f
SHAPE float 0.0f-64.0f 18.0f
SPREAD percent float 0.0f-100.0f 75.0f
MIX float 0.0f-1.0f 1.0f
WETLOWPASS Hz ULong

100-20000

(In the case of down-sampled mode max range is half of it)

10000
RATE float 0.1f-0.7854f 0.224f
WANDER percent float 0.0f-100.0f 0.0f
ECHOTIMEMASTER float 0.0f-1.0f 0.114f
ECHOLEVELMASTER float 0.0f-1.0f 0.091f

Advanced tuning parameters: It has 32 parameters to individually adjust delays and levels of early reflections for each output channel.

Name Units Format Range Default 
PRIMARYECHODELAY_<N> N=(A,B,C,D) s float 0.0 f – 0.7f 0.1f
PRIMARYECHOLEVEL_<N> N=(A,B,C,D) float 0.0f – 1.0f 0.0f
SECONDARYECHODELAY_<N> N=(A,B,C,D) s float 0.0 f – 0.7f 0.1f
SECONDARYECHOLEVEL_<N> N=(A,B,C,D) float 0.0f – 1.0f 0.0f
PRIMARYECHO<N>LEVEL N=(1:8) float 0.0f – 1.0f 0.0f
SECONDARYECHO<N>LEVEL N=(1:8) float 0.0f – 1.0f 0.0f

Venue Morphing Parameters: Two parameters available only when Venue Morphing is enabled.

Name Units Format Range Default 
MORPHRAMPTIME ms float 5.0 f – 10000.0f 50.0f
MORPHHOLDTIME ms float 5.0 f – 10000.0f 500.0f

 

Yes No
Last updated on July 8, 2024

10.1.1.VenueVerb Panel

Virtual Venues audio objects native panel  comprises of following components.

  • Venue Verb
  • Crossfader
  • Autobalance

For detailed working of AOs, please refer to the Virtual Venues object user guide.

Venue Verb

The Venue Verb recreates the acoustic impression of a target room, space or concert hall.
This object processes input audio signals by applying virtual venues (virtually created acoustical environments). The result is that the perceived acoustical behavior of the listening environment is changed depending on acoustical parameters of virtual rooms which are tuned by VenueVerb audio object.

For room size can be set from 8-40 m.

In Advanced tab , Primary Echo delay and Secondary echo delay is used to tune the delays for each output channel. Primary Echo Level and Secondary echo is used to tune the levels of early reflections for each output channel.

A picture containing text, screenshot, electronics, circuit Description automatically generated

Crossfader

Crossfade module allows to add channel pairs with comfortably adjustable levels.

Crossfade is a common type of audio transition between two clips, in which the first clip’s audio fades down while the second clip’s audio simultaneously fades up. Crossfader AO functionality is to mix 4 inputs down to 2 outputs with a linear crossfade applied.

A screenshot of a computer Description automatically generated

  • A crossfader parameter (Mix slider) is provided to easily crossfade between the first and second input channel groups. Range is 0  to 1.
  • Dry Gain is to tune gain for the first input channel groups are provided. They are applied in addition to the crossfader, to achieve an offset or to be able to adjust the volume for only one input channel group and leave the other untouched. Range is -120 db to 20 db.
  • Wet Gain is to tune gain for the second input channel groups are provided. They are applied in addition to the crossfader, to achieve an offset or to be able to adjust the volume for only one input channel group and leave the other untouched. Range is -120 db to 20 db.
  • After gain parameter is adjust additional control of the overall output volume. Range is -120 db to 20 db.

Autobalance

AutoBalance balances limits the levels of up to four microphone inputs. It computes the average of each input and boosts or attenuates it according to the loudness of the other inputs. This is important to avoid loud sounds, e.g., when a microphone is accidentally touched or to make gentle sounds audible.

A screenshot of a computer Description automatically generated with medium confidence

Yes No
Last updated on November 21, 2023

10.2.AutoBalance

AutoBalance balances limits the levels of up to four microphone inputs. It computes the average of each input and boosts or attenuates it according to the loudness of the other inputs. This is important to avoid loud sounds, e.g., when a microphone is accidentally touched or to make gentle sounds audible.

The module has four inputs and four outputs for the individual microphone channels.

Tuning Parameters

Name Unit Format Range Default
NUMACTIVEINPUTS ULong 2 – 4 2
MIDRTATTACK ms Float 0.1 – 10 2
MIDRTDECAY ms Float 0.1 – 5 3.3
AVERAGINGTIMEMS ms Float 1 – 100 1
OUTLIERMODE Uint 0 – 1 1
KILLSWITCH Uint 0 – 1 0
BYPASS Uint 0 – 1 0

Yes No
Last updated on March 7, 2024

10.2.1.AutoBalance Panel

Autobalance AO supports native panel. The native panel window has different controls for enabling and disabling various modes and for configuring tuning parameters. Native panel can be opened by double-clicking on the Autobalance object in the  SFD.

Yes No
Last updated on March 7, 2024

10.3.Crossfader

The Crossfader module allows users to add channel groups with comfortably adjustable levels. It has N = x * 2 inputs (x = 1…M) in the following order:

  • 1 in 1 left
  • 2 in 1 right
  • 3 in 2 left
  • 4 in 2 right

And N/2 outputs:

  • 1 out left
  • 2 out right

Tuning Parameters

  •  A crossfader parameter (slider) is provided to easily crossfade between the first and second input
    channel groups.
  •  Individual gain parameters for the first and second input channel groups are provided. They are applied
    in addition to the crossfader, to achieve an offset or to be able to adjust the volume for only one input
    channel group and leave the other untouched.
  •  An overall gain parameter is provided to additionally control the overall output volume.
Name
Unit
Format
Range
Default
GAIN1
dB
Float
-120 – 20
0
GAIN2
dB
Float
-120 – 20
0
FADERVALUE
Float
0 – 1
0.5
MASTER
dB
Float
-120 – 20
0

Yes No
Last updated on March 7, 2024

10.3.1.Crossfader Panel

CrossFader AO supports native panel. The native panel window has different controls for configuring tuning parameters. Native panel can be opened by double-clicking on the Crossfader object in the  SFD.

Yes No
Last updated on March 7, 2024

11.Vehicle Noise Control (VNC) Objects

Vehicle Noise Control (VNC) audio objects category contains the following audio objects:

Yes No
Last updated on June 21, 2024

11.1.ALA Control

The purpose of the ALA Control audio object is to calculate the Gain Factor by using control inputs: MNR (Music to Noise Ratio), vehicle speed and entertainment volume. These are the factors used to compute Compander parameters (Compressor Ratio, Threshold, Extra Gain and After Gain) used in the VNC ALA CAO.
The object has no audio inputs and only four control inputs and outputs.

This module uses the following control inputs and outputs:

 Control Inputs:

  • Vehicle speed
  •  Entertainment volume
  •  Speed-dependent volume
  •  MNR (Music to Noise Ratio)
Control Outputs:

  • Compressor Ratio
  • Threshold
  • Extra gain
  • After gain

Tuning Parameters

Parameter Min Max Default Description
Mode 0 2 1 Mode of operation

  • 0:Bypass
  • 1: No Extra Gain
  • 2: Extra Gain
VolumeRange 0.0 1.0 0.1 Volume range
CompanderThreshold -140.0 0.0 0.0 Compander threshold: The Compressor starts compressing the signal above this level.
companderGainZeroDb -40.0 40.0 0.0 Gain for 0dB
companderMinBoost -20.0 20.0 0.0 Minimum boost
companderMaxBoost -20.0 20.0 0.0 Maximum boost
minLvlDelta 0.0 100.0 0.0 Minimum level delta: Threshold for the level jump criteria. If the entertainment or announcement level delta is larger than this threshold, the algorithm is triggered.
minTimeDelta 0.0 100.0 0.0 Minimum time delta: Time threshold that keeps the algorithm to be triggered too often. If a big level jump is present, than we ignore this time delta

Control Inputs:

Speed 0.0 300.0 0.0 Control for input speed
Entertainment Volume 0.0 200.0 0.0 Control for input Entertainment volume.
GAL to User 0.0 200.0 0.0 Control input GAL(Speed dependent volume) to User amount.
MNR to User 0.0 100.0 0.0 Control input MNR(Music To Noise Ratio) to User amount.

Control Outputs:

Compressor Ratio 0 20 Decide how much signal needs to compressor as compare to input.
Threshold -140.0 0.0 0.0 Above this level compressor starts to compress.
Extra gain -20.0 20.0 0.0 Control Output Extra gain
After gain -20.0 20 0.0 Control Output After gain

Design Time Parameters:

The AlaControl audio object has one additional configuration variable: Block Control. This configuration variable can be configured during design time.

The default value for “Block Control” additional configuration is disabled (0).

When “Block Control” is enabled (1), the control inputs and control outputs are grouped.

Yes No
Last updated on June 21, 2024

11.2.Compander

ALA Compander audio object is the core of complex ALA object. This object is basically a combination of a compressor and expander module. Its aim is to calculate target gain that has to be applied to the input entertainment signals, according to user’s tuning and according to the updated parameters received from ALA Control audio object.

In BYPASS mode the dynamic effect of the ALA is completely bypassed. Here Compander acts as if it is a compressor of ratio 1 and both after gain and extra gain are set to zero. In the case of NO_EXTRA_GAIN mode, the Compressor Ratio and the After Gain are dynamically adjusted based on the parameterization given to the module.

ALA Compander audio object is added with resetObjectHistory API which clears the history data. This API can be called from application to clear the history.

Control Inputs

Control Input Min Max Default Unit Description
Compressor Threshold -140 0 -30 dB The threshold level for gain reduction or expansion
Compressor Ratio 1.0 20.0 1.0 controls the amount of compression that occurs once the signal rises above the threshold
Compander After Gain -20.0 20.0 0.0 dB Gain which can be applied to makeup the amount of level (to be recovered) lost during compression
Compander Extra Gain -20.0 20.0 0.0 dB parameter to compensate the level of weak sources

Tuning Parameters

Parameter Min Max Default value Description
Threshold -140 0 -30.0(dB) Compander threshold: the compressor starts compressing the signal  above this level ((This value is just used for Init reasons and will be overwritten by the next controlSet call and will be controlled by AlaControl or any other object connected to the first pin)
Ratio 1 20 1 Compression ratio
Attack 1 10000 20.0(ms) The time for compander to reach to full compression factor from zero compression
Release 1 10000 50.0(ms) Time to stop compression
Bypass 0 1 0 Bypass the dynamic effect of ALA object
rms_smoothing 0 10000 0.0(ms) Average rms computed from last and previous rms values calculated
soft_knee -20 20 0.0(dB) Compressor knee depth (defines the drastic or smooth transition between no compression and compression in given ratio)
after_gain -20 20 0.0(dB) The gain after compression
peak_hold 0 10000 0(ms) Compressor peak hold time
Ngate_treshold -140 0 -140.0(dB) Noise gate threshold – Signal below this threshold will be attenuated, no boost will be applied
Ngate_attack 1 10000 20.0(ms) Noise gate attack time – time for gate to open
Ngate_release 1 10000 50.0(ms) Noise gate release time – time to get the gate closed
Ngate_gain_reduction -50 50 0.0(dB) Noise gate gain reduction
Ngate_hyst -50 50 0.0(dB) Noise gain hysteresis

 

Yes No
Last updated on February 16, 2024

11.3.AlaGain

The AlaGain audio object does apply the gain levels which are calculated by the Compander audio object to its input signals. Its last audio input channel has to be connected to the Compander output. The content of thisconnection is used as a buffer of gain levels (one per sample) which are applied to all other input channels of AlaGain.

Tuning Parameter

AlaGain has only 1 tuning parameter which is used to switch between processing and bypass.

  • AlAGain mode Tuning Parameter is set to “0” input is copied to output without any processing,
  • AlAGain mode Tuning Parameter is set to “1” it will enabled AlAGain processing,
Parameter
Unit
Format
Range
Default
AlaGain Mode none ULong 0 – 1 0

Yes No
Last updated on November 21, 2023

11.4.VNC Control

This module has no audio inputs, only 29 control inputs and seven control outputs. It acts as a translation module for vehicle specific control signals. It requires the following control inputs.

  • Vehicle Speed
  • Fan Speed
  • Roof State
  • Mute
  • Head Unit Volume
  • Speed Dependent Volume
  • Announcement Volume
  • Loudness
  • MNR

Tuning Parameters

Index Name Offset [bytes] Description Range Default Unit
0 Vnc mode 0 Description of the modes in section 6.2.1 0 to 255 16 (0x00000010)
1 MicAmntClosed 8 Gain for microphone on closed roof 0.0f  to 1.0f 0.0f
3 MicAmntOpen 12 Gain for microphone on opened roof 0.0f to 1.0f 0.0f
3 MinLvlDelta 16 Threshold for the level jump criteria. If the entertainment or announcement level delta is larger than this threshold, the algorithm is triggered 0.0f  to 100.0f 0.0f dB
4 MinTimeDelta 20 Time threshold that keeps the algorithm to be triggered too often. If a big level jump is present, than we ignore this time delta. 0.0f  to 100.0f 0.0f ms
5 NoiseDetectOffset 24 Noise detection offset -200.0f to 200.0f 0.0f dB
6 NoiseDetectFactHi 28 Noise detection high factor 0.0f  to 1.0f 0.0f
7 NoiseDetectFactLo 32 Noise detection low factor 0.0f  to 1.0f 0.0f
8 FastAdaptAccelThresh 36 This factor dictates the temporary fast adaption of the algorithm. For example, if the car breaks too quickly, we might need to use the fast timing constants for the next vnc_fast_adaption_counter_seed algorithm iterations, unless HU forces us to use other values. 0.0f  to 100.0f 0.0f
9 FastAdaptCntSeed 40 A fast adapt counter seed 0 to 100 5
10 TimeConstSlow 44 A time factor for slow updates on static coefficients 0.01f  to 5.0f 0.01f s
11 TimeConstFast 48 A time factor for fast updates on static coefficients 0.01f to 5.0f 0.01f s
12 TimeAdaptSlow 52 A time factor for slow updates on adaptive coefficients 0.01f to 5.0f 0.01f s
13 TimeAdaptFast 56 A time factor for fast updates on adaptive coefficients 0.01f  to 5.0f 0.01f s

Design Time Parameters

The VncControl audio object has one additional configuration variable: Block Control. This can be configured during design time so as to enable or disable Block Control feature. The default value for “Block Control” additional configuration is disabled (0).

When Block Control is enabled(1), 6 speed dependent control inputs are grouped.

When disabled, control inputs are not grouped.

Yes No
Last updated on December 15, 2023

11.5.NoiseEst

The purpose of the noise estimation module is to estimate the level of noise in the vehicle coming from the engine, the road, and other error sources while music is playing. Inputs given to the module are the digital output sound data in its final stage before it is sent to the DACs, and the feedback coming from a microphone mounted somewhere in the vehicle cabin. When users know what is sent to each loudspeaker, they can correlate that information with the microphone input to get a channel estimate.

This is only a component of the complete VNC implementation.

The coefficients get dynamically calculated and updated. This approach has the benefit of being able to adapt to changing circumstances. For example, if a window is opened while driving, the noise increases. In addition to increased noise, the optimal channel estimate changes as well.

Control Parameters

  • Door slam count: Number of frames exceeding the threshold. (This count is to be used to detect door slams.)
  • Err smallest RMS: Small error threshold.
  • Err median RMS: Error estimation after median filtering.
  • Audio channels: Audio channel range varies from 2 to 7.

Tuning Parameters

Parameter Min Max Default Description
Error Decay Time 0.0 10.0 0.05 Error decay time is measured in milliseconds.
Mic Gain -20.0 20.0 0.0 Microphone gain measured in dB.
Stepsize 0.0 5.0 0.03 NLMS step size.
Powersum Min 0.0 1000.0 0.003 Minimum power value, NLMS parameter. Lower bound for input signal when calculating NLMS step size.
Doorslam Threshold 0.0 1000.0 1.2 Upper bound for door slam detection
Power Threshold 0.0 1000.0 0.003 Threshold for which input power leads to coefficients update
Doorslam Timeout 0.0 10.0 0.0 Door slam detection timeout
Readapt Timeout 0.0 10.0 0.0 Open window enforce re-adaptation timeout
Tuning channel 1 (Num of channels -1) 1 Selection of channel for which the adaptive coefficients get copied over to the static coefficients on enabling tuning (see “Tuning enabled”)
Tuning enabled 0 1 0 Enable copying the adaptive filter coefficients of the selected channel (see “Tuning channel”) to the corresponding static filter coefficients

FIR coefficients

The FIR coefficients for the static and adaptive filters are arranged as follows.

The number of static and adaptive filter coefficient arrays depends on the number of entertainment channels (number of audio input channels – 1). For each entertainment channel there is a static and an adaptive filter coefficient set.

Table  shows the case of one entertainment channel, which means there is one FIR static coefficients array and one FIR adaptive coefficients array. If the number of entertainment channels is higher, then first the arrays of FIR static coefficients are allocated then the arrays of FIR adaptive coefficients.

Parameter Offset Range Default value
FIR static 1 coefficients 40 -9999.0 – 9999.0 0.0
FIR static 2 coefficients 1064 -9999.0 – 9999.0 0.0
FIR adaptive 1 coefficients 2088 -9999.0 – 9999.0 0.0
FIR adaptive 2 coefficients 3112 -9999.0 – 9999.0 0.0

Each FIR coefficient array stores the filter coefficients in reverse order compared to the common understanding of FIR coefficients, meaning the last value in the array of one filter set is the first coefficient of the FIR filter.

Yes No
Last updated on November 24, 2023

11.5.1.NoiseEst Custom Panel

This panel contains tuning parameters for the noise estimator, which processes the mic signal and produces noise-related information for the VNC object.

Noise Estimator (NoiseEst) custom panel
Yes No
Last updated on June 8, 2021

12.TPS

The aim of the Tracking Power Supply (TPS) Audio Object is to provide PWM duty cycle values to boosted power supply controller ICs, as well as providing a reference to adjust TPS output on extension amplifiers or micro- controllers managing discrete amplifiers. This results in changing the power amplifier supply voltage in accordance to the levels of the audio output signals. Adaptive supply voltage allows to increase the efficiency and decrease electromagnetic noise generated by the amplifiers.

Design Time Parameters

  • AMPFACTOR – Amplification factor. Describes mapping of float numbers into output voltage.
  • TPSSHIFT – Shift parameter for TPS voltage. This value must be evaluated from the amplifier’s hardware specifications.
  • TPSFACTOR – Scale factor parameter for TPS voltage. This must be evaluated from the amplifier’s hardware specifications.
  • MINTPSVOLTAGE – Minimum TPS voltage MAXTPSVOLTAGE – Maximum TPS voltage.

Tuning Parameters

Name
Unit
Format
Range
Default
Description
Audio Delay ms Float 0 0 Delay Buffer length
TPS Delay Float 0 – 2048 0 Delay of TPS signal
Hold Time ms Float 0 – 10000 1000 TPS voltage hold time
Hold Intervals Float 0 – 2048 32 Number of stored TPS values in Detection buffer
Voltage Headroom V Float 0 – 10 5 Headroom added to the envelope for TPS voltage
Ramping Up Time ms Float 0 – 2000 0 Ramping time for raising TPS voltage (for full-scale TPS change)
Ramping Down Time ms Float 0 – 2000 0 Ramping time for falling TPS voltage (for full-scale TPS change)
ScalingMode Float 0 – 1 1 Enables scaling mode
CompFilter Float 0 – 1 0 Enables compensation Filter
B0 coeff Float -1E+10 – 1E+10 0 Compensating filter’s b0 coefficient
B1 coeff Float -1E+10 – 1E+10 0 Compensating filter’s b1 coefficient
B2 coeff Float -1E+10 – 1E+10 0 Compensating filter’s b2 coefficient
A1 coeff Float -1E+10 – 1E+10 0 Compensating filter’s a1 coefficient
A2 coeff Float -1E+10 – 1E+10 0 Compensating filter’s a2 coefficient

The parameters must match the hardware specification and the integration will be different among platforms. Please refer to the appropriate platform integration guide and specifications.

Yes No
Last updated on November 24, 2023

13.Power Manager

The aim of Power Manager is to protect speakers from damage. The object consists of three limiters grouped into two main sub-blocks. The peak-voltage sub-block consists of a frequency-dependent limiter which protects against cone over-excursion. The power-limiter sub-block is made up of a short-term and a long-term limiter, each of which can be configured to attack at a distinct power threshold over an independent time-averaging window.
The power limiter is meant to protect the speaker’s components from overheating. The Power Manager AO has the following additional parameters:

Design Time Parameters

Look-ahead delay [samples]: The fixed delay in samples for the audio signal. This delay improves the response of the peak-voltage limiter at frequencies over 10 kHz.

Tuning Parameters

Power manager exposes below parameters as tuning parameters in GTT for each channel:

Name
Unit
Format
Range
Default
Description
Short-term Average Time s Float 0.1 – 100 2 Averaging time-window for the short-term power limiter.
Long-term Average Time s Float 0.1 – 100 10 Averaging time-window for the long-term power limiter.
Short-term Power Threshold W Float 0 – 100 10 The power threshold over which the short-term power limiter will start reducing gain.
Long-term Power Threshold W Float 0 – 100 5 The power threshold over which the long-term power limiter will start reducing gain.
Power Attack Rate s Float 0 – 5 1 The rate at which any of the power limiters will reduce gain when the threshold is crossed.
Power Release Rate s Float 0 – 5 1 The rate at which any of the power limiters will go back to unity gain when the threshold is not being crossed.
Power Depth Float 0 – 1 3.8E-07 The maximum attenuation allowed for the power limiters.
Voltage-Peak Time-Constant s Float 0 – 5 0.008 The tau-constant for the first-order averaging filter used in envelope detection. The envelope level will decay at this rate when the signal-peak is at a lower level.
Voltage Threshold Linear Scale V Float 0 – 100 1 The reference threshold from which the contour filters bias the incoming signal.
Voltage Attack Rate s Float 0 – 30000 2000 The rate at which the peak-limiter reduces gain when the contoured threshold has been crossed.
Voltage Release Rate s Float 0 – 30000 500 The rate at which the peak-limiter goes back to unity gain when the contoured threshold is not being crossed.
Voltage Scalar V Float 1 – 100 1 The relation between the configured limiter-threshold voltage and the output voltage of the power IC used.

In Addition to above tuning parameter Power manger uses below filters to model Peak-voltage and admittance of speaker

Contour Filters: Cascade of three bi-quadratic filters which are used to model the frequency-dependent peak-voltage limit for the speaker.

Admittance Filters: Cascade of three bi-quadratic filters which are used to model the admittance of the speaker. These are used to calculate current consumption and in turn estimate power.

Contour filters and Admittance filters coefficients loaded into DSP/Amplifier can be visualized in SV tree and GTT panel.

Name
Unit
Format
Range
Default
b0 Float -100 – 100 1
b1 Float -100 – 100 0
b2 Float -100 – 100 0
a1 Float -100 – 100 0
a2 Float -100 – 100 0

 GTT panel also displays frequency response of filters. Please note that the filter coefficients cannot be tuned from GTT. The filter coefficients are loaded in DSP/Amplifier through a unique API.

Native Panel

PowerManager  AO  supports native panel. The native panel window has different controls for configuring tuning parameters, fields for displaying coefficients and graph for displaying output voltage/ power. Native panel can be opened by double-clicking on the PowerManager object in the  SFD.

Yes No
Last updated on April 5, 2024

13.1.Power Manager Panel

This panel is used to display voltage contour, admittance filter coefficients loaded in device. Tuning of power and voltage limiting for each channel can be performed using this panel.

Channel List

On the top left of the PowerManager, there is a list from which you can choose a channel for the current core. The current channel is marked with a green square and its details are displayed in the header of the channel list.

A screenshot of a cell phone Description automatically generated with low confidence

Tab selection

You can select Voltage or Power tab to view their specific chart and tuning parameters.

The Voltage tab is selected by default.

A screen shot of a computer Description automatically generated with low confidence

Refresh Panel

Refresh panel option is used to update coefficient filters data without relaunching panel.

A picture containing text, screenshot, software, multimedia software Description automatically generated

Coefficient Chart

The panel has a chart that has only total amplitude and total phase graphs.

Contour Filter 1-3

Three separate bi-quadratic filters are used to model the frequency-dependent peak-voltage limit for the speaker.

Admittance Filter 1-3

Three separate bi-quadratic filters which are used to model the admittance of the speaker. These are used to calculate current consumption and in turn estimate power.

Tuning Parameters

Voltage limiting parameters

A screen shot of a computer Description automatically generated with medium confidence

  • Voltage Threshold Linear Scale: The reference threshold from which the contour filters bias the incoming signal.
  • Voltage Attack Rate: The rate at which the peak-limiter reduces gain when the contoured threshold has been crossed.
  • Voltage Release Rate: The rate at which the peak-limiter goes back to unity gain when the contoured threshold is not being crossed.
  • Voltage-Peak Time-Constant: The tau-constant for the first-order averaging filter used in envelope detection. The envelope level will decay at this rate when the signal-peak is at a lower level.

Power limiting parameters

A screen shot of a computer Description automatically generated with low confidence

  • Short-term Power Threshold: The power threshold over which the short-term power limiter will start reducing gain.
  • Short-term Average Time: Averaging time-window for the short-term power limiter.
  • Long-term Power Threshold: The power threshold over which the long-term power limiter will start reducing gain.
  • Long-term Average Time: Averaging time-window for the long-term power limiter.
  • Power Attack Rate: The rate at which any of the power limiters will reduce gain when the threshold is crossed.
  • Power Release Rate: The rate at which any of the power limiters will go back to unity gain when the threshold is not being crossed.
  • Power Depth: The maximum attenuation allowed for the power limiters.

Changing the parameter value

You can change the value in four ways:

  • Using slider button: Select the slider to adjust the value.
  • Using mouse scroll: Click on the respective column and use mouse scroll to adjust the value.
  • Chaning the value in the text box: Select the respective column and enter the value within the specified minimum and maximum range. Once you’ve entered the value, press Enter, and the slider will automatically adjust based on the input.
  • Using the increase and decrease buttons you can change delay by calculated.

Maximum/Minimum parameter value

Maximum and minimum parameter values are derived from corresponding state variable of power manager.

Yes No
Last updated on November 24, 2023

14.Voice Objects

  • SSE – Speech Signal Enhancement (Cerence 3rd party)
  • ICC – In car communication (Cerence 3rd party)
Yes No
Last updated on November 2, 2023

14.1.SSE

The SSE (Speech Signal Enhancement) is a 3rd party product by Cerence™.

The SSE is an advanced, modular library of field-proven algorithms specifically designed to improve the quality of voice communication. It enhances the performance of in-car hands-free communication and speech recognition systems. The library contains algorithms like beamforming, echo cancellation, noise reduction, wind noise removal, automatic gain control, bandwidth extension etc. (For more details see the SSE product specification.)

The library supports a large variety of configurations – from a simple single channel system to a multi-channel solution with many additional features. By means of SCD (SSE Configuration Data) the algorithms can be adjusted to the system and the acoustic environment they are used in. SSE gets a various number of microphone signals representing audio captured by microphones in the car cabin, by the IoT device or similar. For hands-free applications it may also get a receive input signal representing the signal from the far-end speaker. The optional reference signals are used by the echo canceller in hands-free applications and speech recognition with barge-in.

Yes No
Last updated on November 24, 2023

14.2.ICC

The ICC (In Car Communication) is a 3rd party product by Cerence™.

The communication between passengers in a vehicle – especially between front and rear passengers – is often difficult due to the high acoustic loss of the speech level and the background noise superimposing the speech signal. Therefore, speakers must speak louder than normal, which makes longer conversations stressful, and if the driver turns his head even driving safety is impaired. The In-Car Communication audio object helps to overcome these problems by improving the intelligibility of conversations between front and rear passengers in a vehicle. The ICC system picks up the speech signal of the seat dedicated microphones and distributes them via the sound system. Signals from the front passengers are played back via the rear loudspeakers; signals from the rear speakers via the front loudspeakers.

The signal processing algorithms of the ICC attenuate background noise and ensure stable operation of the system by suppressing feedback echoes and howling. This is accomplished by noise and feedback suppression algorithms optimized for the low latency requirements of the ICC system. An automatic gain control compensates for varying speech levels of different speakers, while an adaptive level control adjusts the system gain to the current background noise level. This ensures an unobtrusive operation of the system while providing always the required speech gain. The user can select between different gain curves to adjust the ICC system to his needs. The overall system gain is limited to guarantee system stability and the system is automatically deactivated if the entertainment level exceeds a predefined level using an entertainment reference channel. Distortion of the audio signal at high playback levels may be avoided.

Yes No
Last updated on November 24, 2023

15.FFT Based Processing

  • FFTCalc
Yes No
Last updated on November 2, 2023

15.1.FFTCalc

The FFTCalc AO is used to get frequency content based on band energies.

Input block of length L along with previous N-L samples form a frame of length N (number of FFT points). This frame is multiplied with window function and fed to Real Radix 2 FFT.  The minimum and maximum FFT point supported is 32 and 4096 respectively. Thus, the minimum and maximum resolution for the sampling rate of 48000 is 1500Hz and 11.72Hz respectively.

The FFTCalc provides 4 fixed control outputs giving band information. Three are for band-specific info and one for the entire spectrum.

Design Time Parameters

  • FFT size: an additional configuration parameter, should be selected to be power of 2. Other values are not accepted by GTT.
    • FFT size is lower bounded by the block length.
  • Block Length: supports all the block lengths supported by the framework upto 4096.

The number of FFT points (N) and sampling rate decides the frequency resolution of the bin. When FFT points selected is lower the frequency bins may not correctly correspond to the designated band and they may fall into adjacent bands because of lower frequency resolution. It is required to correctly choose the number of FFT points. Frequency resolution is computed using the below formula
Frequency resolution = sampling rate/number of FFT points

We recommend choosing FFT points based on frequency resolution requirements.

For E.g if the sampling rate is 48KHz and we want a frequency resolution less than 100Hz  Number of FFT points selected can be greater than or equal to 512

  • It is recommended to choose either Hamming/Hanning window for better frequency response.
  • Currently, the FFTCalc object supports mono channel only

The AO supports in-place computation based on the core type.

Tuning Parameters

Name Description Data Type Default value Range Units
Band1LoFrequency Band 1 Low Band Frequency in Hz Float 80 [0,fmax]     Hz
Band1HiFrequency Band 1 High Band Frequency in Hz Float 300 [0,fmax]     Hz
Band2LoFrequency Band 2 Low Band Frequency in Hz Float 600 [0,fmax]     Hz
Band2HiFrequency Band 2 High Band Frequency in Hz Float 2500 [0,fmax]     Hz
Band3LoFrequency Band 3 Low Band Frequency in Hz Float 7000 [0,fmax]     Hz
Band3HiFrequency Band 3 High Band Frequency in Hz Float 15000 [0,fmax]     Hz
WindowFunction

0-Rectangular Window

1-Hamming Window

2-Hanning Window

ULong 0 (Rectangular Window) [0,2]    NA
Mode FFTCalc mode (No processing/Energy/Power) # ULong 0(No processing) [0,2] NA

 

Yes No
Last updated on November 24, 2023

16.Immersive Audio

Immersive audio objects category contains the following audio objects:

Yes No
Last updated on June 21, 2024

16.1.Mono Detection

The purpose of the Mono Detection audio object is to identify whether the time domain input signal is mono or stereo.
The signal used for the analysis is the 2-channel audio input.

  • Control output signal 1 indicates that the input is identified as mono
  • Control output signal 0 indicates that the input is identified as stereo

The algorithm consists of Pearson Correlation Coefficient calculation and logic combined with the energy difference between two channels to segregate mono or stereo.

Features

  • Available in the Immersive Audio section of GTT
  • Supports all framework configurable sample rates and block lengths.
  • Supports both Win64 and GUL platforms.

Use Case: This audio object used to define separate audio processing paths depending on their nature.

Supported Configurations:

  • Block Length: 128 and 256 samples
  • Sample Rate: 24000, 48000 and 96000 Hz

Mono Detection Properties

Below table describes about the Mono Detection audio object properties and functionality.

Properties Description
# of Audio In The number of input channels is fixed to two (L-R) and no output channels.
Display Name Display name of the MonoDetect audio object in signal flow design. It can be changed based on the intended usage of the object.

Mode

Mono Detection audio object doesn’t support any mode.

Additional Parameters

Mono Detection audio object doesn’t have any additional parameters.

Tuning Parameters

Parameter Description Memory Offset Unit Default Range
BYPASS Defines if the MonoDetect bypasses its processing.

  • Bypassed = 1, the current output is held.
  • Not bypassed = 0, the normal MONO/STEREO identification is carried out.
0 None 0 0 to 1
THRESHOLD_HI Defines the upper bound for the region to consider if a signal passes from STEREO to MONO. 4 None 0.995 0 to 1
THRESHOLD_LO Defines the lower bound for the region to consider if a signal passes from MONO to STEREO. 8 None 0.65 0 to 1
XDBDIFF Defines the minimum difference in dBs between the energy of L-R channels to define if a signal is MONO or STEREO. 12 None 0.1 0 to 1
TIMETODETECTMONO Defines the time ramp for transitioning from STEREO to MONO. 16 ms 350 0 to 1000
TIMETODETECTSTEREO Defines the time ramp for transitioning from MONO to STEREO. 20 ms 350 0 to 1000
MINXCORR Defines the maximum correlation value minimum cross-correlation value  for a block to be eligible for processing. 24 None 0.5 0 to 1
NOISEFLOOR Defines the minimum mean energy per block accepted by the AO. Energies per block below this threshold will be considered as noise. 28 dBs -30 -128 to 0

Control Parameters

Name
Description
Range
Default
Mono State
Mono or Stereo

0 – Stereo

1 – Mono

0

Native Panel

Mono Detection audio object does not support native panel.

Yes No
Last updated on June 21, 2024

16.2.NSP Center Extraction

The purpose of the NSP Center Extraction is to estimate the similar content in from two audio input signals (Left and Right) and provide an output with the estimated center channel.

The NspCenterExtraction (Natural Surround Processing Center Extraction) audio object receives a two-channel signal (Left and Right, L and R) and produces five output signals.

  • 1 – Center (C)
  • 2 – Residual L (L minus C)
  • 3 – Residual R (R minus C)
  • 4 – Delayed Left (L)
  • 5 – Delayed Right (R)

An example of a signal flow design.

The first output signal is the estimated C channel.

Features

  • Available in the Immersive Audio section of GTT
  • Supports sample rates: 11025, 12000, 22050, 24000, 44100, 48000 and 96000 Hz
  • Supports block lengths: 32, 64, 128 and 256.
  • Supports both Win64 and GUL platforms.

NSP Center Extraction Properties

Properties Description
Display Name Display name of the NSP Center Extraction audio object in signal flow design. It can be changed based on the intended usage of the object.

Input and Output: The number of input channels is fixed to 2 and the number of output channels is fixed to 5.

Mode

The audio object doesn’t support any mode.

Additional Parameters

The audio object doesn’t have any additional parameters.

Tuning Parameters

The audio object doesn’t have any tuning parameters.

Control Parameters

The audio object doesn’t have any control parameters.

Native Panel

NSP Center Extraction audio object does not support native panel.

Yes No
Last updated on November 20, 2023

16.3.Decorrelation

The purpose of Decorrelation audio object is to minimize spectral distortion while simultaneously reducing the correlation between the output channels. Different approaches can be applied to the signals to produce different uncorrelated audio channels. The simplest decorrelation approach is to randomize the phase.
In the context of multichannel sound production, decorrelation refers to the process by which one audio input is turned into several output signals with waveforms that appear distinct but sound the same as the source. This method extends the spatial image while avoiding unwanted comb-filtering artifacts.

A computationally efficient approach based on sparse convolution has been devised . This approach uses OVN (Optimized Velvet Noise) filters to achieve decorrelation, and this is the approach being used in the implementation of the Decorrelation AO.

Feature

  • Available in the Immersive Audio section of GTT
  • Supports sample rates: 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000, 64000, 96000 Hz.
  • Supports block lengths: 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096.
  • Supports non-zero elements (to store position and amplitude values): 1 to 64.
  • Supports both Win64 and GUL platforms.

Decorrelation Properties

Below table describes about the Decorrelation audio object properties and functionality.

Properties Descriptions
Number of Channels Decorrelation audio object supports configurable number of input channels.

  • Range:1 to 16
  • Default: 2

The Decorrelation audio object supports the same number of output channels as the number of input channels.

Number of non-zero elements The Decorrelation audio object supports the number of non zero elements, to store position and gain values, ranging from 1 to 64 and 1 being the default..
Display Name
Display name of the Decorrelation audio object in signal flow design. It can be changed based on the intended usage of the object.

Mode

The Decorrelation audio object doesn’t support any mode.

Additional Parameters

Name
Description
Range
Default
Filter Length
Filter length including zeros and non zero elements.

64 to 2048

1024

Tuning Parameters

Parameter Description Format Memory Offset Unit Default Range
BYPASS Bypasses the Decorrelation audio object when active.

  • 0: No bypass
  • 1: Bypass
Float 0 0 0 to 1
COLOR_SPACE_RATIO Defines the percentage of the maximum decorrelation that the IRs can achieve applied in the current decorrelation process.

  • 0: Minimum decorrelation and minimum coloration
  • 100: Maximum decorrelation (achievable by the current Irs) and maximum coloration
Float 4 100 0 to 100
Coefficients for Channel 0 Coefficients for channel 0 Float
Coefficients for Channel N – 1 Coefficients for channel N – 1 Float

Control Parameters

There are no control parameters available for Decorrelation audio object.

Yes No
Last updated on March 7, 2024

16.3.1.Decorrelation Panel

The Decorrelation audio panel allows to load the impulse responses (IRs) coefficients to be used for decorrelation processing for each channel. Use “Import” or “Import All” option to import the IRs. The panel will display channel wise graph for coefficients and filter length.

  • Channels: Show all channels list, you can select channel to view its graph.
  • Sample Rate: Show sample rate of current framework instance.
  • Non-zero Taps: Show non-zero elements defined for decorrelation audio object.
  • Graph: Show graph of coefficients and filter length.
  • Import: Use to import selected channel coefficients file.
  • Import All: Use to import all channels coefficients file.
  • Send: Use to send non-zero coefficients to device.

Validation

It will validate coefficients file and ask confirmation for below error messages.

  • The filter length does not match the number of coefficient rows in the CSV file.
  • The number of non-zero elements does not match the number of coefficient rows in the CSV file.
  • The CSV file contains more coefficient columns (for Import).
  • The CSV file columns do not match the channels (for Import all).

If you click on “Yes”, then it will proceed for import else it will cancel it.

“Import” and “Import All” will update state variables and send non-zero coefficients to device if device online.

Yes No
Last updated on June 17, 2024

16.4.Reverb Lite

The Reverb Lite is a reverb algorithm that processes input audio signals by applying artificial reverberation to a dry signal. 

Features

  • Available in the Immersive Audio section of GTT.
  • Supports sample rates: 22.050, 24, 44.1, 48, 88.2, 96, 176.4, 192, 352.8, 384 kHz.
  • Supports block lengths from 16 to 4096 in multiples of 16.
  • Supports both Win64 and GUL platforms.

Use Case: This audio object can be used whenever you need to apply reverb to a dry signal. It aims to have a low footprint on MIPS as it is an algorithmic reverb instead of performing convolutions with room impulse responses. In the context of immersive audio, one can use it to generate ambience reverb, which needs to be decorrelated if mixed into further channels.

Reverb Lite Properties

Below table describes about the Reverb Lite audio object properties and functionality.

Properties Descriptions
# of Channels Enter the number of channels. The number of audio channels it can process is configurable in the SFD.

  • Range: 1 to 2
  • The default value is set to 2.

It supports mono and stereo inputs and the same number of output channels as the number of input channels.

Display Name Display name of the Reverb Lite audio object in signal flow design. It can be changed based on the intended usage of the object.

This audio object takes the mono/stereo signal as an input and generates reverb from it. The output consists of either the reverb alone (“wet-only”) or a mix between the generated reverb and the original signal. The user can adjust the following parameters:

  • Reverb gain, from 0.0 to 1.0
  • Reverb time, from 0.0 to 1.0
  • Low-pass factor, from 0.0 to 1.0
  • High-pass factor, from 0.0 to 1.0
  • Pre-delay from 0ms to 500ms (if pre-delay is enabled)

Mode

These are the available modes for the Reverb Lite AO

Index Mode Description
0 Pre-delay 500ms Maximum pre-delay of 500ms
1 Pre-delay Disabled No pre-delay available. Used to reduce the memory footprint needed by the pre-delay block.

Additional Parameters

The audio object does not support any additional parameters.

Tuning Parameters

Parameter Description Data
Format
Memory
Offset
Unit Default
Value
Range
Time Affects feedback damping and output mixing so that a small RT factor resembles a small room, and a large factor approaches infinite reverb time.  float 0 None 0.618 0.0 to 1.0
Gain Linear reverb gain. A value of 0 means no reverb is applied, whereas the maximum gain of 1 applies the maximum amount of reverb in a way that it doesn’t exceed the original signal’s amplitude. float 4 None 0.25 0.0 to 1.0
Lowpass Internally, three filters are controlled by this, two of them in a feedback path (LP1 and LP2) and PRELP before the feedback path, which affects the reverb bandwidth directly. First order filters are used as they perform well in feedback paths, because they are guaranteed not to exhibit any resonance and offer finer control for soft fadeout of high/low frequencies.  float 8 None 0.75 0.0 to 1.0
Highpass Internally, two first order filters are controlled by this. HP1 as a reverb bandwidth control and HP2 that acts to filter the dampened signal inside the tank circuit.  float 12 None 0.0 0.0 to 1.0
Wet only When set to true, only the generated reverb is present at the output. If false, the input signal is mixed into the output. ULong 14 None 0 (false)

0 (false) to

1 (true)

Pre-delay Sets the amount of pre-delay to be applied. Only acts the pre-delay submodule is enabled (Pre-delay 500ms mode) float 16 ms 0 0.0 to 500

Control Parameters

There are no control parameters available for Reverb Lite audio object.

Native Panel

Reverb Lite audio object. does not support native panel.

Yes No
Last updated on November 30, 2023

17.Core Objects

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.

Graphical user interface Description automatically generated

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.

Yes No
Last updated on July 3, 2024

17.1.Xaf Instance

The Xaf Instance is the core object inside which the signal flow for that instance can be created.

Graphical user interface, text Description automatically generated

  • Core Object Id (execution order of core-object with-in core) and Instance Id (index of xAF instance with-in core, based on execution order) will be displayed as read-only fields.
  • The sample rate and block length of the instance will control signal flow within the instance. You can change the sample rate and block length of the instance in the properties section.

Graphical user interface, application Description automatically generated

Further information on signal flow creation is available in the GTT Signal Flow Designer guide.

Yes No
Last updated on May 22, 2024

17.2.Buffer

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).

Text Description automatically generated with low confidence

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.

Graphical user interface, application Description automatically generated

It can be configured as follows:

  • If the input block length is equal to the output block length, then it behaves as a pass through object (so you could have an audio core with a buffer object to connect the core input to the output)
  • Input and output block lengths must be integer multiple of each other
  • When input and output block lengths are not equal, the object handles taking in input at a lower block length and outputting it at a higher one and vice versa. For example, it facilitates the connection of an object at block length 32 to an object at block length 64

Introducing this object into your signal flow for any case but pass through WILL result in latency at the output.

Yes No
Last updated on July 3, 2024

17.3.Splitter

Splitter core object is used to convert one input to multiple outputs of the same sample rate and block length.

Text Description automatically generated

  • This core object always has a single input.
  • In order to make routing from any core object to the splitter both the source core object and splitter core objects sample rate and block length should match.
  • Number of output channels for the splitter is configurable.

Graphical user interface, text, application Description automatically generated

It is not to be confused with the Splitter audio object.

This object operates in parallel to an xAF instance NOT within it.

Yes No
Last updated on July 3, 2024

17.4.Merger

Merger core object is used to merge multiple inputs into a single output of the same block length and sample rate.
Text Description automatically generated

  • This core object always has a single output.
  • In order to make routing from any core object to merger both the source core object and merger core objects sample rate and block length should match.
  • Number of input channels for the merger is configurable.

Graphical user interface, application Description automatically generated

It is not to be confused with the Merger audio object.

This object operates in parallel to an xAF instance NOT within it.

Yes No
Last updated on July 3, 2024

17.5.Ssrc lir Int

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.
Text Description automatically generated

Two options are provided to convert the sample rate. Both these options are mutually exclusive.

Graphical user interface Description automatically generated

IIR Integer Multiple SSRC

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:

  • User Coefficients mode
  • Predefined Coefficients mode

Before we get into the details, there are some common configuration parameters between the two.

  • The input block length needs to be set by the user.
  • The Biquad filter topology. Currently 2 topologies are exposed.
    • Direct Form I
    • Direct Form II

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.
A screenshot of a computer Description automatically generated with medium confidence

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.

Graphical user interface, text, application Description automatically generated

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.

A screenshot of a computer Description automatically generated with medium confidence

For these pre-defined coefficients, the quality measures are as follows:

  • Signal to noise ratio: 80 dB
  • Total harmonic distortion: 2e-3f
  • Spurious free dynamic Range: 59 dB
  • Total harmonic distortion plus noise: -60 dB
  • Frequency response flatness: 3 dB

Output block length (Displayed as a read-only field) = (Output sample rate /Input sample rate) * Input block length.

Yes No
Last updated on July 3, 2024

17.6.Float to Fixed

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).
Graphical user interface, text Description automatically generated

  • # of Channels is configurable. No of Input channels = No of Output channels
  • The user can configure the scalar value to indicate what fixed point format is required. This scalar value is multiplied by the floating point input samples to convert them to fixed point.
    For example, to convert from float to 32 bit fixed point, this scalar value must be:
    (1 << (32-1) – 1) = 2,147,483,647
  • In order to make routing from any core object to Float2Fixed object both the source core object and Float2Fixed core objects sample rate and block length should match.

Float To Fixed core object is enabled for audio libraries version 16 and greater.

Graphical user interface, application Description automatically generated

Yes No
Last updated on July 3, 2024

17.7.Fixed to Float

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.
Graphical user interface, text Description automatically generated

  • # of Channels is configurable. No of Input channels = No of Output channels.
  • The user can configure the scalar value to suit the fixed point format of the input samples. The reciprocal of this scalar value is multiplied by the fixed point input samples to convert them to floating point.
    For example, to convert from 32 bit fixed point to float, this scalar value must be:
    (1 << (32-1) – 1) = 2,147,483,647
  • In order to make routing from any core object to Fixed2Float object both the source core object and Fixed2Float core objects sample rate and block length should match.

Fixed To Float core object is enabled for audio libraries version 16 and greater.

Graphical user interface, application Description automatically generated

Yes No
Last updated on July 3, 2024

17.8.Nan Detector

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).

Graphical user interface, text Description automatically generated

  • # of Channels is configurable. No of Input channels = No of Output channels.
  • Block length and Sample rate are configurable.
  • The number of input channels is user configurable and ranges from 1 to 255.
  • This core objects’ block length and sampling rate are the same at both input and output side.
  • Block length is configurable in the range of 4 to 4096 samples.
  • Sample rate is configurable in the range of 8 kHz to 192kHz.

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.

A screenshot of a computer Description automatically generated with medium confidence

Yes No
Last updated on July 3, 2024
Suggest Edit