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.

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 the 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 Case: 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 provides 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 the 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 the 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 the following two modes.

  • Audio In
  • Audio Out
Additional Parameters There are no additional parameters available for the AudioIO audio object.

Object Mode

The AudioIO audio object supports the 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.

Tuning Parameters

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

Control Interface

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

Native Panel

AudioIO audio object does not support the native panel.

ControlIn

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

The ControlIn object does not support control id configurations from “Y-Release” onwards. The control id configuration is now available on the device level of the Master Control entity. For more information, please refer Master Control.

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 the user can be converted to Frequency, Gain, and Quality factor for ToneControl audio objects to give the desired effect for the audio signal. 

ControlIn Properties

Below table provides 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 signals is 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.
Additional Parameters The ControlIn object audio object has additional parameters — Group Sizes

Mode

There are no modes available for the ControlIn object.

Additional Parameters

Parameter Description
Group Sizes This is an additional parameter which is an array with a length equal to “Number of Control Outputs”.

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

Example: The array [1,3,256,1] means the first control input has a block size of 1 (single control), the second has a block size of 3 (block control), the third has a block size of 256 (block control), and the fourth has a block size of 1 (single control).

Tuning Parameters

There are no tuning parameters available for the ControlIn object.

Control Interface

The ControlIn object passes the control signals received from the framework instance to the receiving audio/control audio object(s). It does not support any modification or broadcasting of pins.

Native Panel

The ControlIn object does not support the native panel.

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.