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 any audio or control object and pass it to the xAF instance (AudioProcessingBase). The control output can be routed to another core object (currently only xAF instances are using controls) or to the virtual core output.

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

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

ControlOut Properties

Below table provides 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 100
  • By default, the number of control input signals is set to 1.
Display Name Display the name of the ControlOut object in the signal flow design. It can be changed based on the intended usage of the object.
Additional Parameters The ControlOut audio object has one additional configuration parameter — Group Sizes

Mode

There are no modes available for the ControlOut object.

Additional Parameters

Parameters Description
Group Sizes This is an additional parameter which is an array with a length equal to Number of Control Inputs.

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.

Tuning Parameters

There are no tuning parameters available for the ControlOut object.

Control Interface

The object supports configurable control inputs. It accepts various size block control(s) and any combination of single and block controls as configured through additional configuration.

Native Panel

The ControlOut audio object does not support the native panel.

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.

For more details, refer Filter Objects General Information

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

*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 Interface

The object has one control input to change the frequency when “Parameter One control set” mode is selected, and this control pin data is applicable for all channels.

Parameter Description Data Type Range Unit
Frequency To change the cut off frequency of the filter xFloat32 10 – 0.4995*sampleRate Hz

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 Interface

There are no control parameters available for CoefficientBiquad audio object.

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 Interface

There are no control parameters available for XoverBiquad audio object.

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, 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 the following use case.

  • Stream WAV files from the local filesystem in real-time
  • Resample to the target sample rate if needed
  • Option to support play speed from 0.1 to 10
  • Option to repeat playback in loop mode indefinitely or for a fixed number of times
  • Option to insert a configurable silence period in between file playback in loop mode
  • Shall support option to disable/enable pitch shifting (linear and polyphase)
  • Shall support mixing the file content with the output of another AO
  • Support a configurable number of output channels (up to 16)
  • Configurable cache to suit platform capabilities and requirements
  • 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 Config (multi-dimensional)
  • File Type
  • Data format (only for PCM mode)
  • Content Sample Rate (only for PCM mode)
  • Select Interval Type
  • Enable Loop count

Mode

The 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
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 the previous AO to generate the output.

  • 0 – Disabled (Default)
  • 1 – Enabled

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

CacheBuffer Config This is a three-dimensional additional parameter.

1. Cache buffer: Size of internal memory to be allocated for reading data in the background thread.

  • Range: 256 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.

2. Max samples/call: Maximum number of samples that can be read in a single background call for a channel. This helps to control the peak load in the background thread while configuring a new channel

  • Range: 256 to Cache buffer size (# 1)
  • Default: 16384 samples

3. Min samples/call: Minimum number of samples that can be read in a single read API (platform) call for a channel. This helps to control the call overhead due to frequent call of read API

  • Range: 1 to least of the below two:
    • Half of the Cache buffer size (#1)
    • Max samples/call (# 2)
  • Default: 8192 samples

All the above range restrictions are applied by the FilePlayer AO while booting. These range restrictions cannot be enforced by the GTT because, with a multi-dimensional additional parameter, for all the parameters, GTT uses the single min/max values available in the toolbox. Hence, the SFD designer is advised to ensure the limits are honoured (as seen in the side note of the pop-up window).

File Type The object supports the following 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 the framework shall be supported

The default sample rate is 48000 Hz.

Select Interval type The way the interval duration is to be used can be configured here.

  • 0 – Playback and silence (Default) – used in Intermittent mode
  • 1 – Silence only – used in Loop mode
  • 2 – Disable inserting silence between playback
 
Enable Loop count This parameter is used to configure if the loop count feature is to be supported.

  • 0 – Disable Loop count (Default) – repeats indefinitely in loop mode
  • 1 – Enable Loop count – repeat only for the number of times specified in the loop count tuning parameter or control input

Tuning Parameters

The tuning parameters of the FilePlayer audio object support the following parameters.

  • 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.
  • 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.
Parameters Description Unit Range Default
Ramping Params Sub block
Fade-in time Applied for control change from Stop / Pause to Play

This period needs to be less than the file playback duration.

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.

The sum of fade-out delay and fade-out time needs to be less than the file playback duration.

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.

The sum of fade-out delay and fade-out time needs to be less than the file playback duration.

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. 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.

This period needs to be less than the file playback duration.

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
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
  • 4 – Reverse One Shot
  • 3 – Reverse Loop
 None 1 to 5 (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*

or

Silence

 

This parameter is available only when the interval type is not disabled in the ‘Select Interval Type’ additional parameter. Based on the option chosen in the additional parameter, one of the following two parameters will be available: Interval OR Silence

Interval: When ‘Select Interval Type’ = 0.

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

Silence: When ‘Select Interval Type’ = 1.

This is applicable only in Loop mode. This is the silence period inserted after each file playback. When the parameter value is zero, the loopback is seamless.

Interval: s

Silence: ms

Interval:

  • 0.01 to 1000
  • Data Type:  Float

Silence:

  • 0 to 1000
  • Data Type:  Unsigned Int
Interval: 10

Silence: 0

Loop Count This parameter is available only when Loop count is enabled in the additional parameter. If not enabled, the file playback is repeated indefinitely.

Also, this parameter is applicable only in loop mode. If the value is zero, the file playback is repeated indefinitely; else the file playback is repeated for the given number of times. When in loop play mode, this parameter value is applied only when the AO is in stop state and not when it is in play state.

None 0 to 10000

Data Type: Unsigned Int

 

0
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 present.

** Playback Duration = File Duration / Play Speed

State Parameters

The state parameters of the FilePlayer audio object support the following parameters.

  • Function State Subblock: 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.
  • File State Subblock: 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.
State parameters Parameters Description Unit Range Default
Function State Subblock 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 Subblock 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 Interface

Control Inputs: The FilePlayer has the following Control Inputs.

  • 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.
  • 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 an equal number (N) of control inputs for each file (channel).
  • Interval / Silence Control Pins: Only one of them – Interval or Silence pin – can be made available based on the configuration in the additional parameter – ‘Select Interval Type’. 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 an equal number (N) of control inputs for each file (channel).
    The interval control pin is applicable only in INTERMITTENT play mode and is used to change the interval period of the playback.
    Silence control pin is applicable only in LOOP play mode and is used to change the required silence period after each file playback.
  • Loop Count Pins: These pins are available only when the loop count feature is enabled in the additional configuration parameter. If it is not configured, the file playback is repeated indefinitely.
    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 an equal number (N) of control inputs for each file (channel).
  • 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).
Control Input Parameter Description Size in Float Words Range
Block Control Channel ID Channel ID to associate with each output channel. 1 of 4 1 to 16
File ID 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 (used only when ‘Select Interval type’ additional parameter is configured to 0 (Playback and Silence)
  • 4 – Reverse One Shot
  • 5 – Reverse Loop
3 of 4 1 to 5
Start Position Start position in percentage from where file will be played. 4 of 4 0 to 99.99
Function Control Pins Function
  • 1. STOP (default on boot-up)
  • 2. PLAY
  • 3. RESET (STOP followed by PLAY)
  • 4. PAUSE
N 1 to 4
Interval / Silence Control Pins Interval This is the interval period at which the file will be played from the beginning periodically. N 0.01 to 1000 s
Silence This is the silence period inserted in between consecutive file playback. N 0 to 1000 ms
Loop Count Pins Loop count This is the number of times the file playback is to be repeated. If the value is zero, the playback is repeated indefinitely. When in loop play mode, this control value is applied only when the AO is in stop state and not when it is in play state. N 0 to 10000
Pitch Control Pins Play Speed This is the play speed at which the file is played.

The control input is in terms of play speed.

N 0.1 to 10

Control Outputs: 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.
Control Output Description Size in Float Words Range
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

 

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, a mono file can also be played.
– If a WAV file with content in unsupported format is configured, the file will not be opened. In PCM files, the format configured in the additional parameter is applied on the files.
– In 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.
– 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.

 – It is recommended to configure the sound card block length to less than the cache buffer size under Sound Card Configuration while using IVP. It is recommended to use 1024 as the minimum cache size on IVP.
– The actual memory required for the supporting the intermediate cache buffer size will be slightly more than the size specified in the additional parameters as it is required to store extra data (of polyphase filter order) for supporting filtering. The memory latency table shall be referred for exact memory requirements.
– To configure the cache as ping-pong buffers, the max samples/call and min samples/call in the additional parameter shall be set to half of the cache buffer size.
– To configure the cache as circular buffer, the min samples/call in the additional parameter shall be set to 1.
– 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.

– In a Single Multichannel file, let the number of channels 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,d leading to improper output.

Native Panel

The FilePlayer audio object does not support the native panel.

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

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)).

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 Interface

There are no control parameters available for Adder audio object.

Native Panel

Adder audio object does not support native panel.