Compound Audio Object

The Global Tuning Tool allows you to combine audio objects into a single large component that can be reused. This is known as a compound audio object.

By grouping audio objects into CAO, designers can keep their signal flow elegant. Complex reusable audio objects and their connections can be saved as CAOs, allowing for faster signal flow generation when using these CAOs.

CAO stands for Compound Audio Objects.

Device will not know anything about Compound Audio Object. When the user sends signal flow to the device, GTT will scan the signal flow and replace Compound Audio Objects with the inner basic objects. It will establish all the connections so that when the signal flow reaches the device, it is expanded. This will ensure no further implementation is needed on the device to process CAO.

GTT has the ability to identify the author of a CAO, which will be provided to access the features such as editing and exporting. The compound audio object also allows for versioning, enabling authors to keep track of the different versions of CAOs they have created. GTT can validate the version of the CAO used in the signal flow.

It is carefully considered to bundle them in a project file (.gttd), so that CAO present in the signal flow can be exported and imported. GTT provides the majority of the existing CAO interfaces, so you will have no difficulty learning to create CAO.

Relative Topics

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.

View Audio Object Metadata

In the Signal Flow Designer, you can view static metadata and dynamic metadata of an audio object.

Static Metadata

Static metadata refers to the metadata information of an audio object that does not change frequently. By default, every object available in the toolbox has the static metadata. Right-click on the audio object in the toolbox section to view the static metadata details.

On the metadata dialog box, the following metadata information displayed.

Dynamic Metadata

Dynamic metadata includes metadata information of an audio object that changes frequently or is generated in real-time. Every audio object instance in the signal flow designer has dynamic metadata. Right-click on the audio object in the signal flow designer to view the dynamic metadata details.

On the metadata dialog box, the following metadata information displayed.

Pin Labelling

A signal flow designer can assign labels to audio and control pins of audio objects to make a flowchart design more informative. There are two items available in the context menu of each audio object “Add Audio Pin Label” and “Add Control Pin Label”.

The process of signal flow design involves the labeling of audio and control pins for audio objects, which enhances the clarity of the flowchart design. To facilitate this, there are two options available in the context menu of each audio object: “Add Audio Pin Label” and “Add Control Pin Label.”

Pin labels are not propagated downstream by default, although certain objects such as Gain, Biquad, or Delay do have this capability. For a design with four blocks like AudioIn, Gain, Delay, and AudioOut. Label the output channels of the AudioIn block, select all the blocks, and then press the “Connect Blocks” button. This is sufficient to propagate the labels since they will be inherited by the downstream objects.

Related Topics

Add Audio Pin Label

To add an Audio Pin Label

  1. On the signal flow designer, right-click on the audio object, and select Add Audio Pin Label. This opens the Add Audio Pin Label dialogue box.
    A picture containing graphical user interface Description automatically generated
  2. On the pin label dialogue box, enter the input pin and output pin details and click Ok. The label will be displayed on the audio object.

Add Control Pin Label

To add a Control Pin Label

  1. On the signal flow designer, right-click on the audio object, and select Add Control Pin Label. This opens the Add Control Pin Label dialogue box.
  2. On the control label dialogue box, enter the input pin and output pin details and click Ok. The label will be displayed on the audio object.

Tooltip

A tooltip is a graphical user interface (GUI) element that appears when you hover over pin connections. It typically contains a brief description or additional information about the pin connection. Tooltips can be used to obtain more detailed information on the connection between Audio Objects (AOs), tooltips are available that display the affected AO names and the corresponding pins used.

To access these tooltips, you must connect any two AOs first, then hover your mouse over the connection presenter (arrow). This will display a tooltip showing the Audio Object Name, Pin No., and Labels (if any) for the connected objects.
Graphical user interface Description automatically generated with medium confidence

Compound Audio Object Instance Pin Labels

The Compound Audio Object (CAO) instance takes pin labels from CAO audio objects such as CompoundAudioIO, CompoundControlIn, and CompoundControlOut, and applies these labels to the CAO instance when extracting or dragging a new CAO type from the toolbox.

It will swap In pin labels with Out pin labels for the CAO instance.

On Compound Audio Object upgrade the Compound Audio Object instance takes the latest CAO type pin labels and updates it in the CAO instance.

Tune a Signal Flow

Native panel is one of the important element of the Signal Flow Designer. The native panel has interactive widgets that help to tune complex audio objects easily.

The tuning of a signal flow will be illustrated by showing the tuning effects on virtual devices in IVP RTA. RTA is a multi-channel Real Time Analyzer for audio signals. It provides time and frequency domain analysis tools to measure RMS/peak levels, frequencies, THD, delays, magnitude, and phase responses.

Launch Native Panel

  1. On the Signal Flow Designer window, double-click on any audio object to open a Native Panel.

    Use the interactive widgets on the Native panel to make the desired changes to audio object properties.

    When Native Panels is open, if there is any modification to Signal Flow Designer, a popup message will appear asking to save the changes.

    When Native Panels is open, you cannot make any changes to the Signal Flow Designer window. But you can open another native panel from the Signal Flow Designer window.

  2. If the preset bar is present in the panel, select the free preset slot numbers, enter the name of the slot, and click Store preset. This saves and stores the current tuning data to the selected slot.

If you do not enter a name of the slot, then it will take the default named “New Preset”.

You can switch between presets and apply their values to the native panel by simply clicking on them. You can also change the values in the native panel or the preset name after you have clicked it to override the preset.

You can reset the selected preset or all the preset.

  • Click Reset Selected to clear the preset that is currently selected.
  • Click Reset All to clear every preset in the corresponding native panel.

Visualize a Signal Flow

You can check the tuning effects of the designed audio signal flow on the virtual device in IVP.

For more information, refer to Analyzer and Generator.

Perform Tuning

The audio objects that do not have their own native panel can create a custom panel and link the panel with the respective audio object.

If an audio object doesn’t have its own native panel, you can create a custom panel and link it to the appropriate audio object under the “Available Custom Panels” option.
Graphical user interface, application Description automatically generated

Follow the below steps to view the signal flow performance:

  1. Go to the IVP tab, start Generator, Analyzer, and Plugin Host.
    For more details about Generator, Analyzer, and Plugin Host settings, refer to the Real Time Analyzer User Guide.
  2. Go to the Device Designer tab, click on Send Signal Flow to send tuning data.
    A screenshot of a computer Description automatically generated with medium confidence
  3. Open the native panel and go back to the IVP window.
  4. On the native panel, tune the signals. The signal flow in the IVP tab will change accordingly.

Metering a Signal Flow

The Metering functionality in a signal flow design basically measures the audio signal output and control output from an audio object of the discovered device.

The SFD metering feature is available from V release onwards and supports discovered devices.

The following audio objects are compatible with Control Metering functionality.
– LUT
– Control Math
– Control Smooth
– ControlMultiAdder
– ControlIn
– Control Grouper (Level meter is not usable on ControlGrouper’s control outputs until GTT supports level meter on BlockControl outputs)

To use this feature, you need perform following actions:

  1. You need to enable Streaming functionality in the device view and configure the parameters.
  2. Then, you need to add Level Meters in the signal flow design. When a device is connected, you can use Level Meter to monitor the audio output (Peak or RMS values) by adding them to the audio out connections. Similarly, control output value can be monitored in level meters for control out connections.

Enabling Streaming Functionality

In order to utilize Metering feature for each core, you need to enable Streaming functionality.

To enable Streaming functionality:

  1. Open the Device View and select the Virtual core layer of the device.
  2. Go the Virtual core properties and select the Streaming checkbox. This will enable the Streaming functionality.
    Additionally, in the Streaming functionality you need to configure the number of level meters that can be added in the signal flow to monitor control out connections or audio.

A core can be configured with up to 32 level meters, and by default it is set to zero. These values will be sent to device while sending device configuration to allocate required memory for level meter streaming.

All level meters under a core will be deleted if the number of level meters you configure in device view is less than the total number of level meters added in a core.

If you modify any of the Streaming configurations, make sure to perform “Send Device Configuration” operation while connecting device.

Level Meter Panel

The Level Meter panel displays number of maximum allowed level meters , number of added level meters and the color coding for different ranges of audio output values.

If the streaming is enabled and the number of level meters configured for the core is greater than zero, a Level Meter panel appears in the top right corner of the signal flow designer.
By default, the Level Meter panel is collapsed.

Click on the expand option to view the Legend section. The legend section shows the color coding for various audio output value ranges in addition to the quantity of level meters.

  • Green – Peak/RMS value is less than -12.
  • Yellow – Peak/RMS value is in the range of -12 to -3.1.
  • Red – Peak/RMS value is greater than -3.1.

Configuring Level Meter in Signal Flow Designer

The Level Meter allows you to monitor the audio output and control output in the Signal flow design. In order to monitor you need to add Peak or RMS to the audio out and control out connections of audio objects.

Configuring Audio Output connection

You can view the peak or RMS value of each audio out connection by adding level meters via the connection context menu.

The Peak and RMS are computed based on current block only which means the block length chosen would decide the peak and RMS value. Shorter the block length more fluctuations in peak/RMS value.

When the Peak option is selected from the context menu, a level meter will be added to the connection to display the connection’s peak output value.

When the RMS option is selected from the context menu, a level meter will be added to the connection to display the RMS value of the output in that connection.

The color of the connection changes when a level meter is added. The color of the connection indicates whether a level meter is present in that connection. The level meter color will get updated dynamically based on the Peak/RMS value of the audio output.

The level meter control and value will not be shown if the device is not connected.

After adding Peak or RMS level meter, delete option will be enabled in context menu. Even the type of level meter can be switched by selecting the enabled level meter context menu option(Peak/RMS).
You can use delete option to remove level meter from a connection. On deleting level meter, level meter control and value will be disappeared, and connection color will reset to default.

Configuring Control Output connection

The Control output value of each control out connections can be viewed by adding level meters through context menu of the connection,

When the Add option is selected from the context menu, level meter will be added to the connection to show control output value of that connection.

In addition to the control output value, the pin label will be displayed. A tooltip for the pin label has been added in order to see longer pin labels.

The color of the connection changes when a level meter is added. The connection color indicates the presence of level meter in a connection.

If device is not connected, level meter control and value will not be displayed.

Once after adding level meter, delete option will be enabled in context menu.
You can use delete option to remove level meter from a connection. On deleting level meter, level meter control and value will be disappeared, and connection color will reset to default.

While configuring Level Meter in signal flow designer, you can Undo or Redo the Add, Delete and Switching Parameter (Peak/RMS) operations.

Keyboard Shortcuts

Keyboard shortcuts are available to add/delete level meters in signal flow designer screen. Following are the keyboard shortcuts available for different operations:

  • Ctrl+Shift+P – To add Peak Level Meter
  • Ctrl+Shift+R – To add RMS Level Meter
  • Ctrl+Shift+A – To add Control Out Level Meter
  • Ctrl+Shift+D – To delete Level Meter

Once one or more connections in the signal flow have been selected, the keyboard shortcuts can be used. This option makes it simple to add or remove multiple level meters.

Export and Import Level Meters

While exporting the project, the added level meters will be exported as part of GTTD file. On importing the project, exported level meters will be imported to GTT.

Delete all Level Meters

You can delete all level meters added in an instance by using “Delete All Level Meters” option in instance context menu. GTT will display a message after all level meters have been successfully deleted.

If no level meters are present, following error message will be displayed.

Level meter streaming will get stopped on disconnecting the device. On reconnecting the device, streaming will get resumed for existing level meters if SFD screen is active.

Level meters are not supported for below connections in V release:
– CAO output connections.
– Connections in CAO signal flow.
– Block control connections.

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.

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.

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.