Harman Logo
AUDIOWORX
  • Home
  • Documentation
  • Videos
  • Release Notes
  • Login
Harman Logo
AUDIOWORX
  • Home
  • Documentation
  • Videos
  • Release Notes
  • Login
Harman Logo
AUDIOWORX
  • Home
  • Documentation
  • Videos
  • Release Notes
  • Login
  • Getting Started
  • User Guides
  • Developer Guides

Table of Content

Global Tuning Tool

  1. About Global Tuning Tool
    1. System Requirements
    2. Global Tuning Tool Workflow
  2. Workspace Overview
    1. Home Screen
      1. Home screen Options
      2. Application Options
    2. Device Designer Overview
      1. Tools
      2. Connection
      3. Import and Export
      4. Tuning
      5. Device Panels
    3. Devices and Template View
    4. About Core Objects Toolbox
    5. Device Operations
    6. Properties Panel
    7. Device View
    8. Help
  3. Configurations
    1. Configure State Variable
    2. Configure Default Control-Ids
    3. Configure Preset Controller
      1. Configuring Controller Slot
      2. Core Object Settings
      3. Custom Actions Settings
      4. Exporting Preset Configurations
      5. Maintain Folder Structure
      6. Loading Slots on the Device
      7. Handling Dual Responses
      8. Send Preset Data Online
    4. Link Window
    5. Configure Controller
    6. Launch MIPS Profiling
    7. Launch Memory Profiling
    8. Editing Memory Latency
    9. Configure Streaming and Polling
      1. Start Live Streaming
      2. Record Streaming Data
      3. FFT for Streaming
    10. Configure File controller
    11. Configure Control IDS
    12. Custom Device Usage
    13. Multi-xAF Library Support
    14. Configure External Endpoints
  4. Operations
    1. Create a New Project
    2. Create Signal Flow
    3. Connecting a Device
    4. Routing (Connections)
    5. Device Synchronization
    6. Launching Multiple Signal Flows
    7. Tune a Signal Flow
  5. Designing Custom Panel
    1. Panel Designer Ribbon
      1. Text Design
      2. Fader Design
      3. Rotary Design
      4. Button Design
      5. Box Design
      6. LED Design
      7. Meter Design
      8. Other Design
      9. Images
      10. Advanced
    2. Panels View
    3. Custom Panel Properties View
    4. Designer Workspace
    5. Editor Windows
      1. Parameter Address Editor
      2. Multi-Parameter Address Editor
      3. System Function Editor
      4. State Indication Setup Window
      5. Select Color Window
      6. Discrete Values Editor
      7. Indication Configuration Editor
      8. LED Values Editor
      9. Graph Parameters Window
      10. Scale Editor
    6. Create a Custom Panel in GTT
  6. Working with Parameter Set
    1. Parameter Set Overview
      1. Configuring Parameter Data
      2. Apply Delta in Parameter Sets
      3. Retrieve and Verify Parameter
      4. Import and Export Set File
      5. Preset Comparison
      6. Parameter Sets Explorer Color
      7. Switch Between Multiple Parameter
      8. Saving and Loading Set File
      9. Search in Parameter Sets
    2. Create a Parameter Set in GTT

Signal Flow Designer

  1. Overview Of Signal Flow Designer
  2. Components of Signal Flow Designer
  3. Operations in Signal Flow Designer
    1. Pin Labelling
    2. View Audio Object Metadata
    3. Column Name Configuration Panel
    4. Upgrade Audio Object
    5. Audio Object Processing State
    6. Metering the Signal Flow
    7. Copy and Paste Operation
    8. Undo and Redo Operation
    9. Block Control
    10. Signal Flow Design Validation
    11. Securing Audio Objects
  4. Create a Signal Flow
  5. Tune a Signal Flow
  6. Native Panels
    1. Launching Native Panel
    2. Common Operation in Native Panel
    3. Configuring Custom Native Panels
  7. Additional Audio Parameters
  8. Harman Audio Library Service
  9. Multiple Framework Instances Support
  10. Feedback loop in Signal Flow
  11. Compound Audio Object
    1. Create a Compound Audio Object
    2. Import and Export CAO
    3. Tuning and Editing CAO
    4. Create Preset for CAO
    5. Edit CAO Instance
    6. Set password for CAO
    7. Linking Custom Panel to CAO
    8. Multi dll support for CAO
    9. Delete a Compound Audio Object

Audio Object Description

  1. Audio Object Description Overview
  2. Interface Objects
    1. AudioIO
    2. ControlIn
    3. ControlOut
  3. Basic Objects
    1. Delay
      1. Delay Panel
    2. Gain
      1. Gain Panel
    3. Level Monitor
      1. Level Monitor Panel
    4. FaderBalance
      1. Fader Balance Panel
    5. Volume and Mute
      1. Volume and Mute Panel
    6. VolumeLite
  4. Control Objects
    1. Control Math
    2. Control Grouper
    3. Control GroupSplitter
    4. Control Multi Adder
    5. Control Mixer
      1. Control Mixer Panel
    6. Control Router
      1. Control Router Panel
    7. Control Smooth
    8. AudioToControl
    9. Lookup Table (LUT)
      1. Lookup Table (LUT) Panel
  5. Routing Objects
    1. Router
      1. Router Panel
    2. Splitter
    3. Demux
    4. Selector
  6. Source Objects
    1. Noise Generator
      1. Noise Generator Panel
    2. Wave Generator
    3. FilePlayer
  7. Mixer Objects
    1. Adder
    2. Matrix Mixer
      1. Matrix Mixer Panel
    3. Merger
    4. Fader Matrix
  8. Dynamic Object
    1. Limiter
      1. Limiter Panel
  9. Filter Objects
    1. ParameterBiquad
      1. Parameter Biquad Panel
    2. CoefficientBiquad
      1. Coefficient Biquad Native Panel
    3. Tone Control Extended
      1. Tone Control Extended Panel
    4. XoverBiquad
      1. Xover Biquad Panel
    5. FastConv
      1. Fast Conv Panel
    6. FIR Filter
      1. FIR Filter Panel

Real Time Analyzer

  1. Real Time Analyzer Overview
  2. Real Time Analyzer Components
  3. Settings
    1. Channels Settings
    2. Generator Settings
    3. Analyzer Settings
    4. Microphone Calibration
    5. RTA Advanced Settings
      1. Sound Card Settings
      2. Plugin Host Setting
      3. Advance Analyzer Settings
      4. Advance Generator Settings
      5. Graph Display Settings
      6. Mimo Convolver Settings
      7. Recorder Settings
      8. Routing Settings
    6. Saving and Loading RTA File
  4. Integrated Virtual Process Options
  5. Probe Point Configuration
  6. Real Time Data View
  7. Graph Settings and Measurement
  8. Traces
    1. Trace Toolbar
    2. Trace Configuration
    3. Trace Functionalities
    4. RTA Shortcuts
  9. Analysing Audio Signal

Measurement Module 2.0

  1. Measurement Module Overview
  2. Configurations
    1. Device Output Mapping
    2. Generator
    3. Test Sound
  3. Understand Measurement Process
    1. Scene Setup
    2. Speaker Configuration
    3. Microphone Configuration
    4. Define Measurement
    5. Measurement Session

Central Viewer

  1. Central Viewer Overview
  2. Central Viewer Window
    1. Configurations
    2. Scene Mode
    3. Chart Selector
    4. Waterfall Chart
    5. Graph Area
    6. Curve Lists
    7. Domain Selector
  3. Import Export Central viewer settings

Starter Kit Utility Tool

  1. Starter Kit Utility Tool
  2. Useful Commands for Starter Kit
  3. Starter Kit Troubleshooting
  • Global Tuning Tool
  • Configure External Endpoints

3.14.Configure External Endpoints

GTT allows external tools to interact with devices. The tuning of 3rd  party audio objects can be done directly in GTT, or it can also be done from an external tool.

The requests from external tuning tools will come to GTT and GTT will forward these requests to the device. This is enabled through a WCF service endpoint that external tools can tap into.
To help external tools integrate with GTT, the GTT process hosts a WCF endpoint; external tools can connect to that endpoint and use the exposed APIs.

Refer the contact information mentioned in the latest release notes to get more details on “External third party tool” documentation and package.

By default External Endpoints will use port 8080 for the communication.

Before proceeding with the following sections, it is understood that you have received 3 compressed zip files. It is recommended that you use these for integration purposes.

  • HarmanReferenceTool.zip: This compressed folder contains an executable sample tool that you can run and verify the endpoint functionality. Unzip the HarmanReferenceTool.zip file, go to the HarmanReferenceToolReleasenet6.0-windows folder, and locate the ExternalTuningTool.exe. Run the exe to open Harman Reference Tool.
  • ExternalToolCode.zip: This compressed folder contains visual studio solution for the sample tool. One can refer to this code to understand how the endpoint is accessed. Unzip the ExternalToolCode.zip file and locate the file under ExternalToolCodeExternalTool.
  • WcfServiceProxyLib.zip: This compressed folder contains a proxy library dll that should be referenced for integration with the GTT endpoint.

The “WcfServiceProxy.dll” is a .net dll which has the implementation of the client code for the endpoint hosted in the GTT.

By default Third Party tuning tool will use port 8080 for the communication.

Setup

GTT needs a minimum setup for external endpoints to function.

  1. Right-click on GTT launcher and click on the “Run as administrator” option.

    For the external endpoint feature to work correctly, it is necessary to run GTT as an administrator.

  2. GTT should have an open project. Only external audio objects can be accessed from external tools.
    Accordingly, the project must contain at least one external audio object within the signal flow. An external audio object is defined as an object with Class ID between 9000 and 9999.
  3. GTT should be connected to the device. The device can be a virtual device or a physical board.
  4. Click on the Start/Stop button to start the External Endpoint. The same button works as a toggle switch to start and stop the endpoint.

    A license is required to use this feature. Contact the solution management team to enable the feature.

  5. Once the endpoint is hosted,  the 3rd party applications can use the proxy dll or write their own proxy to access the WCF endpoint. For more details about WCF proxy, refer to “About WcfServiceProxy.dll in the GTT Third Party Tool Integration User Guide. 

Supported Features

Sending and Receiving Tuning Data

To support sending and receiving tuning data, the following methods are exposed.

  • GetExternalAudioObjects: This method will return all the 3rd party audio objects in the device.
  • SendTuningDataAsync: This method is used to send tuning data to audio object.
  • ReceiveTuningDataAsync: This method is used for receiving tuning data from an audio object.

Sending and Receiving Control Data

To support sending and receiving control data, the following methods are exposed.

  • SendControlDataAsync: This method should be used to send control data by mentioning the control id and control data.

    The control data supports 16.16 format.

  • ReceiveControlDataAsync: This method can be used for retrieving control data by providing the control id to the control elements to be read back.

Streaming Methods

GTT also supports streaming with the following methods.

  • EstablishSocketConnection: This method must be called first in order for streaming to work. The third-party tool should first establish a socket connection and then make a call to the port number where it is listening. GTT will connect to that port. This is a socket connection.
  • DisconnectSocketConnection: This method is used to unsubscribe all the subscriptions and close the socket connection.
  • SubscribeForStreamDataAsync: This method is used to subscribe for stream data for an audio object.
  • UnSubscribeForStreamData: This method is used to stop or unsubscribes the stream data.

To know more about all the API methods described above, refer to the API Reference section in the GTT Third Party Tool Integration User Guide. 

External Tool Interaction

The following are the steps to integrate with GTT.

By default GTT will host the WCF endpoint on this URL (http://localhost:8080/XtpHandlerService).

Steps to get started with the WCF service.

  1. Discover the service using this URL. Use the known tools like visual studio service reference tool or any 3rd party tools.
  2. Create a service reference for the same.
  3. Then using the service reference call the APIs for different operations.

Otherwise, developers can follow the “Third Party Tool Tuning Sequence Workflow” and  “Third Party Tool Streaming Sequence Workflow”  to write code to consume the endpoint hosted by GTT using the proxy library (WcfServiceProxy.dll) shared and explained in the GTT Third Party Tool Integration User Guide. 

API References

GTT endpoint APIs definition and parameter details are provided in the GTT Third Party Tool Integration User Guide. 

API: ExternalAudioObject

API Function:

ExternalAudioObjectResponse GetExternalAudioObjects();

Description: This function will return all the audio objects that are used in the currently open signal flow in GTT. It returns only those audio objects which have Class ID between 9000 and 9999. Also, any audio objects that are listed in external category.

API: SendTuningDataAsync

API Function:

Task SendTuningDataAsync(ExternalAudioObject audioObject, int subBlock, int offset, byte[] data);

Description: This function will apply the data payload to the ExternalAudioObject  passed into the function.

API: ReceiveTuningDataAsync

API Function:

Task< XtpEndpointResponse > ReceiveTuningDataAsync(ExternalAudioObject audioObject, int subBlock, int offset, byte[] size);

Description: This function will retrieve tuning data from the ExternalAudioObject.

API: SendControlDataAsync

API Function: 

XtpEndpointResponse SendControlDataAsync(int controlId, byte[] data);

Description: This function will send control data to the control id mentioned in the function.

API: ReceiveControlDataAsync

API Function:

XtpEndpointResponse ReceiveControlDataAsync(int controlId, byte[] data);

Description: This function will get the control data from the control id that is passed into the function.

API: EstablishSocketConnection

API Function: 

XtpEndpointSocketResponse EstablishSocketConnection(int port);

Description: This function will instruct GTT to connect to the socket connection listening at the port passed as parameter. The integrating application will create a socket connection and listen at a port and send this port id to GTT, so GTT can establish a connection and send stream data through the socket.

API: DisconnectSocketConnection

API Function: 

XtpEndpointSocketResponse DisconnectSocketConnection(int port);

Description: This function will instruct GTT to disconnect the previously established connection. The integrating application will close the socket connection.

API: SubscribeForStreamDataAsync

API Function:

Task SubscribeForStreamDataAsync(ExternalAudioObject audioObject, int subBlock, int messagesPerSecond, bool beforeCalc);

Description: This function will create a subscription for data streaming of a particular state variable of the audio object mentioned at subblock/offset.

This function can be used to subscribe for streaming of a particular data from audio object. Parameters include audio object, its subblock. There is an option to send the number of messages to be streamed per second and if the streaming data is to be retrieved before calc or after calc.

All this needs to be supported by the audio object. Once the subscription is complete, the subscription id and status are returned to the object.

API: UnSubscribeForStreamData

API Function: 

SubscriptionResponse UnSubscribeForStreamData(Guid subscriptionId);

Description: This function will terminate the subscription that is currently running. GTT will stop the subscription that is started with the subscritionId passed as parameter.

Use Cases and Workarounds

Use Case Workarounds
Use Case 1: While starting External Endpoints from GTT, if you gets notification of port already being used.
Then you need to perform configuration in GTT as well as in ExternalTuningTool.
Close the GTT application and perform the below configurations:

By default the key does not exists in the config file. When configuring the config file, you need to add the key and the required port number.

GTT configuration settings:

  1. Open config ‘GlobalTuningTool.exe.Config‘ from install path ‘..HarmanHarmanAudioworXtoolsGTT’.
  2. Under “appSettings” section, add a key ‘HarmanExternalEndPointPort‘ and provide any value from range from 8081 to 65535.
    This key and value will be used to host the service on provided port for the communication.
  3. Launch the GTT application.

ExternalTuningTool configuration settings:

  1. Open config ‘ExternalTuningTool.dll.config‘ from path ‘…….ExternalToolExternalTuningToolbinDebugnet6.0-windows’ or from ‘…….Releasenet6.0-windows’.
  2. Under “configuration” section, add appSettings section, add key ‘HarmanExternalEndPointPort‘ and provide any value from range 8081 to 65535.
    This key and value will be used for communication.

Key name must be ‘HarmanExternalEndPointPort’ and value must be same in GTT config as well as in ExternalTuningTool config.

« Multi-xAF Library SupportOperations »
Suggest Edit
  • Careers
  • Contact
  • Sitemap
  • News

© 2025 HARMAN International. All Rights Reserved. Privacy Policy | Cookies | Terms of Use

If you are using a screen reader and are having problems using this website, please call (800) 645-7484 for assistance.