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 support DelayPool functionality as an operating mode. In this mode, the 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 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 the audio object. For Delay Pool  (Refer below on mode details) mode Max Delay is the maximum delay that 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 the 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 operates 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 the 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 the sum does not exceed the 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.
The audio object would accept the delay values when the sum returns back to the 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 Interface

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