The below figure explains the workflow of the Global Tuning Tool.
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.
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.
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:
- Click on Import Project.
- On the Import Project window, click on the browse button, select the project file (gttd), and click Open.
- 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.
- 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.
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.
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.
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.
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.
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.
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.
- 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
Installation
Issue Title | Description | Potential Solution |
---|---|---|
GTT Launch | User trying to launch GTT from a different account (which was not used for installing GTT). | Please note this is not a valid scenario as this not fully tested , hence we recommend to use same account, which was used for installing GTT, to launch GTT. |
SQL Installation Fails | Installer complains that SQL RTM installation has failed.
|
There seems to be another version of SQL Compact edition installed on the box.
Microsoft SQL RTM has a rule to check if there is any restart pending on machine, if pending SQL installation will fail. |
Service Installation error message | During installation below error message appears.
|
This error comes if default .Net 3.5 is not enabled on windows. Please check if the feature is enabled from windows features , to do this follow below steps:
|
Installer Error Message | During installation the error message below appears.
|
This error message appears if there are previous residues of service left.
Follow the steps below:
Same steps can be used for Harman License Manager as well. |
Database Error Message | During installation at database selection step I am getting below error:
|
There are chances that the below checkbox is checked. Uncheck this. This is available in Control Panel -Time & Language > Region Settings. To reach the above option, Goto Control Panel > Clock and Region > Region > Administrative tab. |
O Release Installation error | During installation of O release I am getting below error
|
|
Installation failing without any specific error. | In some scenarios we have seen, installation fails without any error, just says “Installation interrupted” | This issue mainly come due to issue in SQL state on system. For example, if SQL port is blocked or service is in stopped state.
To resolve this follow below steps to write to database:
Make sure to do for both Client and server.
Sometimes we have to repeat these steps couple of times so that GTT installer can write to database. |
HarmanAudioworX installation fails with the following error snap shot.
|
Sometimes the SQL Express is not installed with the pre-reqs. This may be because the system would have had the SQL Express installed previously and uninstalled, however the registry is not cleaned properly and the Pre-reqs wrongly detects the installation and skips. | Manually install the Microsoft SQL 2019 sever Express edition.
Link: SQL_2019 |
AmpSRV2
Issue Title | Description | Potential Solution |
---|---|---|
AmpSrv2 disconnected from GTT | Disconnection can have several sources:
|
Check whether GTT requests the disconnection by doing the following:
If GTT disconnects, AmpSrv2 should still be connected to the target device. |
GTT GUI Issues
Issue Title | Description | Potential Solution |
---|---|---|
GTT Crashes while launching streaming window. | Performance counters cannot be accessed while starting streaming. | One of the reason, GTT may crash while starting streaming could be the Performance Counters are not properly initialized or they are corrupted. This could be solved by rebuilding the performance counters.
To rebuild all Performance counters including extensible and third-party counters, type the following commands at an Administrative command prompt. Press ENTER after each command. Rebuilding the counters: Resyncing the counters with Windows Management Instrumentation (WMI): Reference: https://support.microsoft.com/en-in/help/2554336/how-to-manually-rebuild-performance-counters-for-windows-server-2008-6 |
Streaming Viewer stops when Laptop is removed from docking station | ||
Workaround for LUT parameter sets unit problem[Backward compatibility]
|
This issue will happen with every single LUT object in every set group with this device file. What seems to happen is the panel is appending the unit of each parameter into the set file, which is corrupting it. |
This workaround required for projects which are exported earlier than N+1 release.
You can observe red highlights are cleared and units are removed for each state variable. |
Unable to import/export projects in GTT | If the FIPS Algorithm Policy is enabled in the computer, GTT fails to import/export any project. |
|
Chart Rendering issue | If any issues related to Chart rendering in RTA or Streaming window. | Please update GPU/ Video card drivers to latest version.
One issue found in Dell system Latitude 5420 and solved with below steps:
|
Enabling Streaming Functionality
Now, if you want to measure the audio signal output and control output of an audio object of the added device. You need to configure Streaming functionality in a signal flow design.
- Go to the Device Designer window and select the virtual core of the device.
- Go to the virtual core properties and select the Streaming checkbox to enable streaming functionality.
- Enter the desired number of Level Meters that need to be added to the signal flow to monitor control-out connections or audio.
- Click Save to save the changes and click on Send Device Config.
- Double-click on the Xaf Instance to open the Signal Flow Designer window.
- On the Signal Flow Designer window, right-click on the audio connections, and select Level Meter > RMS. This action adds Level Meters in the signal flow design.
- Open Preset Controllers, click on Add Slot, and set Group 1 as LFHighOnly.
- Similarly, add another slot and set Group 1 as AllSpeakers.
- Click on Send to Device. When the preset data has been successfully sent, a completion message is displayed to indicate that the transmission was successful.
If an error occurs, an error message is displayed. - Click on Load Slot. The GTT sends a slot load request to the device and waits for a response.
If the device is successfully loaded into the slot, a success message is displayed on the screen. Now you can perform tuning. - Double-click on the audio object to open the native panel. On the native panel, change the value using the slider and check the level meter value.
- Similarly, open the IVP RTA window, go to the native panel, change the value using the slider, and check the signal graph.
Performing Basic Tuning
In Global Tuning Tool you can perfom basic tuning using Integrated Virtual Process (IVP). In the Integrated Virtual Process (IVP) allows you to make adjustments to various aspects of the audio configuration in the signal flow designer, such as audio object mapping, parameter settings, and virtual core configurations.
Steps to performing basic tuning with Integrated Virtual Process (IVP):
- Launch the Global Tuning Tool application.
- Navigate to the Sample Project tab and click on the AWXExampleProject.
This will open the Device Designer window and display example project details.
This example project contains a single win64 core with one instance of audio processing (xAF Instance). It has 2 inputs and 8 outputs.
- Double-click on the Xaf Instance to open the Signal Flow Designer window.
- Navigate to the IVP RTA tab to configure the device file and input/output settings.
- On the IVP RTA tab, click on Advanced Settings, under the Plugins tab, browse the xAFVirtualAmp64.dll file available in C:Program FilesHarmanHarmanAudioworXAudioFrameworkDLLs folder, and click Apply to save the plugin configuration.
- Go to the Device Designer tab, click on Export > Device Template, and save the device configuration as a “.flash” file in the C:Program FilesHarmanHarmanAudioworXAudioFrameworkDLLs folder.
This will save the layout of the device (single core with 2 inputs and 8 outputs) which helps the virtual amplifier to configure itself.
- Click on Send Device Config to send the changes to the device. Due to these changes, the device will go offline.
GTT will display a message “Device will go Offline. Manual Reboot of the device is required”.
- Go to the IVP RTA tab and click on Reboot. Once the device is rebooted, GTT will display the message “Plugin Host has been rebooted”.Now you need to configure the input and output settings.
- Open the Advanced Settings, go to the Routing tab, and under plugin host set Generator1 as input 1 and Generator2 as input 2.
- Similarly, go to the Analyzer tab, under source set Generator1 as input and PlugingHost1 as output, and click Apply to save the settings.
- The above settings indicate that you are using the Generator as input to the signal flow and output is displayed on the analyzer. You can also use sound card input by selecting “SoundIn1 or SoundIn2”.
Similarly, you can route the output to the sound card by choosing the Sound Out to PluginHost.
Click on Done to close the Advanced Settings window. - Click on the Design tab and click on Connect Device. This will open the Device Synchronization dialogue box.
- On the Device Synchronization dialogue box, click on Send. Sending or receiving data is indicated by a progress window along with a percentage of completion of sending or receiving data. The progress bar will close automatically once the send / receive process is completed. The progress bar window title will be “Sending data” or “Receiving data” depending on your selected functionality.
- Go to RTA, click on Generator, Analyzer, and PluginHost to generate input and output signals.
- On the graph, the first section displays the 1st channel of the input signal from the generator, and the second section displays the 1st channel of output from the signal flow. You can choose to display multiple channels by configuring the Analyzer in IVP.
SKUtility Developer Options
The Starter Kit Utility (SKUtility) includes options for developers to build, flash, run and debug the AWX Amp application on the Starter Kit hardware. Following is the help text for the developer options:
python3 SKUtility.py dev -h
Following are the developer actions that can be executed using the SKUtility Tool:
Developer Function | Command |
Build the AWX Amp application (rpiVirtualAmp) | To build the AWX Amp application with the modified AWX External Object, run the command:python3 SKUtility.py dev -pr rpiVirtualAmp -b |
Build the DSP library (VirtualAmp.dll) for GTT | To build the DSP library to be used in GTT with the modified AWX External Object, run the command:python3 SKUtility.py dev -pr virtualAmp -b |
Clean the build directory | To remove traces of previous builds of either the AWX Amp application or the DSP library in the build directory, run the command:python3 SKUtility.py dev -pr <rpiVirtualAmp/virtualAmp> -c |
Flash the AWX Amp application | To flash the custom AWX Amp application (built with the modified AWX External Object) on the Starter Kit hardware, run the command:python3 SKUtility.py dev -pr rpiVirtualAmp -f |
Start the AWX Amp application | To start the newly flashed AWX Amp application, run the command:python3 SKUtility.py dev -pr rpiVirtualAmp -r Alternatively, the following command can be used to reset the AWX Amp application on the Starter Kit hardware:python3 SKUtility.py rmt -rst |
Build AWX External Object
The GTT installation includes the source code for an example audio object called the “AWXAudioObjExt” in the following directory:
C:\Program Files\Harman\HarmanAudioworX\ext-reference-algorithms\external
It is accompanied by an audio object specification document named “AwxAudioObjExt.pdf” in the “docs” directory, explaining how the AO interacts with Extendable Audio Framework (xAF) API to implement a simple gain object.
The files “inc\AwxAudioObjExt\AwxAudioObjExt.h” and “src\AwxAudioObjExt\generic\AwxAudioObjExt.cpp” implement a class named “CAwxAudioObjExt”, which contain the functions that are called by the audio framework during initialization, tuning and run-time:
- init(): Called during initialization of the SFD. Assigns memory records and sets up initial states for the AO.
- calc(): Called at runtime with input and output stream buffers. Receives audio input frames from the framework and returns processed output audio frames in real-time.
- tuneXTP(): Called by a parallel tuning thread to change tuning states of the AO.
These functions can be modified as required to implement a custom audio processing algorithm.
Further information can be found APIs Basic Features and APIs.
C:\Program Files\Harman\HarmanAudioworX\ext‑reference‑algorithms\external\docs\AwxAudioObjExt\AwxAudioObjExt.pdf
The custom AO source code must then be compiled and built into the DSP library for GTT and the AWX Amp application for the Starter Kit hardware, both of which can be executed using the SKUtility tool. The following sections provide instructions on building the custom dll and executable for using the custom AWX External Object.
Building DSP Library with Custom Audio Object
The “ext-reference-algorithms” directory in the installation folder contains build configuration files to build the AWX External Object. Since the modifications are assumed to be made within the existing source code, the custom DSP library for GTT file can be built directly without any updates to the build configuration files by running the following commands in the “StarterKitUtility” directory of the installation folder:
python3 SKUtility.py dev -pr virtualAmp -c # clean the build directory
python3 SKUtility.py dev -pr virtualAmp -b # build the VirtualAmp.dll file
Upon successful compilation of the code, the output DSP library dll can be found in the following location in the installation folder.
xAF\public\lib\win64\Release\VirtualAmpExternal.dll
However, if there are additional files to be compiled along with the AWX External Object source files, they must be included in the below CMake file.
ext-reference-algorithms\external\src\AwxAudioObjExt\CMakeLists.txt
Loading the Custom DSP Library in GTT
The DSP library provides a toolbox of AOs for use in a signal flow, with information on configurations and tuning parameters and their memory requirements on different core types. To be able to use the custom AO in an SFD, the custom-built DSP library must be imported into GTT.
- First, start a new instance of GTT in “administrator” mode from the start menu, by right-clicking GTT and clicking Run As Administrator.
- In the home screen of GTT, go to the “Audio Library Manager’ and click the Load Audio Library button.
- Select the newly built “VirtualAmpExternal.dll” and click Open.
GTT may show a warning if the imported DSP library has the same version number as an existing one in the library manager. It is recommended that a backup of any previously loaded DSP library is taken for safety. The default DSP library can still be found in the “AudioFrameworkDLLs” of the installation directory. - Once the new DSP library is loaded, the custom AWX External Object can be accessed from the “Toolbox” panel under “External” tab in the signal flow designer view.
Building AWX Amp Application with the Custom Audio Object
The GTT installation also includes the necessary files to build the AWX Amp application along with the custom AO in “StarterKitrpiamp” directory of the installation folder.
To build the custom AWX Amp application, run the following commands from the “StarterKitUtility” folder.
python3 SKUtility.py dev -pr rpiVirtualAmp -c
python3 SKUtility.py dev -pr rpiVirtualAmp -b
On successful completion, the “rpiVirtualAmp” executable can be found in the below location.
StarterKit\public\bin\arm64‑v8a\Release\rpiVirtualAmp
Flash the custom AWX Amp application on to the Starter Kit hardware by running the command:
python3 SKUtility.py dev -f
To start the AWX Amp application in the Starter Kit, run the command:
python3 SKUtility.py dev -r