Tune a Signal Flow

Native panel is one of the important elements 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 compound 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.