Tuning and Editing Compound Audio Object

Once you have created a compound audio object. You can perform the following actions on the compound audio object.

Edit a Compound Audio Object

To edit a Compound Audio Object:

  1. On the Signal Flow Designer window, select the compound audio object under the Compound Audio Object category in the toolbox and click Edit through the context menu. This opens the Compound Audio Object editor.
  2. On the Compound Audio Object editor, modify the configuration and tune the inner audio objects.
  3. Click Save, once the modifications are done.
    The compound audio object or tuning version is automatically incremented when you close the Compound Audio Object editor window. Tuning major version auto-increment happens for the below scenarios.

    • When an audio object is added or deleted.
    • When the inner connection changes.
    • When there is a change in the audio object configurations inside the Compound Audio Object.
    • When the Object mode/ Additional parameters change.
    • When an audio object channel numbers are modified.
    • When an audio object is upgraded.
    • When the inner Audio object tuning data is modified.
  4. Close the Compound Audio Object editor window to redirect to Device Signal Flow.

If the Compound Audio Object version is changed, the Compound Audio Object in the Device Signal Flow will be highlighted in a different color and must be upgraded in order to save signal flow. Right-click on the highlighted audio object and select the upgraded audio object from the context menu.

On major version upgrade of CAO, tuning data will be set to the default tuning data of the CAO template in the toolbox.

Compound Audio Object can be edited without affecting the current working Device Signal flow. This means that you can edit Compound Audio Object while connected to a device. It will not interfere with the current device configuration.

Using the Ribbon Button under the Signal Flow Designer tab, you can view the State Variable Explorer for the currently designed signal flow. The title of the State Variable Explorer window will be “CAOTemp_(CAOName).”

The CAO name is “Loudness3bandCompoundAO” in the image below. The “CAOTemp_” is the suffix that denotes a temporary explorer for CAO editing.

Edit Compound Audio Object Meta Data

The Compound Audio Object metadata could be updated by clicking Edit Metadata in the ompound Audio Object view.

To Edit the Compound Audio Object Metadata:

  1. On the Signal Flow Designer window, select the compound audio object under the Compound Audio Object category in the toolbox and click Edit through the context menu. This opens the Compound Audio Object edit view.
  2. On the Compound Audio Object editor, click Edit Metadata. This opens the Update Static Metadata dialog box.
  3. Edit the Compound Audio Object Version or Tuning Version.
  4. Click Apply to update the changes.

During creation, the Compound Audio Object version and the Tuning version are set to 01.00.0 and 01.00 respectively.

When editing, you have the option to update the version of the Compound Audio Object or Tuning Version based on your needs, and this information will be recorded by GTT.

Auto increment always works with the latest version available before saving. This means, that if the user edits the version before saving, the updated version will be auto-incremented based on the above criteria.

Apply tuning to Compound Audio Object Template

Tuning a Compound audio object (CAO) in Signal flow can be performed live by connecting to the device. CAO inner audio objects can be tuned using custom panels, the state variable explorer, or set files.

By clicking Apply tuning data to Toolbox type, CAO instance tuning can be applied to the CAO template in Toolbox.

Tuning Panel Compound Audio Object

Compound audio objects are created by extracting audio objects from the signal flow. When the CAO is exported, both the compound audio object and the panel associated with it can be shared with others, and it is simple to tune when the CAO is imported. This section explains how to link a custom panel to CAO.

To link custom panel with Compound audio object:

  1. Open the GTT and create a Compound Audio Object. To create a Compound Audio Object follow the steps mentioned in the Create a Compound Audio Object section.
  2. Once Compound Audio Object is created, go to the Panel Designer tab to create a custom panel. To create custom panel, refer Create a Custom Panel in GTT section.
  3. Once the custom panel is created, go to the Signal Flow designer window and select the Compound Audio Object. This opens the property of the Compound Audio Object.
  4. On the Compound Audio Object property, check the Is Custom Panel option and select the appropriate custom panel from the list box.
  5. Double-click on the Compound Audio Object to launch the custom panel.

    There will be exclamation marks on the control if the state variables are not associated with the control. All exclamation marks must be fixed before proceeding further.
    Refer to Create a Custom Panel in GTT to link state variables to controls.

  6. Once the custom panel is verified, go to the Compound Audio Object property, and click on Link Custom Panel to CAO in Toolbox.
  7. Click Ok to confirm. Now the custom panel is linked with the toolbox type.

This option will be available only if the audio object selected is a CAO type.

Sharing Compound Audio Object

Once the custom panel is linked with the CAO, you can verify the link by dragging the CAO into the signal flow and double-clicking it. The panel should launch like any other audio object with default panels.

To share the compound audio object with others, export it as a .cao file, refer to Export a Compound Audio Object section.

If the .cao file contains a custom panel, it will be associated with the panel when the CAO is imported. CAO can be launched and tuned by dragging it into the signal flow designer and double-clicking it.

Editing Compound Audio Object

In addition, it is possible to make changes to CAO files that have exported as .cao files.

To include the CAO Custom panel to the list:

  1. Go to the Compound Audio Object property, and click on the Add CAO Custom panel to the list.

This will open up the edit custom panel window where you can make further modifications.

The edit option for “Add CAO Custom panel to the list” feature will be available only for CAO type only.

Signal Flow Design Validation

DDF Template Validation

In case there are issues with the DDF file generated by the toolbox during creating a device or modifying of the signal flow, an error notification will be displayed. GTT will recognize any audio object that is incomplete or has failed as corrupt.

It is recommended that you should fix the DDF template of the affected audio object and proceed with your work.

  • If you import or open a project that contains a corrupted audio object, a warning message will be displayed.

    On opening the signal flow which has corrupted object, the corrupted audio object will be highlighted as shown below, and the same will be displayed in the compiler error window.
  • If the signal flow has corrupted objects on sending or exporting signal flow, the following message will be displayed.
    A screenshot of a computer Description automatically generated with medium confidence
  • If there is a mismatch between Sample Rate/ Block Length of instance signal flow and current audio object in the toolbox, then a warning message pops up and the corresponding object will be disabled in the toolbox.
  • If there is a version mismatch between the current audio library version and the version data on the device, a warning message appears asking whether to continue or stop saving.
  • If there is a tuning version mismatch between audio objects in the signal flow and audio objects in the toolbox, a warning message will be displayed, showing the tuning version differences, and those audio objects are highlighted in blue.
    A picture containing table Description automatically generated
  • If the Sample Rate/Block Length does not match, a message will be displayed asking if you want to continue or stop saving.

Additional Parameters Validation

The GTT will perform validation of input data in the additional parameters window, based on the information provided by the xAF dll for specific audio objects.

The below validations are added on xAF and GTT.

  • ASCENDING
  • DESCENDING
  • NOTEQUAL
  • EVEN
  • ODD
  • EVEN_ASCENDING
  • EVEN_DESCENDING
  • ODD_ASCENDING
  • ODD_DESCENDING

The below figure displays the value entered should be an odd value. An error message is displayed to when an even value is entered.

Block Control

This feature enables signal flow designer to group multiple control signals into a block control.

Audio objects needed or block control signal to control signal conversion and vice-versa.

  • Control Grouper: Facilitates SFD user to group the control signals into block control.
  • Control Splitter: Facilitate SFD user to split the individual control signals.

Any audio object which supports block control should declare a flag in dynamic metadata as below.

The block control connections are highlighted as thick lines in both SFD and CAO signal flows.

Block control pins are in dark orange color and on connection mouse hover block pin details are displayed.

It is possible to make block connections only when the group count matches. Else a validation error will be thrown.

If the group count is 1, it is possible to connect normal control pin with block control pin.

Undo and Redo Operation

The undo and redo feature allows you to reverse or redo previous actions.

  • Undo: The undo feature allows you to reverse the previous action by restoring the design state to a previous design state.
  • Redo: The redo feature allows you to perform the action that is undone.

Undo and redo feature is not available in the tuning flow view.

Undo/Redo operation is supported for the following actions:

  • Add/Remove of audio objects.
  • Add/Remove of audio object connections Audio object movements.
  • Audio object property changes.
  • Additional parameter, additional parameter config changes Pin label, connection label changes.
  • Copy/Paste of audio objects.
  • Audio object processing state actions.
  • Extract CAO.

The scope of Undo/redo will be within the specific instance.

In some cases, a toast message appears to help invisible items getting undone or re-done.

  • Additional parameter config panel changes.
  • When processing state cannot be applied.

Undo/redo action will not restore the tuning data.

This feature is limited to 1000 actions.

When a new manual action is perfromed, all existing redo records will be cleared. As a result, it will not be possible to redo any previous actions.

Copy and Paste Operation

The signal flow designer offers the capability to copy and paste audio objects, which can accelerate the design process. You can select a complete signal flow or a part of the signal flow. All the audio object properties will be copied along with UI properties.
Additionally, you can copy and paste the compound audio object.

Use the CTRL+C shortcut to copy selected audio objects and CTRL+A  & CTRL+C to copy the entire signal flow design.

To copy the single audio object follow the below steps:

  1. In the signal flow designer, right-click on an object and select Copy from the context menu or use CTRL+C to copy.

    After the object or signal flow design is copied, you can paste it into the same or a different framework instance.
  2. Right-click on the signal flow designer and select Paste from the context menu or use CTRL+V to paste the audio object.

To copy the multiple audio objects follow the below steps:

  1. In the signal flow designer, hold the Ctrl key and click on each object you want to copy or use CTRL+A to select all objects in the designer.
  2. Right-click on the selected objects and choose Copy selected items from the context menu or use the keyboard shortcut Ctrl+C.
  3. Right-click on the desired location in the signal flow designer where you want to paste the copied objects, select Paste from the context menu or use the keyboard shortcut Ctrl+V.

Copy and paste operations can also be performed outside the audio object selection.

Change Audio Object Processing State

Audio engineers require a method for conducting A/B testing of signal flows and load balancing, as well as a simpler way to troubleshoot tuning data if errors occur.

You can achieve this by using the “Processing State” functionality, where you can change the audio object processing state.

The processing State function is only available when the device is connected.

These options are available to all audio objects except interface objects like Audio-In, Audio-Out, Control-In, and Control-Out. For the compound audio object, the selected state will be applied to all inner audio objects.

Following are the tasks carried out on the xAF side for each state:

  • Normal: Normal operation with the update of necessary internal states of the audio object; normal output.
  • Bypass: Normal operation with the update of necessary internal states of the audio object; input channel buffer data copied to the output channel buffers.
  • Mute: Normal operation with the update of necessary internal states of the audio object; output channel buffers cleared.
  • Stop: Input channel buffer data copied to the output channel buffers (no update of internal states).

The above states are only available through GTT for regular audio objects, and only Normal and Mute states are available for source objects such as Waveform generators.

Audio object which has a state other than ‘Normal’ cannot be tuned through the Native Panel.

Ramping

Linear ramping is provided with a ramp-up or ramp-down time of 50 ms. to ensure a smooth transition between states.
Ramping is not provided for any transitions involving the Bypass state, and each audio object must support it.
For the transition between Normal and Stop states, first the output is ramped down from the present state to the Mute state and then ramped up to the target state.
Every time you connect GTT to the device, audio object states from the device are read and applied to the signal flow designer. If you reboot the device, the processing states of Audio Objects will be set to ‘Normal’.

In signal flow designer you can reset all audio objects processing state to ‘Normal’ by using the ‘Reset’ button.

Upgrade Audio Object

When you launch signal flow designer by double-clicking on the Framework Instance in device view, GTT validates all audio objects that are mismatching with the toolbox. A report is displayed with the version difference of all audio objects, with the option to auto-upgrade them based on the user’s preferences.

If you select “Yes”, all audio objects will automatically be upgraded to the version equivalent to the toolbox version. If any compound audio objects exist. They must be upgraded manually.
If you select “No”, the signal flow will be launched and you need to manually upgrade them.

If the audio object in the signal flow design becomes out of sync as a result of modification. The compiler report will display a warning message, and the audio objects will be highlighted in blue.

To manually upgrade the audio object to the signal flow designer state; right-click on the highlighted audio object and select “Upgrade Audio Object” from the context menu.

Until N-release, if any audio objects are out of sync with the audio library, GTT will not allow you to save or send the signal flow to a device. To pass the validation, you must manually replace (delete) the current audio objects in the signal flow with the toolbox audio object. All connections and tuning data are lost during this process, which must be redone, resulting in increased effort.

The below image shows the context menu option to choose “Upgrade Audio Object”. When the audio object is upgraded, there will be messages to guide you to the next steps.

The following audio object properties will be upgraded:

  • Additional variables (added or deleted)
  • Modes (added or deleted)
  • Audio object properties like input/output, channels, etc
  • Tuning version

The audio objects with major tuning version changes or structural changes, such as additional variable changes, will be detected as incompatible and highlighted in blue. Until all these incompatible AOs are upgraded, signal flow cannot be saved.

Version changes in Tuning will be highlighted in blue and Until all these AOs are upgraded, signal flow cannot be saved.
Tuning data and Parameter sets will be preserved incase of a Minor version change while incase of a Major version it will not retain data

Example: When the tuning version of an audio object in the signal flow is 04.00 and the version in the toolbox is 04.01, only the minor version has changed. As a result, the tuning data will be saved.
Similarly, if the tuning version of an audio object in the signal flow is 04.00 and the toolbox version is 05.00, tuning data will be lost because the internal structure of the AO has changed.
When the upgrade is complete, a message will appear informing the user of the tuning data status.
Graphical user interface, application Description automatically generated

The above message is a warning that there may be a tuning data loss because the audio library changed the major version in the tuning version. The set group(s) to be modified will be listed in the message.
If no set groups are created using the respective audio object, the following message will be shown.
Graphical user interface, application, website Description automatically generated

Upgrade Compound Audio Object (CAO)

The compound audio object (CAO) in the signal flow can also be upgraded. For minor version changes, only the version number will be updated, but no other changes will be made. However, in the case of a major version change in the toolbox, the internal audio object will be updated to the latest version according to the CAO type in the toolbox.
If there is a major version change and the inner objects cannot be automatically upgraded, the CAO will be marked with a blue color and then you need to upgrade the CAO.

For more details about the compound audio object, refer to the Compound audio object.

To upgrade the Compound audio object, follow the below steps:

  1. On the Signal Flow Designer window, select the compound audio object under the Compound Audio Object category in the toolbox and click Edit through the context menu. This opens the Compound Audio Object editor, where you can view the signal flow of the internal audio objects.
  2. On the Compound Audio Object editor, right-click on the highlighted audio object, and select Upgrade Audio Object from the context menu.
  3. Click Save and close the Compound Audio Object editor.
    After this modification, the CAO in the signal flow design updated and highlighted in blue color.
  4. Right-click on the highlighted compound audio object, and select Upgrade Audio Object from the context menu.
    Once the CAO is successfully upgraded, the GTT will notify you.

Upgrading the block ID will not support if it is changed from normal format to extended format in the DLL.

Open column name Configuration Panel

When linked to an object, the Smart LUT feature automates the process of adding column labels semi-automatically rather than manually.

The “Open column name Configuration Panel” feature only supports LUT audio object.

Launching Column Name Panel

You can use this feature to choose which state variable values should be shown as column headers on the LUT panel. To begin assigning state variables to the columns of the LUT panel, simply open the panel by accessing the context menu of the LUT object in the SFD.

SFD must be saved before opening this feature else the state variables will not be available.

Following are the components available on Column Naming Window.

  1. Tree with all objects
  2. List with columns details

State variables associated to different objects

State variables can be filtered in two ways:

By clicking on the individual audio objects in the tree – each click will display the state variable of the respective audio object. Multiple objects can be selected to display their state variables.

Or

Use the Search bar and type required text, for example AO name (not case sensitive).

Selecting State Variable

Each state variable can be assigned to only one column. After assigning to column, it will disappear from available state variables.

To assign state variables to a column, select the state variable and drag it to the appropriate column.

  • To Select: Multiple state variables can be selected by holding the CTRL key or by clicking the ‘Select all’ button above.
  • To Move: For moving selected variables, use the SHIFT key to hold and move the variables.

When all columns are completed, the ‘Apply’ button in the bottom right corner will become active. It will also be enabled if all columns are empty.

To stop using state variables for naming it is necessary to open the Naming panel, clear all variables and apply.

Workaround for LUT Parameter Sets Unit Problem

This workaround is required for projects which are exported earlier than N+1 release.

  1. Import earlier exported project and open Signal Flow designer.
    • If all LUT objects belong to the same group, double-click on any LUT objects to launch the panel.
    • If each LUT object belongs to different groups, then launch the panels separately for each group.
  2. Close the LUT panels.
  3. Open Parameter sets view, right-click on column header of red color highlighted set, and click ‘Store’ context menu to get latest set values.
    You can observe the red highlights are cleared and units are removed for each state variable.