GTT Known Issues

Known Issues with a workaround and will not be fixed


Known Issues Description
GTT Core Linking AWXNG-5049: [SMART] Label names are lost when it’s associated AO (state variable) is removed from signal flow.

The linking that is done before extract will not be available on CAO edit as we are using a dummy device/core hence the hiqnetaddress would differ. Workaround: Do the smart window mapping only on CAO edit.

GTT Signal Flow Volvo project getting a compiler error “Block ID range error with SpeakerProtection AO” (Block id for SpeakerProtection AO need not be 16 bit and hence need to be corrected at project end)

 

Known Issues and will be fixed in next release


Known Issues Description
Checksum In read cases checksums Match When tuning data set is very small.
Probe points
  • Distorted audio spectrum is generated when change the Probe Points during Probing.
  • Probe Points / Streaming: Distorted spectrum for Probe Points in IVP is observed when probe point is initiated after the streaming is paused and played back.
UI/UX Opens multiple windows during 1st time launch.
GTT MPC Keeping the Map file open in Hex Editor Neo and try to export all from MPC (such that it tries to overwrite the map file which is open in Neo editor) results in GTT crashes.
GTT Core /SFD
  • Multi connection from one input group to multi-input core to be avoided.
  • GTT Crashes While Opening Core Object Settings After Deleting Virtual Cores with Existing Core Object Settings by Keeping MPC window open (Workaround: CloseMPC before doing edit device).
GTT Native Panel Legend View of Control Mixer Panel is not updated properly when we re-assign color and label.

Workaround: Reopen the panel, all labels will be visible in the Legend View.

Panel Designer  Help links are mapped incorrectly in some Custom Panel Windows.
MIPS Window MIPS window is limited to 255 audio objects per core.
RTA/IVP RTA – Delay Mode do not show aligned values in Live ribbon bar vs Graph.

AudioworX RSDK Known Issues

  • Clearing Flash Files: GTT crashes when try to import another project and send signal without clearing the existing flash files.

Deleting the flash files manually is not required when moving from offline device to online device.

  • Block ID range: The block ID of the AOs that support extended block IDs shall range from 33024 to 65280 in multiples of 256 and the GTT ensures the same with appropriate error messages if invalid.
    For all the other AOs that do not support extended block ID, the range needs to be restricted from 1 to 32767 only. But presently the GTT is not restricting in this range and allowing till 65535.
  • Double-Clicking the gttd project just launches the GTT installer and closes immediately. Fails to open gttd project by double-clicking it.
  • Mandatory “device.flash” file: IVP and VST3 might not work correctly and show number of inputs and outputs or might even crash if no “device.flash” file is present1
  • Legacy device: The legacy device is not supported in this release because of Master Control related changes and dependencies. This will be addressed in y+1-release.

General Limitations

The table below outlines the general limitations of AudioworX.

Limitations Descriptions
GTT/IVP crash because of propagation of wrong core type
  • Under some circumstances, it might happen that your project gets corrupted and GTT closes after clicking reboot or apply button in IVP. If GTT closes again after starting IVP, the following steps are required to recover:
  • Go to your specified VirtualAmp.dll folder and delete all flash files, and start GTT.
  • Go to your device
    • Change Core type to C66 (or any other than WIN64)
    • Save (important)
    • Change core type back to WIN64
    • Save
  • Open IVP
    • start PluginHost
  • Send device config and/or signal flow
[SMART] Label names are lost when it’s associated AO (state variable) is removed from signal flow The linking that is done before the extract will not be available on CAO edit as we are using a dummy device/core hence the hiqnet address would differ. Workaround: Do the smart window mapping only on the CAO edit.
Biquad number of channels Based on the requirement AWXNG-9194, we have a limited number of channels. GTT does not display the limited channels, but if you enter more than 64, it will show as invalid with a tooltip.
Timing based functionality may not work correctly when running signal flows which are over CPU budget for the device. Any functionality that is based on on-device time checks or GTT based timeouts, or other time checks may have failures.  Specifically, during state changes, your ramp time is based on the accumulation of increments, which are calculated up front.  Since calc is running slower, these ramping increments are also happening slower.  Likewise, the pipeline delay functionality is based on the passage of real time, not the number of calculations done, so it would not wait long enough for the cores to actually fill buffers as expected, since they are running slower than they should.  When you load slots in this condition, you may see a GTT timeout message indicating the slot load failed, but it may be it just took too long.
IVP / VST3 builds When connecting cores of different block lengths (which is possible so that it can be done on hardware and buffered outside xAF) note that it will not work in IVP or VST3 in single core processing mode. Processing will not happen when this condition occurs.
Compensation File The compensation file is only considered for magnitude curve correction; it has no impact on calculated metrics such as sound pressure level (SPL) and total harmonic distortion (THD).
Wasapi limitations
  • Bluetooth devices are not supported.
  • While selecting Loopback devices, make sure that the input device and output device are the same, with the input device name appended with ‘Loopback’, as shown below:
Unsupported Bluetooth dongles JBL Quantum 610 and JBL Quantum 800 Bluetooth dongles are currently not supported.

 

Compatibility/Sub-Versioning

This release requires the following software to be installed for SW developers:

  • Microsoft Visual Studio  2017 and 2022
    • For customers using VST3 : Microsoft Visual Studio 2017 or 2022
  • CMake 3.24 and above
  • Python 2.7

Release Identification

Release Details


This release is part of an AudioworX package and is delivered as a Windows installer.

Release Type Release Name Release Version Release Date
Major Release Y 25.0.0.2528 11-July-2025

 

Components of the AudioworX Package


This package contains the DSP framework (xAF), Audio Algorithm Toolbox (AAT), Global Tuning Tool suite (GTT) with embedded Signal Flow Designer (SFD), and AmpSrv2.

Components Description
Extendable Audio Framework (xAF) xAF is created to consolidate numerous existing frameworks within Harman into a single vision that provides a single workflow and structure for audio processing development and usage.
It is also designed to provide a richer feature set required by internal and external stakeholders.
Global Tuning Tool (GTT) GTT is a branch of the Audio Architect from Harman’s Professional Division. It focuses on integrating HALO sonic and Audio/Acoustics Measurement, Analysis, and Tuning GUIs into one consolidated and comprehensive tool to increase tuning efficiency, performance, and quality.
It has common interface panels for systems, algorithm designers, and developers to ensure seamless and focused development of new algorithms right from the beginning.
Signal Flow Designer (SFD)  SFD is a software component of GTT to create signal flows based on the available audio objects of Harman’s audio algorithm toolbox.
Audio Algorithm Toolbox (AAT) AAT is a collection of audio objects and audio features. The Audio Algorithm Toolbox includes algorithms and technologies for both Audio and HALOsonic.
AmpSrv2 This software connects the tuning tool to a physical target device or a virtual amplifier.

For assistance with AudioworX, please get in touch with our technical support team at AudioworXSupport@harman.com.

Details on New xAF Features

The table below outlines the updates for xAF features.

Features Updates
Script Runner This new Audio/Control Object enables the user to run it based on one or many user-defined scripts, which are translated into runtime code. Y-Release version is restricted to control signal processing and will be extended to audio, block control, streaming etc. in future releases.



Example: Store the last 4 received control values and the controlSet counter and make those values available via SFD metering.

Key Features

  • Enables to write control logic code on demand.
  • Lightweight and fast, hence translation is done offline, and “ready to execute code” is generated for runtime execution.
  • Dynamically loaded config files can change the inner execution logic during runtime -> multiple functionalities can be executed on demand.
  • Enables rapid prototyping for control signal processing (first version supports only controls).
  • C/C++ is like a scripting language
  • Supports following std:: c++ functions and operations:
  • +, -, *, /
  • fabsf
  • expf
  • logf
  • log10f
  • log2f
  • powf
  • sqrtf
  • sinf
  • cosf
  • tanf
  • asinf
  • acosf
  • atanf
  • ceilf
  • floorf
  • rand
  • srand
  • fmodf
Cerence™ Object(s) integration The SSE audio algorithm from Cerence was integrated

Key Features

  • SSE available for Win64 and Sharc adsp21593.
  • Tuning proxy supports ICC, SSE, and EVD.
  • Enables Cerenece config files to be loaded during runtime.
  • Enables tuning without any special A2B or Ethernet connections but utilizes tuning and streaming mechanisms provided by the xAF framework.
  • Cerence tuning sends and receives messages are tunneled via xTP.
File Player Change requests from HALO and improvements, and optimizations

Key Features

  • Configurable cache size range extended (minimum is reduced from 1024 to 256)
  • Added protection for read pointer not to surpass the write pointer during buffer underrun
  • Added two new cache config related additional parameters:
    • Maximum samples read in a background call
    • Minimum samples that can be read in a single read() API call
    • The above two parameters provide flexibility to the designer to handle different scenarios with constraints (MIPS, memory, background thread priority etc)
    • With these two new parameters, the cache buffer can be configured as:
      • Ping-pong buffer
      • Circular buffer
Wave Generator Extended frequency range (sample rate /2)
LUT A new mode has been added to support exact match. This mode operates without interpolation and triggers only when it receives an exact matching input. It will output the corresponding value from the LUT table.
Average Meter New audio object added to the default AWX audio objects catalogue. This object can calculate average values per channel for a given time frame.
Gain Example A new simplified example audio object is available for reference integrations of third parties. It exposes and showcases only the mandatory API’s and reduces complexity compared to the complete and more detailed AWXExampleObj example.
Control Demux The Control Demux audio object is designed to route the input control signal to one of the outputs based on the index value. It supports all block lengths and all sample rates supported by the framework. Control Demux also has support for SFD metering.

Key Features

  • Enables routing of a control pin to an output control based on tuning and/or the second control input
Biquad Parameter-, Coefficient-, Xover-Biquads, and Tone Control Extended were updated to use DFII-T as the default topology.

This does not change existing projects.

Volume & Mute This feature extended the existing Volume and Mute audio object to support event reporting via control. This enables the user to receive muted or ramping completed events in the “handleControlOut” callback or by any other processing audio object.

Key Features

  • Sends the control value for “Muted/Unmuted” event
  • Sends the control value for the Ramping started event
  • Sends the control value for the Ramping completed event

If you want to learn more about “Script Runner,” “Cerence™ Objects,” and “Average Meter,” contact our AudioworX support team for further details. You can reach us at AudioworXSupport@harman.com.

Details on New GTT Features

The table below details the feature updates for Global Tuning Tool (GTT).

Features Updates
 Sound Field Control

(Measurement with Mannequin)

The seat measurements can be performed using a mannequin equipped with two microphones placed in the left and right ears.
The process to define a mannequin measurement is the same as that for other microphone arrays, with a few additional steps required to specify movement or rotation details for each sequence. Measured mannequin measurements can be analyzed in the central viewer.
For more details, refer to Mannequin Measurement.
Preset Controller Enhancements & Custom Actions
  • Extend the maximum number of slots to more than 255.
  • Provided Parameter sets copy and paste option to copy/paste set values from one parameter set to a different or the same set. Both single and multiple selections are supported using keyboard shortcuts using the shift key control key, CTRL+C, CTRL+V.
  • Ability to detect auto corrected or invalid values for the Parameter set while importing set/setr
    • Highlight objects if the respective data is not imported.
    • Option to filter preset data to view cells with warnings and errors.
  • Prevent accidental or unauthorized edits in parameter set group data by protecting it with a password.

More details are available Parameter Set Components – User Guides

UX/UI Enhancements
  • Landing Page improvements to remove duplicates option, improved file menu example, Licensee Information, help, and about
  • Ability to export selected projects. The user can export multiple projects with this feature. More details are available here: Home Screen.
  • Improved error log information to Display Object name, wherever the object error is given, instead of giving the block ID
  • Avoided accidental movement, causing the user to perform unnecessary save actions.
Native Panels
  • Ability to apply color in the Control Mixer Panel.

  • Create a Reusable Native panel for a Generic AI object.
  • New Native Panel for Fader Matrix Object.
  • Allow import and export of LUT-Data into a .csv file.
  • Apply Offset in LUT only on selected cells
Performance Improvements 
  • Open/Import project performance improvement
  • Open signal flow improved by 45%
Increase the limit of Audio Objects SFD Increasing the number of Audio Objects per core in signal flow.
Feedback loop enhancement Display Execution Order (Index)
Measurement Module
  • Inspection viewer Improvements-Display chart corresponding to selected step if the step is not completed or aborted chart will not display.
  • Validate to noise ratio of the channel measurement.
  • Make the calibration window movable instead of fixed.
Central Viewer Ability to remove browsing curves from the car in single selection mode/li>
IVP/RTA
  • Auto-populating entries in IVP Advanced Settings connections -Allow the user to auto-populate different lists on advanced settings.
  • Built-in Timer- auto capture timer in RTA allows the user to auto capture traces with a preconfigured time.
  • Ability to open RTA when SoundCard settings are incorrect.
  • [RTA][CV]-Text File Export improvements
    • Ability to export phase data
    • Included Project Name in the exported text file
  • [RTA] Multiplex / RMS ribbon required modes

 

Overview

This document describes the procedure to use the VST3.X AudioworX Plugin. VST3.x AudioworX Plugin is generated by linking the plugin source code, VST3 SDK, with Win64 xAF Libraries.

References

Folder Structure

To work out of the box, the VST3 AudioworX needs to be organized according to a specific folder structure. Therefore, extract the zip file into an arbitrary workspace folder (e.g. C:AWX_dev) and make sure it matches the structure below and that there are no spaces in the names.

extendable-audio-framework

external

  • inc: Folder to place the included files for the External AudioObject.
  • src: Folder to place the source files to build the External AudioObject.
  • vst3: VST3 wrapper files
  • vstProject: Satisfies interface dependencies
  • Build.bat: Script to build VirtualAmp.dll, required for GTT Toolbox.
  • Build_VST3.bat: Script to build VST3 plugin.
  • clean.bat: Script to clean the VST2 build artifacts.

Public

  • include:  xAF HeaderFiles
  • lib:  AudioworX libraries for Win32 and Win64.

Steinbergsdk

The Steinberg sdk is not part of the AWX package and needs to be downloaded manually. Please refer to option 1 or option 2 mentioned below.

VST3    (all files and folders inside this folder are part of the Steinberg SDK)

 vst3sdk: VST3 sdk files and build scripts

There are two options to get the VST3 sdk.

  • Option 1 (External): Download directly from the Steinberg official page [1]:

With the download, you are accepting the license agreement from Steinberg.

Extract the zip file according to above mentioned folder names

  • Option 2 (Harman internal only): git clone ssh://git@bitbucket-munich.harman.com:7999/bitbucket/lsacca/steinbergsdk.git

Make sure the branch: “master” is checked out. No need to adjust any folder names.

Run VST3 Plugin

The VST3 plugins can be run with any tool that is compatible with 64bit VST3 SDK (Examples: Reaper, Bidule, etc.).
The two mentioned hosts are tested by the AWX team.

The current VST3 plugin version does not support multiple instances, because of an internal hard coding of the socket server port (25001).
This port is used by Amp2Srv to communicate with the Harman Global Tuning Tool when sending the signal flow or tuning the object.

Step-by-Step Simulating Signal Flow using VST3

Bidule

The Bidule is a 3rd party host developed by Plogue. This tool supports unequal numbers for input and output channels and can retrieve the configured number of channels automatically. Using the VST3 plugin without a sent signal flow, the plugin will start with 2 input and 2 output channels. Once you have sent the signal flow and re-added it into the patcher of the tool, the number of inputs/outputs will be updated correctly.

Bidule Patcher

Reaper

This section explains the steps to run the VST3 AudioworX Plugin in Reaper.

  1. Open the tool (Reaper).
  2. Go to Option, set the VST Plugin path to C:Program FilesCommon FilesVST3.
    It can also be set to any custom path where the VST3. AudioworX Plugin, ‘virtualAmpVST3.vst3’ is located.

    VST Plugin settings
  3. Click on Re-scan and select clear cache and re-scan.
    Adding VST3 plugin
  4. Click on Insert. New Track to insert a new track (or Press Ctrl + T).

    Insert Track
  • The Audio configuration is stereo by default in Reaper.
    To support Multichannel Signal Flows, click on the Route Button in the Track and select the number of channels in the Track channels drop-down.
    This number has to be equal to or bigger than the max value from your Device inputs and outputs configured in GTT.

    • Example: 3 Inputs, 7 outputs -> Track channels need to be set to 8
      Selection to set channel Configuration
      Selecting the Number of Channels
    • Click on the FX Button to add the AudioworX VST 3 Plugin. The plugin can be selected from the tab VST3. Search for the entry AudioEffectAWX.
      Selecting AudioworX VST Plugin

If the plugin addition is successful, the default UI for the plugin comes up. You should be able to see it.

Harman AudioworX VST3 Plugin Display

The UI controls for this GUI can be ignored for now. This engineering release drop does not support any GUI.

Controls

  1. Click on Insertà MediaFile to add an audio file to the track.
  2. Click on the play button to start audio playback.
Starting audio playback

Global Tuning Tool (GTT)

  1. Use the Global Tuning Tool (S Release version).
  2. Load the GTT DLL from the /Harman/HarmanAudioworX/AudioFrameworkDLLs/ folder.

    Select GTT Dll
  3.  Open GTT and enter port number 25001 in the AmpSrv settings to connect the device to GTT,
  4. Configure the signal flow as required and click SendSignalFlow to send the signal flow files to the VST3 device.
    Sending Signal Flow From GTT