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 Interface

There are no control parameters available for Merger audio object.

Native Panel

Merger audio object does not support native panel.

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 Interface

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.

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 Interface

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.

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

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 Interface

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.

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 Interface

There are no control parameters available for Demux audio object.

Native Panel

Demux audio object does not support native panel

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.In this mode, the splitter takes in input 1 and sends it to output 1 and 2. Input 2 is sent to output 3 and 4.

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 Interface

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

Native Panel

Splitter audio object does not support a native panel.

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 Interface

There are no control parameters available for Router audio object.

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 Interface

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.