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.

Memory

The Memory window presents the CPU memory of cores, core objects and audio objects of the device in a single multi-level grid.

Memory profiling data of cores and core object is fetched from the device (hardware) using xTP Commands, and the memory of the audio object is fetched based on its memory latency configurations.

Overhead Memory consumed by core and instance is calculated and displayed as ‘Framework Memory’. You can optimize signal flow or adjust latency based on this information.

Apart from memory profiling data, the class size of each audio object is also fetched from the device using xTP commands and displayed in the memory window from the X release(24.x.x.xxxx) audio library onwards.

Memory window is only enabled if the device xAF dll version is 18.x.x.xxx or higher.

Before starting the Memory window, the signal flow should be flashed.

If the memory latency configuration is updated, the signal flow should be flashed again and the memory window should be restarted.

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

Launch Memory Profiling

Steps to launch Memory profiling:

  1. Select the device node and click Memory. This opens the Memory window for the selected device.

When the Memory window opens, it will show a collapsible grid with core, instance, and audio objects.

  • The physical core memory values displayed are the sum of its virtual cores.
  • xTP Commands retrieve virtual core and core object memory from the device.
  • Memory latency configurations are used to fetch audio-object memory.
  • Overhead Memory consumed by the core and instance is calculated and displayed as ‘Framework Memory’.
  • xTP Commands are used to retrieve audio object class size based on the block ID of the audio object.

  • Expand All: Expands all rows of the collapsible grid.
  • Collapse All: Collapses all rows of the collapsible grid.
  • Export to CSV: Click on the Export option to export the memory data of the device in a CSV file.  The exported file will have a row for Framework Memory for Virtual core, Instance, Audio Objects, and Physical core along with columns PhysicalCoreName, VirtualCoreName, CoreObjectName, ObjectType, ObjectName, BlockId, AO Class Size and Level1 to Level 16 as per the below image.

About Global Tuning Tool

The Global Tuning Tool (GTT) is a software tool developed by Harman International, a leading audio and electronics company. The tool is designed to help audio engineers to create audio post-processing pipelines and tune audio the systems to get the best audio performance.

This is a windows-based tool that is part of the Harman AudioworX product suite. The Global Tuning Tool includes a comprehensive set of core audio functions, a powerful signal flow designer, tuning tool, and the framework for processing the entire audio signal path, enabling easy integration of both HARMAN and 3rd party technologies.

Key Features of Global Tuning Tool

  • Real-Time Analysis: The software provides real-time analysis of audio system performance, allowing engineers to quickly tune the system as per requirement.
  • System Optimization: The Global Tuning Tool uses advanced algorithms to optimize the audio system performance, based on the specific acoustics of the venue and the desired sound quality.
  • Intuitive User Interface: The Global Tuning Tool features an intuitive user interface, with easy-to-use tools and visualizations, making it easier for engineers to make adjustments and optimize the sound system performance.
  • Preset Management: The software includes a library of preset configurations for different types of venues and events, making it easier for engineers to get started and save time during the tuning process.
  • Signal Flow Designer: The software allows users to drag and drop audio processing modules such as volume, limiter, filters, and mixers onto a virtual canvas, and then connect the input/output pins of modules to create a signal flow diagram. The signal flow diagram provides a visual representation of the path that an audio signal takes through a system, including where it is processed, amplified, and mixed with other signals.

Relative Topics

System Requirements

Your computer must meet the minimum technical specifications outlined below to run and use Global Tuning Tool.

Table 1: Global Tuning Tool System Requirements

Component Minimum Requirement Recommended Requirement
Processor Intel® Core – i3 processor (4.3GHz) Intel® Core -i5 processor (1.7GHz or above)
Operating System Windows 10 (64-bit support)
Memory 4 GB RAM 8 GB RAM or above
Hard disk 20 GB of available hard-disk space; additional space is required for installation 50 GB or above
Display Resolution 800 x 600 display 1920 x 1080 display
Graphics
  • Driver Version – Supported Intel, GPU version greater than 30.0.100.x.
  • 1.5 GB of GPU memory
  • Driver Version – Supported Intel, GPU version greater than 31.0.101.3959.
  • 4 GB of GPU memory for 4k displays and greater
Browser The current version of Microsoft Edge, Internet Explorer, Chrome, or Firefox.

Internet connection is necessary for GTT registration, license activation, membership validation, and access to online services.

Currently, the Global Tuning Tool is not supported on macOS systems.

Home Screen

The Home Screen enables various operations, including creating a project, importing projects, opening pre-configured templates, and launching default features.
When you launch GTT, the home screen appears, which includes the following tabs:

Also, the Home screen contains various options like export/import, renewing license, and configuring GTT settings. refer Homescreen options.

Projects

In the Project tab, you can create new projects, edit existing ones, and import or delete projects.

On the Project tab, you can perform the following operations:

Create a Project

Use the create option to create a new project. Icon Description automatically generated

On the Create Project window, you can choose the Empty Template or One Core Template option to create a project.
The project name will be automatically filled when selecting any template. You can manually change the project name by editing the default project name.
By default, empty projects do not contain a description; you have to enter the details manually.

  • Empty Template: Select the Empty Template, enter the project name and project description, and click Create. This creates a new project. Now you can add a device or discover a device to the project.
  • One Core Template: Select the One Core Template, edit the project name and description as per requirement, and click Create. A new project is created with pre-configured template settings.

Import a Project

Use the import option to import a project.

The Import Project window contains a browse option to open the gttd file. Additionally, you have options to exclude or include the Project dependencies like Audio Library and Measurement Data in the imported project.

Steps to import a project:

  1. Click on Import Project.
  2. On the Import Project window, click on the browse button, select the project file (gttd), and click Open.
  3. Select the project dependencies(Audio library, Measurement data) options if you want to include them in the project and click Ok. The project import will start.
  4. Once the project is imported successfully, the project will open.

A warning will appear if the Audio Library option is selected and a version already exists in the GTT application.
If you click “OK,” the existing audio library will be replaced with the associated audio library. If you click “No,” the existing audio library will remain unchanged. The project will be imported along with the selected project dependencies.

While importing, if you select dependencies (Audio Library or Measurement Data) that are not available in the project file, a popup message will display indicating that these dependencies are not associated with the project.

Make sure to provide the path before clicking OK, as this will help avoid any errors and ensure a successful process.

Delete Project

Use the delete option to remove a project.  Icon Description automatically generated
You can delete multiple projects as well as a single project.

  • Select the checkbox and click Delete. This will delete all the available projects from GTT.
  • Select the required checkbox present in each row of the project and click Delete. This will delete the specific projects from the project list.
  • Use this delete option to delete the respective project.

Edit Project

Use the edit option to change the project name and description.

On the Project tab, navigate to the respective project, and click the Edit option. Modify the name and description as required and click Update.

Sort Projects

Use the sort option to reorder projects.
Projects can be sorted by Project Name, Last Edited, or Description columns in ascending or descending order.
The sort icons are displayed alongside column headers.  Click these icons to sort the projects in ascending or descending order based on the data in the selected column. The icon’s appearance also signifies the current sorting state of the column.

  • Click on the unsorted sort icon to sort the projects in descending order of that particular column and the sort order will be indicated by a descending icon.
  • Click on the descending sort icon will sort projects in ascending order of that particular column and the sort order will be indicated by an ascending icon.
  • When projects are sorted by a particular column, the remaining columns reset with the unsorted icon.

On performing actions like Create Project / Import Project / Clone Project / Delete projects, the sort icons will reset to unsorted icons for all three columns. 

By default, projects are sorted by the last edited column.

Audio Library Manager

The GTT interacts with the audio library service, which is a Windows service. This service hosts the C++ dynamic linked library xAFVirtualAmp.dll. This DLL exposes several methods that GTT calls from the managed environment, to determine what audio algorithms and memory layouts are available in the DLL.

Every audio library has a version, and GTT stores this information alongside the data received from the xAF service.

GTT requires an audio library to perform operations required for tuning amplifiers. It obtains audio objects, their properties, memory layout, and so on from the audio library. This library is hosted in a Windows service and communicates with it via IPC. The Windows service is called Harman audio library. The block diagram below shows high-level communication between GTT and an audio library service.

Text Description automatically generated with low confidence

Column Description
Default This column shows which DLL has been set as the default.
Audio Library Version This column displays the version of the DLL.
Audio Library Name This column displays the Audio Library file name (DLL name).
Description This column displays the description of the DLL. By default, the description will be taken from the file description property of the DLL metadata.
Audio Library Path (DLL Path) This column displays the source path of the DLL.

You can perform the following actions on the Audio Library Manager tab.

  • Select the checkbox in the default column to set the audio library as default.
  • Click on the edit icon to edit the audio library description.
  • Click on the Delete option to delete the audio library.

Load Audio Library

On the Audio Library Manager tab, click on the Load Audio Library icon. You can load multiple xAF libraries.

If the same xAF library version is already present in GTT, a prompt will appear before overwriting the DLL.

When a new audio library is loaded, it will not set to default automatically; instead, you need to select the checkbox to make it default.

After extending support for multiple libraries, each version of xAF libraries will be separately stored for simultaneous use in GTT. Before this, existing xAF dlls were overwritten when another DLL file was loaded, and GTT could only work with one xAF dll version at a time.

Set Default Audio Library

Installed audio library will be set to default when first time launch of the GTT application. You can change the default audio library by checking the checkbox in the Default column and the same will be updated and notified to the user.

The default audio library version set from this screen would be used for basic GTT operations – Add Device/ Discover Device/Project import (if the last saved audio library is not loaded in GTT).

  • Set the default audio library version by selecting the checkbox.
  • Only one audio library version can be set as default.
  • Settings shall be saved once check the selected audio library.

On GTT installation, the latest audio library will be loaded automatically and set as default.

Edit Audio Library Description

You can modify the description of the audio library DLL by clicking on the Edit Description option. After changing the description, click on Update to save the changes.

By default, the Description is taken from the file description of DLL metadata until the user manually updates it by clicking the Edit icon.

Delete Audio Library

Click on the Delete icon to delete an audio library.

Audio Library can be loaded/deleted, even if GTT is launched in normal mode.

Audio libraries can be deleted only when associated devices and compound audio objects are deleted.

Audio library which is set as default cannot be deleted.

Any unsaved settings should be saved before the audio library is deleted.

Feature

The Feature tab allows you to directly access the MM-IR (Measurement Module for synchronous and asynchronous impulse response measurement, and recording) and MM-RTA (Measurement Module for Real Time Analyzer) features without having to go through the entire process of creating a regular GTT project.

If a project is in the open state and you double-click on the MM-IR or MM-RTA features, a feature window will open, and the relevant data will be updated and stored in the project.

If you double-click on the MM-IR or MM-RTA features from the home screen, a dummy project will be created in the background and you will be directed to the feature window. However, it is not possible to export the dummy project.

MM-IR

The MM-IR defines the Measurement Module for synchronous and asynchronous impulse response measurement and recording. A device is not necessary for the Measurement Module to function in the project. The Measurement Module enables direct sound card measurements without an intermediate device, whereas tests controlled by gain channels can be carried out via a device.

To open the Measurement Module dashboard, double-click on MM-IR.

For more information, refer to the Measurement Module 2.0 User Guide.

MM-RTA

The MM-RTA defines the Measurement Module for multi-channel Real-Time analyzers for audio signals.

It provides time and frequency domain analysis tools for measuring RMS/peak levels, frequencies, THD, delays, magnitude, and phase responses. In addition, a built-in signal generator provides sine tones, sweeps, pulses, and various noise signals. Analyzing recorded signals is possible with a file player.

To open the Measurement Module dashboard, double-click on MM-RTA.

For more information, refer to the Real Time Analyzer User Guide.

Sample Projects

The Sample Projects tab allows you to get access to the example projects. This will help you to understand how various audio objects are configured in the Signal Flow Designer.

Double-click on any of the example project, this will create a copy of the example project. You can modify the newly created example project. Similarly, you can create any number of copies of an example project.

Additional Options

On the right side of the GTT home screen, you will find an ellipsis menu that contains additional options.

Additionally, there is the “Current Project” option, which allows you easy navigation to the existing project window. You must have a project open in order to use the ” Current Project” option; otherwise, the feature will be inactive.

  • About Global Tuning Tool: Displays software version of Global Tuning Tool, release type, and license status.
  • Thumbnail View: To display all items on the home page in thumbnails. The Thumbnail option is only available in the Feature and Sample Projects tab.
  • List View: To display all items on the home page in the list.
    Graphical user interface, application Description automatically generated
  • AudioworX Documentation:  To open the AudioworX documentation page.
  • Know your GTT license status: Displays GTT license status. Also, you can renew your GTT license.

Exploring GTT Workspace

The GTT workspace consists of several tabs, including the Home screen, Device Designer, Panel Designer, and Parameter Sets. Additionally, there are specialized tabs for tasks such as IR Measurements, IVP RTA, Central Viewer, Auto EQ, and AI Module. This guide focuses on providing information about the Home screen, Device Designer, Panel Designer, and Parameter Sets tabs.

Related Topics

Device Designer Overview

The Device Designer comprises of various tools and interfaces that are used to create and run audio processing systems on hardware. The Device Designer contains the canvas and modules needed to create the signal processing template, while the SFD interface handles most of the target and audio object interactions.

When you launch a project in GTT, the Device Designer screen appears, which includes the following elements:

  1. Ribbon and Group: The ribbon is composed of six groups, each of which represents a subset of program functionality. In addition to these programs, there are also additional contextual programs that automatically appear depending on what is currently selected.
    The GTT ribbon comprises six groups: Tools, Connection, File, Tuning, Device Panels, and External Endpoints. Each group has specific tools of related functions. It gives you quick access to the tools and functions you need to complete a task.

    • Tools: This group includes three tools: Services Monitor, Event Log, and xTP Log. The event log and xTP log in GTT can both be checked and monitored using all these tools.
    • Connection: This group includes tools to set up the connection between the physical or virtual device, such as configuring socket connections and port settings. Additionally, it facilitates you to establish the connection once it has been configured.
    • Import/Export: This group allows you to import and export device files, tuning data files, device description data files, and corporate pin data.
    • Tuning: This group includes Tuning Data and Virtual Tuning. Using Tuning Data, you can open and tune the audio files. Virtual Tuning enables the measurement of impulse responses of an acoustic environment using the AudioworX measurement Module.
    • Device Panels: This group includes the following tools: State Variables, Default Control-Ids, Present Controller, Controller, Linking Window, Mips, Memory, Memory Latency, Streaming, and File Controller. Each of these tools is equipped with a unique set of functions.
    • External Endpoints: This feature allows external tuning to communicate with the device. The GTT will receive the requests from external tuning tools and send them to the device via GTT. This is made possible by a WCF service endpoint that third-party tools can access.
  2. Devices List: This section displays the list of projects. In addition, you can add and delete a device.
  3. Toolbox: This section display core levels of processing, such as block length conversion, merger/splitter, and sample rate conversion within the audio processing pipeline.
  4. Device Operations: This section contains several functions related to physical/virtual devices like Load Device Config, Edit Device, Send Device Config, Send Signal Flow, Export SFD, and Control Ids.
  5. Properties Panel: A Device Template is a combination of three layers – Physical Layer, Virtual Core, and Core Object. When you select one of the cores, the properties of the core are displayed on the right side. If required you can modify the core properties.
  6. Device View: The workspace is used to add devices and program the device core. You can use the magnifier function to adjust and change the size of the design workspace.

Tuning

Tuning Data

You need to connect a device to GTT to send/receive tuning or state data.

When the device is connected you will get the following options.

  • Send Tuning Data
  • Receive Tuning Data
  • Receive State Data

Virtual Tuning

This feature will be removed in the future Global Tuning Tool release.

Virtual Tuning allows you to measure impulse responses of an acoustic environment using the AudioworX Measurement Module. Based on these measurements, a production signal flow can be virtually tuned.

For this purpose, two new audio objects are implemented in AudioworX:

  • IppMimoConvolver
  • Time Multiplexer

IppMimoConvolver: The IppMimoConvolver audio object provides MIMO convolution with FIR filters using the Intel Integrated Performance Primitives (IPP) library, a multi-threaded software library of multimedia and data processing applications. It is highly optimized for various Intel® architectures and is a comprehensive library of out-of-the-box, domain-specific functions. The library is available for the Linux, MacOS, Windows and Android operating systems.

In the SFD, you can select the following object parameters at design time:

  • Number of input channels
  • Number of output channels
  • Number of taps of filters

Tuning: For each filter combination in IppMimoConvolver, this object exposes these one tuning parameters set to the GTT

  • Coefficients: The coefficients of the filters can be imported from .csv files. The filter taps that are set in the GTT must match the taps of the filter that is imported from the .csv file.

Filter coefficients can also be loaded directly from a Measurement Module session that has been pre-measured in AudioworX.

Time Multiplexer: The Time Multiplexer combines multiple input audio signals into a single audio signal by dividing the input channels into equal fixed length time slots and mixing them into a common output channel with fading between channels.

The length of the time slots and the fading characteristics can be configured at runtime.

The output signal is the signal of one input channel at a time. The next input channel becomes the first input channel again when the last input channel is reached. Depending on the fading mode, there might be a block length of fading between 2 channels.

In the SFD, you can select the following object parameters at design time:

  • Number of input channels

Tuning: This audio object exposes four tuning parameters to the GTT.

  • Mode: The mode can be set to:
    • Normal Mode: Performing multiplexing
    • Active Channel Mode: Single channel passed to the output
    • Off: No output
  • Multiplex number of blocks : Only evaluated in “Normal mode”. It presents a number of blocks (block length) after which to switch to the next input.
  • Fading mode: Only evaluated in “Normal mode”. It sets a type of fading method:
    • Cosine square fading
    • Linear fading
    • No fading (hard switch)
  • Active channel
    • If in mode “Active channel mode” – The channel number of the input channel that will be routed to the output channel.
    • If in mode “Normal mode” – Set the selected channel as current input and continue with the next channel in normal/multiplex mode after the configured number of blocks.

Virtual Tuning Configuration Prerequisites

The steps listed below describe how to configure an IppMimoConvolver object using GTT.

  1. Create a signal flow with the IppMimoConvolver object with m inputs, n outputs, and j number of taps for filters.
  2. Create a measurement with n mics and m speakers.
  3. Adjust measurement length, sample rate, etc to get exactly the required amount of coefficients (ir data points) before starting measurement.

Once the above steps are done, select the device (which contains a mimo object) from the device list to activate the device tab.

Steps to launch Virtual Tuning:

  1. Select a device, and click Virtual Tuning. This opens the Virtual tuning configuration screen.
    Graphical user interface, text Description automatically generated

Apply Coefficients to Virtual Tuning

Steps to apply coefficients to Virtual Tuning:

  1. Open Virtual Tuning and select suitable Measurement Session.
  2. Select Convolution Object to which the Coefficients to be applied.
  3. Click Apply.

The selected measurement’s IRData is retrieved and applied to the convolver object. A toast message appears, stating that the coefficients were successfully applied.
Graphical user interface, text, application Description automatically generated

Virtual Tuning Panel: The IppMimoConvolver panel is used to view the coefficients assigned to the object. This panel provides the following functions.

  • Flat
  • Import
  • Export
  • Import All

About Installation Guide

This guide provides instructions for installing the Global Tuning Tool. It also covers system requirements and license activation and renewal procedures.

Terms and Abbreviations

List of technical terms and abbreviations.

  • xAF: Extendable Audio Framework
  • GTT: Global Tuning Tool
  • SFD: Signal Flow Designer
  • BAO: Basic Audio Object

Reference Document

Visit below topics to get more information about AudioworX and various modules. Additionally, you can refer to the following relevant documentation for more detailed information on the Global Tuning Tool.

For technical queries or support, email us at  AudioworXSupport@harman.com.

For new feature or change requests, email us at AudioworXSupport@harman.com.