MIPS

The MIPS window presents the CPU load of cores, core objects and audio objects of the connected device.

MIPS profiling data is fetched from the device (hardware) using xTP Commands and the user can optimize signal flow based on this information.

MIPS window is enabled only when the device xAF dll version is 18.x.x.xxx or higher.

Signal flow should be flashed before launching MIPS.

MIPS profiling data of non-xAF instance core objects (Buffer,Splitter…etc) is available only from X release(24.x.x.xxxx) audio library onwards.

Launch MIPS Profiling

Steps to launch MIPS profiling:

  1. Select the device node and click MIPS. This opens the MIPS window for the selected device.
    MIPS measurement on (0x64000501) and Audio Object level MIPS measurement off command (0x64000504) will be sent while opening the MIPS window and a progress window will be seen as per the below screenshot.

The following command will be displayed in the xTP Log Viewer.

Summary Tab

  • Present virtual core and core object MIPS data (Average MIPS and Maximum MIPS) retrieved from the device using the xTP Command.
  • MIPS data displayed on the physical core are the aggregated values of its virtual cores.
  • Audio Object level MIPS measurement off command (0x64000504) will be sent while switching to the Summary tab from the Instance tab and a progress window will be seen as per the below screenshot.

Below command will be seen in xTP Log Viewer.

Instance Tabs

  • A new tab corresponding to the selected instance will be loaded, displaying audio-object MIPS data retrieved via the xTP Command.
  • Inner audio objects will be displayed alongside compound audio objects for compound audio objects.
  • Audio Object level MIPS measurement on command (0x64000503) will be sent while opening a new Instance tab or switching to the Instance tab from the Summary tab and a progress window will be seen as per the below screenshot.

Below command will be seen in xTP Log Viewer.

Reset

When you click the Reset option, the MIPS number for the device will get reset for the selected tab and Reset command (0x64000500) will be sent and a progress window will be displayed as per the below screenshot.

Below command will be seen in xTP Log Viewer.

Refresh MIPS: When you click the Refresh Mips option, the MIPS data for the current tab will be refreshed.

Export to CSV: When you select the Export option, the Mips data for the current tab will be exported to a CSV file. The CSV format is shown below.

Summary Tab
Instance Tab

Closing MIPS Window: When you click on cross (x) to close the MIPS window, the MIPS measurement off command (0x64000502) will be sent and a progress window will be displayed as per the below screenshot.

Below command will be seen in xTP Log Viewer.

Link Window

The Linking Window is designed to assist you by reducing the number of audio parameter configurations. It enables you to organize the filters and channels. When you set one item in a group, the remaining items in the group will have the same value.

By default, all the groups link are enabled. If you want to disable the specific group link, click on the toggle button to disable it.  GTT will store the group linking status in project file.

If you want to disable all the groups link, select the Disable Linking checkbox.

Create a New Group

Steps to create a new group:

  1. Open Linking Window, expand the task, and drag-drop the object to the right-side section under Groups. A new group is created, expand the new group. Under the new group, you can view the added object.

Renaming Groups: Double-click on a group name to rename it.

Only groups can be renamed; Audio objects cannot be renamed.

Removing Objects: Click on the remove icon to remove the object. This will also delete all child objects.

Removing Groups: Click the remove icon to the right of the group. This will also delete all child objects.

Add Object to Existing Group

Steps to add object to an existing group:

  1. Open Linking Window, expand the task, and drag-drop the object to the right-side section under target group. A new group is created, expand the new group. Under the new group, you can view the added object.

If an object cannot be added to a specific group, the color of that group will change to grey.

If the object is added to the group, the color of the group will change to blue.

Linking Rules

  • Each of the audio objects can be part of only one group.
  • If a child audio object is part of a group, the parent element cannot be part of that group.
  • Groups can contain only one type of audio object. For example, you cannot link a Biquad with a Delay. Each group can contain more than one AO.
  • Objects in groups are linked according to their order. For example, if you link two EQ channels, the first Biquad from the first channel will be linked with the first Biquad from the second channel.
  • Changing links is done live. You do not need to close the window for the changes to be working.

Controller

The controller window is used to send instance commands.

The controller feature is enabled only when the device xAF dll version is lower than 18.x.x.xxx.

Steps to setup controller:

  1. Enter a valid Core Id and Instance Id and click on Get Status to get the current available slot of the device. The response from the device will be displayed in the Response section.
  2. Click Save to save the current instance data on the device to the memory slot entered.
  3. Click Load to load the data from the memory slot to the device RAM.

If there is any error in the device connection or if any invalid Core Id and/or Instance Id were entered, the error message “Request failed!!!! Please make sure […]” will be displayed.

Configuring Preset Controller

The preset controller is the central place for managing and organizing how you will load presets in your signal flow.  It also contains other related features such as creating .set files, storing sets, and recalling sets of parameter sets available.
A “Slot” is a group of parameters set one level above. You can create multiple such slots and do any actions like create set files, store , recall etc.
In addition to GTT functionalities, it is also possible to send Xtp commands to device. There are XTP commands to send slot map and Load the slot on to device. You need to export all .set files and manually flash on to the amp.

To know more about  the Preset Controller functionality, refer to below topics.

Limitations in Preset Controller

  • After the set map is configured, if parameter sets are deleted, a generic sets window should be reopened to see the changes.
  • Generic sets window can be opened only one at a time. If a new window has to be opened for a new device, the currently opened window will be automatically closed (changes made will be retained).
  • Parameter sets are project specific. Generic sets are device-specific.
  • Only basic validations are done. Illegal values are yet to be handled. Ex: Entering a string value for fade in –out is considered illegal and will not be handled.
  • Signal flow and presets saved on the device should be in sync.
  • The slot map and set files export is offline. The user shall make sure that these files are in sync with GTT for better visualization.
  • All the presets configuration, slot map, and preset data are sent together in “Send To Device”. There is no option to send these data individually.
  • For any changes in presets or maps, the user is expected to send all data (config, map, and presets).

Virtual device naming conventions. The set files should always follow the “preset [preset id]” naming convention. Example preset0, preset1, etc. when checkbox “Maintain Folder Structure” is unchecked.

When exporting the slot map file for Virtual Device usage, the name should always be sect262144.flash.

If set groups overlap for a given audio object, the one loaded last will override the first.  The order is not guaranteed so it is not recommended to do this.

Default Control-Ids

The Configure Default Controls option allows you to specify which default control ids should appear in the “Control In” control list.

To Configure the Configure Default Controls:

  1. Click on Default Control-Ids. This opens the Configure Default Controls window.
    If no configuration is defined, all Control IDs are selected in the Configure Default Controls window.

    In the Configure Default Controls window, you can select or unselect control IDs.

    You cannot deselect the Control ID used in the Signal Flow Designer.

  2. Select or deselect the required control Ids and click Save to update the configuration.

Use the search text box to search and filter the control Ids.

Once you have modified the Configure Default Controls data, you can verify the changes.

Go to the Signal flow designer window and open the Control In property window to verify the configured default control IDs along with custom control IDs.

Sort Control In Pin Data

The Control In panel shows all user-configured control pins data.

You can click on any of the column headings to sort the data. Clicking alternately will change the sorting direction from ascending to descending or vice-versa.

The ascending order of the Pin column is the default sort order for the Control In panel.

Click on any column header to sort the respective data on the Control In panel.

Streaming

You can stream live data from the device. The state variables which support streaming and polling are displayed in the state variable explorer tree with “Category” other than “Tuning”.
The streaming and polling are used to monitor the signal flow of different parameters in a Signal Flow Designer.

Streaming can be beneficial when you need to constantly monitor a signal for a specific channel. If any changes are made to the signal flow design, the updated values will automatically be displayed through streaming. However, for non-streamable parameters, GTT will transmit a single command and receive the corresponding value from the device in response.

To access this feature, you will need a license for unlocking. Kindly contact the license administrator to obtain the necessary license.

The object tree displays filtered state variables that support streaming and polling.

Streaming state variables are highlighted in white, while polling state variables are highlighted in orange.

The default display of state variables in the object tree is set to show “after calculation” data for streaming out. However, if you want to display “before calculation” state variables, select the “Display IN Channels” option. The IN state variables indicated with a blue color and OUT state variables indicated with a red color, with keywords denoting their specified type.

Below table describes the audio objects that support streaming.

Audio Object Parameter Name State Variable Streamable
Level Monitor Level_Value Yes True
Compressor Attenuation Yes True
VNC Control VNCControlStates Yes True
NoiseESt StreamingParam Yes True
AlaControl AlaControlStates Yes True
FFTCalc FFTCalcState Yes True
Ducker State params Yes True
dbXLimiter States Yes True
AudioToControl AudioToControlState Yes True
Limiter Attenuation Yes True

Configure Streaming

If you want to stream streamable state variable, then you can enable Streaming option.

To enable Streaming per core:

  1. Open the Device View and select the Virtual core layer of the device.
  2. Go the Virtual core properties, select the Streaming checkbox, and set a number of State Variables per core.

Maximum 32 state variables can be configured for streaming.

If you want to perform the operation using non-streamable state variables, then there is no need to enable these options

Memory Latency

Memory latency shows the amount of time taken by the CPU from initiating a request for assessing memory to actual reading or writing data at the requested memory.

In AudioworX, the latency of the memory request is abstracted and only measured in relative levels.

  • Level 1 – fastest memory available in the platform.
  • Level 16 – slowest.

The Memory Latency Editor provides a way to configure latency levels for individual audio object memory records from GTT.

During design time, GTT retrieves memory records for audio objects from the audio library in the following cases:

  • While adding an audio object.
  • Modifying audio object i.e changing the number of inputs, outputs, number of elements, or selected mode.
  • Modifying additional parameter value.
  • Upgrading audio object.
  • Import of project which defaults to a different dll other than the created one.
  • Upgrading device framework to version 17 dll or above.
  • The changing target type of Core.
  • Changing Sample Rate or Block Length of instance.

GTT supports Memory Latency feature only if the xAF dll version is 17.x.x.xxx or above.

Editing Memory Latency

Memory records will have default latency selected by the Audio Object developer. GTT provides the option to set the latency for every memory record of the audio object in the Memory Latency Editor.

  1. Select the device node and click Memory Latency. This opens the Memory Latency window for the selected device. When the Memory window is launched, a multi-level collapsible grid with core, instance, and audio objects will be displayed.

1 – Header, 2 – Column Filter, 3 – Header, 4 – Latency Sector

  • Multiple memory latency record selection: You can select multiple records in the memory latency window.
    • To select the specific rows – Hold Ctrl and click on the required rows. This method is useful when you want to preform action on specifics rows.
    • To select a set of row – Click on the first row of the set, hold Shift, and then select last row of the set. This method is most useful when selecting a large number of rows in a range.

Sum of all the selected memory latency record size will be shown as “Total size of the selected records in bytes” in the memory latency window.

“Total size of the selected records in bytes” will be visible only on selecting any memory latency record in the window.

  • Reset to default latency level: You can reset the selected records to its default latency level.  Right click on selected records or anywhere on latency grid. A context menu “Reset to default” option will be displayed. Click on the “Reset to default” option, all the selected records of the latency level will be set to default value which is “LEVEL5”. Click on “Save” button and it will be saved into database.
    • To reset records to default latency level for the specific rows – Hold Ctrl, select on the required rows, and then right-click on selected records. A context menu “Reset to default” option will be displayed. Click on the “Reset to default” option.
    • To reset records to default latency level for a set of row – Click on the first row of the set, hold Shift, select last row of the set, and then right-click on selected records. A context menu “Reset to default” option will be displayed. Click on the “Reset to default” option.

  • Saving Latency memory: Only Latency can be selected. Other attributes of memory records are read-only. When you click on Save, the Latency for the memory record will be saved.

The Save Button is disabled until a change in latency is detected.

  • Send Memory Records to Device: Send Signal Flow will handle sending Memory records to the Device with a specified latency. When the signal flow send is successful, the device will boot up with the memory latency specified.
  • Import Export of Project having Memory Record: Memory latency is preserved if the export and import occur on the same xAF dll by version.
    If the dll version changes, Import will generate a new memory record based on the new target xAF dll version.
  • Copy Paste of Audio Object or Core Object Containing Memory Latency: If the properties of the source and targets are the same, memory latency is retained in the pasted object.
  • CSV Import/Export: You can export and import of memory map to CSV files. The primary operation of this feature is to export memory latency to CSV, adjust memory levels, and then import the updated memory levels back into the GTT. When the memory map form file does not match the one in GTT, GTT will request permission to import only the items that match.

Configuring Controller Slot

Steps to configure preset controller slot:

  1. Go to the Standard toolbar and open Preset Controller.

    On the Preset Controller window you can see the following details:

    • In the Slot Id, the serial number starting from 1 (or the next available slot) will be displayed.
    • The Slot Name, Fade In, and Fade Out will be filled in with default values.
    • All the Set groups created in parameter sets screen containing the parameters of the device are displayed as rows in set map table.
  2. Enter the values in Slot Id, Slot Name, Fade In, and Fade Out, and click Add Slot.

    A new slot column added with entered details and default value (None) for set groups available in the table.
  3. Enter the Pipeline Delay in the text box. The pipeline delay is used as a delay after applying the preset to the Load Slot operation and before starting to ramp up. The pipeline delay is the time required for the history buffers (which have already been cleared) to be filled with valid data before the start of the ramp-up. The value can be set from 0 to 65535 ms.
  4. In the Core object Setting row, click Configure. This opens the Core state configuration window.
  5. On the Core object configuration window, Enable or Disable ramping for individual core objects using the toggle button.
    Instances which have active set groups in this slot will automatically be added to this window and cannot be removed.
    For more details about Core object configuration, refer to Core Object Settings
  6. (Optional) If you want to add custom actions, in the Custom actions row, click Configure. This opens the Custom action configuration window.
    On this window you define custom actions.  For more details about Core object configuration, refer to Custom Actions Settings
  7. In the Set Group row, click on the drop-down to set a group created in the parameter sets screen.

    If the “None” value is selected for any set group no parameter set from that group is loaded for this slot.
  8. Click on the Single to see the core and instance.
    The instances associated with the set group are shown next to the set group. If the group contains parameters of only one instance, the instance info is “Single”, otherwise it will display “Multiple”.
  9. Double-click on the table column header to edit the slot name.

    Ramp Settings configuration is supported from S+2 device library version.

  10. Click on the “X” icon available on any column to delete the slot.

Slot Options

Retrieve Slot: The Retrieve Slot option in the generic sets window reads the state variable values of all the sets in a slot and updates them in the in the corresponding sets of Parameter Sets. Retrieve Slot button is available in the header of each slot.

Apply Delta Slot: The Apply Delta Slot feature only sends tuning values of the parameter which is updated in the slot. The tuning values of the presets are send to the device via XTP Tuning write messages. Apply Delta Slot option is available in the header of each slot.

Export Slot: Once you have created a Set Map, click on the “Export Slot” option, and browse the desired path.

Flash file created in binary format. For virtual devices, use the file name as “sect262144.flash”.

Generic sets are persisted in the database, just like any other data in GTT.

Generic sets are also persisted in the .gttd file when the project is exported, and the same is available after importing. The selection of the default slots is dynamic and will not be persisted.

Verify Slot: This functionality is designed to compare the presets loaded on a device with those available in the GTT  in order to ensure their accuracy.

This feature is available only in online mode. i.e. only when the device is connected.

To verify preset values, select a slot and then click the ‘Verify slot’ option. A read command is sent to the device for each state variable within of all presets under a slot. Once the value has been read, it will be compared with the corresponding value in the preset. If all values match, the verification process is considered successful. However, if any values do not match, an error message will be displayed, and an error report will be generated.

Sample error report is as attached here Set 1[2].

Help

The Help tab provides quick access to information on AudioworX which include GTT and other modules, as well as detailed descriptions of its features and functionalities.

  • Keyboard Shortcuts: A link to keyboard shortcuts for RTA module that can be used to perform various actions quickly and efficiently.
  • Release Notes: A summary of changes, improvements, and bug fixes included in recent software updates.
  • View Help: Explore AudioworX and how to use the AudioworX and its modules to fine-tune audio signal and many more.

Clicking on any of the options within the Help tab will redirect you to a dedicated documentation page that provides detailed information on the selected topic.

When GTT project is open, press the F1 key on your keyboard to open AudioworX documentation page.