Setting Up the Developer Environment

This page contains information relevant to the developer features of the AudioworX Starter Kit, which require a special license. Write to AudioworXSupport@harman.com for details on how to avail the license.

Following is a list of software applications to be installed on a Windows PC to develop, build and debug custom audio objects (AOs) on the Starter Kit:

Download and install the above-mentioned pre-requisites on a Windows 10 or 11 PC.

For steps on how to install GTT and its pre-requisites, Refer Installing AudioworX Setup

The Raspberry Pi Toolchain


The main audio processing component of the AudioworX Starter Kit is the Raspberry Pi 5, which has ARM v8a (64-bit) cores. To cross-compile source code for this architecture, the GCC 10.2.1 toolchain is recommended and can be downloaded from GCC 10.2.1 toolchain:

A screenshot of a computer Description automatically generated
Tool chain Installation

Install the toolchain in the default location (C:\SysGCC\raspberry64).

Python Dependencies

The GTT installation includes the Starter Kit Utility tool (SKUtility), a Python command-line application that provides the ability to remotely operate the Starter Kit hardware over the network. This tool is installed in the following directory (default GTT installation folder):

C:\Program Files\Harman\HarmanAudioworX\StarterKit\StarterKitUtility

For more information on Starter Kit installation and setup, refer to the “Required Software Applications” section of Starter Kit Requirements.

Parameter Set Overview

GTT allows you to tune the audio object memory by setting values using Parameters Set and measuring the audio experience.

The Parameter Sets show the tuning data of all the set of objects used in the signal flow design. These sets can be easily maintained, exported, and shared with others. Additionally, the Parameter Sets allow you to save the progress of the tuning of the audio objects at every milestone point. As a result, you can return to any level and start fine-tuning the device.

Relative Topics

Designing Custom Panel

The Panel Designer offers a streamlined and user-friendly workspace designed for creating custom panels tailored to specific audio tunning needs. It features a variety of components and tools that facilitate the design and editing process. Using Panel Designer, you can quickly create a custom panel with all the elements you need and link the panel with a desired audio object. Let us have a look at some of the components of the Panel Designer workspace.

Key Features of Panel Designer

  • Ribbon Interface: The main interface includes a ribbon divided into several groups, 
    • Controls: To access and utilize various panel controls.
    • Clipboard: For copy and paste functionalities.
    • Editing: Tools for modifying elements within the panel.
    • Layout: Options for arranging the panel components. 
    • Parameters:  To manage the settings and configurations of the panel. 
  • Panels View: This section displays all custom panels, allowing users to create, delete, or import panels. It also provides access to the Venue Explorer for viewing devices, applications, and parameter sets. 
  • Properties View: Located on the right-hand side, this area shows the properties of each component, enabling users to customize the panel according to their requirements.
  • Toolbox:  Users can employ various tools found in the Toolbox to build custom panels effectively
  • Editor Windows: Editor windows linked to corresponding properties for streamlined customization.
 

Relative Topics

 

Virtual Sound Sources (VSS) 2.0 Introduction

Virtual Sound Sources (VSS) 2.0 is designed to move a mono sound source’s virtual position around the listener. The sound source’s virtual position can be moved around 360 degrees and at a distance ranging from “Near” (minimal distance) to “Far” (maximum distance).

VSS 2.0 CAO is available with 3 independent mono input channels and configured for seven output speakers.

  • Left Front
  • Right Front
  • Center
  • Left Side
  • Right Side
  • Left Rear
  • Right Rear

VSS 2.0 concept

Virtual Sound Sources (VSS) 2.0 Signal Flow

The VSS 2.0 CAO has following inputs and outputs.

Audio input Audio output Control input Control output
  • Mono sound source #1
  • Mono sound source #2
  • Mono sound source #3
  • Speaker channel Left Front
  • Speaker channel Right Front
  • Speaker channel Center
  • Speaker channel Left Side
  • Speaker channel Right Side
  • Speaker channel Left Rear
  • Speaker channel Right Rear
  • Control signal Distance Source #1
  • Control signal Angle Source #1
  • Control signal Distance Source #2
  • Control signal Angle Source #2
  • Control signal Distance Source #3
  • Control signal Angle Source #3
  • Control signal Driver Side
  • There is no control outputs.
SFD of VSS 2.0

VSS 2.0 channel mapping

The below figure shows the internal signal flow of VSS 2.0.

VSS 2.0 internal signal flow

Virtual Sound Sources (VSS) 2.0 Panel

VSS 2.0 panel is divided into two areas, namely Global area and Source tab area as follows.

Global area is further divided into panning gains, driver side, compensation, input filters, distance and mute sections.

Parameter Name Description
Panning Gains These buttons launch the LUT native panels displaying the angle/amplitude panning curves for each output channel.
Driver Side The DS can be changed by clicking this field.
Compensation The buttons included in this section provide access to the native panels of the Delay, Gain and EQ AOs used in the Compensation feature.
Input Filters This section is used to shape the frequency range of the source signals.
Distance This section provides a switch for turning the Ambience signal “ON/OFF”. The Size button allows the user to change the room size to “Small/Large” based on two tuning presets for the ReverbLite AO.
Mute It exposes individual channel output state “ON/OFF”. It also includes a global switch for all-channel mute/unmute. The buttons follow a driver side or passenger side layout. Depending on the DS, D_Front will either represent L_Front in LHD case or R_Front in RHD case. P_Front represents R_Front and L_Front respectively. The same rule applies to the Side and Rear speakers.

Source tab area is divided into angle fine-tuning, distance rendering and emulation sections.

Parameter Name Description
Angles Fine-Tuning
It contain 25 angle support points to correct the angles for virtual sources located around the listener. The button next to the 0° angle correction point (SRC 1) opens the native panel of the LUT which is used only for copying and pasting the angles fine-tuning values from source to source.
Distance Rendering
This section allows to enter the attenuation values in dB for both Direct and Ambience signal, ranging between “Near” and “Far”. It also allows to define the lowpass filter cutoff frequency of the Input EQ for the maximum distance tuning (“Far”).
Emulation
This section is designed to allow the user to set and test per-source tuning. Buttons allow to change the angle and distance to discrete values. For distance, 0 refers to “Near”, 100 to “Far”.

The number of source tabs is same as the number of CAO supported input channels.

Details on New AWX Features

Below features are developed across the domains of AudioworX ( xAF and GTT).

Features Updates
Master Control This feature enables users to route control signal(s) on device level. This means, that now controls can be routed across xAF instances and (Virtual) Cores.






Key features

  • Enables core object to core object control routing.
  • Enables block control inputs to core objects.
  • Enables block control outputs from a core object.
  • Enables block control inputs to Virtual Cores
  • Enables block control outputs of a Virtual Core.
  • Enables physical core to physical control routing.
  • Enables control pin configuration on Device level instead of instance level
  • Enables graphical control routing configuration and visualization
  • Simplified streaming configuration.
  • Enables Audio objects/ Core objects to share “data” (FFT, coefficients, states, etc.)

In y-release, group size is restricted to 256 but will be extended to 2^31 in y+1 release.

  • Queued control data to avoid a circular control processing.
Core dependent Audio and Core Object filtering This feature allows the AO developer to specify supported cores for the audio or core object. Third party objects not always support all AWX supported target processors. This feature enables the developer to restrict the usage of the audio object only for the supported targets. This is an extension of the supported block length and sample rate feature.






Key features

  • Enables dynamic metadata to describe all supported features/target processors for audio objects
  • Enables dynamic metadata to describe all supported features/target processors for core objects
IVP Soundcard setup This feature enables the user to use new host APIs for the sound card configuration. For low latency requirements the newer WASAPI host can be used instead of MME if no ASIO ™ device is available.

Key features

  • WASAPI host added
  • DirectSound host added
  • Latest PortAudio features and bugfixes integrated
Third-party framework inside AudioworX as a core audio object This feature enables customer to integrate AWE audio objects into AudioworX without any effort.  With the help of bridge application, user will be able to tune AWE audio objects using AWE designer/Tools.




Key Features

  • Enables multi-threading support for the framework.
  • Enables configuration of number of threads, core speed and Heap sizes.
  • Reduced MIPS by eliminating interleave and deinterleaving data before and after AWE framework.

 

AudioworX Starter Kit Updates


  • Enabled support for HiFiBerry DAC8x and ADC8x Add-on.
  • Improved latency is achieved with the Starter Kit.
  • Starter Kit has been updated to include an option for MIPS measurement from real-time clock.
  • New example GTT project included for the AudioworX Starter Kit with support for 8 inputs and 8 outputs (HiFiBerry DAC8x and ADC8x add-on combination).
  • Implemented and tested SKUtility-UI tool to enable Raspberry pi board control through a graphical Interface.
  • Changed Starter Kit target installation directory on the Raspberry Pi for better portability.

FAQ

Q. What is the range supported for BlockID?

A. For audio objects with extended block id support, block id should be in the range – 33024 to 65280 in multiples of 256.

Q. Not able to load the audio library (VirtualAmp.dll or Toolbox dll)

A. If VirtualAmp.dll depends on another dll which is not part of GTT, GTT will fail to load the dll. In this case user needs to copy the dependent dlls to C:\Program Files\Harman\HarmanAudioworX\tools\GTT folder.

Q. GTT stops the audio from other application when launched?

A.  GTT doesn’t stops audio from other application, However If user face any such difficulty.

Change the properties of the sound settings in your laptop/ PC. Uncheck the check box which says, “Allow application to take exclusive control of device.”

23.1.0.2438 GTT Minor W Release

Securing AWX Audio Object

Custom Actions on Slot Load

  • Ability to configure Swoosh Mode in Core Object Configuration in slot map.
  • Automatically modify core object id in preset controller
  • Auto delete configured custom action when the instance is deleted from device designer /when Audio Objects deleted from signal flow
  • UIUX enhancements for custom actions
  • Control Refresh in custom action.

Halosonic Feature Updates

  • End Of Line Native Panel Request
  • GNS Panel ‘Add Grain’ sets field to 0
  • RNC flexible configuration native panel

Native Panel and Update

  • Power Manager Panel Updates
  • Biquad Panel Updates
  • LUT Panel Undo Redo Feature
  • LUT Customizable Label for axes

GTT Performance Improvements

  • Save SFD Optimization
  • Device View Optimization
  • Import Project Optimization

IVP/RTA Feature Updates

  • Example projects for IVP, StarterKit and VST3 with pre-configured for better user experience
  • Ability to share Calibration between MM and RTA.
  • Zoom to gates for X and Y-axis in RTA
  • Ability to perform Math Functions with Target Curves in RTA
  • Average SPL value on the averaged graph in RTA
  • Implement D weighting for live traces.
  • Option to include comments/notes in RTA Export graph for Text Format

Auto Eq Updates

  • Show crossover filters in chart
  • EQF file export
  • Ability to access Use case configuration of mic weighting, delay/time alignment and inter region gain alignment from(.ini) file,
  • Enhanced Display for Summed Speaker Frequency Response
  • Plot Target curve from 20 Hz to SuperUserParams/Max Frequency -Panel

Central Viewer Feature Updates

  • Ability to Customize the measurement curves (color, thickness, etc)
  • Central Viewer Graph Axis Improvements for better User experience.
  • Zoom to gates for X and Y-axis in Central Viewer
  • Central viewer to accept RTA measurements.
  • Include comments/notes in Export Graph Data in Text Format Central Viewer

Measurement Module Updates

  • Common Name for measurement data for between rows
  • Ability to show session notes in MM Window
  • Export incomplete or faulty measurement with warning

Change Requests Addressed

  • COCINTC-6553-CAO content ignored when importing a new project with the same CAO name
  • COCINTC-6860-[HALOSonic][RNC] RNC flexible configuration native panel development
  • COCINTC-8206-[HALOSonic][EOL] End Of Line Native Panel Request
  • COCINTC-8153-GNS Panel ‘Add Grain’ sets fileid to 0
  • COCINTC-8207-Some concerns regarding CRC checksum and versioning “copy button”
  • COCINTC-8208-GTT LUT Undo feature
  • COCINTC-8210-GTT LUT Customizable axis labels
  • COCINTC-7476-AutoEQ: Use case configuration: mic weighting, delay/time alignment, inter-region gain alignment
  • COCINTC-8312-Enhanced Display for Summed Speaker Frequency Response
  • COCINTC-7596-AutoEq – Plot target curve from 20 Hz to SupUserParams/Max Frequency
  • COCINTC-7263-Expose Help button to Menu Bar
  • COCINTC-8217-Improve memory report headers
  • COCINTC-7844-Add “AudioObject Type” column to exported files
  • COCINTC-6014-Clone Project
  • COCINTC-8158-We need GTT the central viewer to accept RTA measurements.
  • COCINTC-8170-Text format export graph data to have comments/notes in RTA and Central Viewer
  • COCINTC-8279-RTA Implement D weighting for live traces
  • COCINTC-8220-Should be able to export incomplete or faulty measurement with warning
  • COCINTC-8243-Request GTT to support modify XTP Response Timeout time based on AWX-T+
  • COCINTC-8255-Failing to open GTT Project
  • COCINTC-7546 -AWX to support control “refresh” after set file loading
  • COCINTC-7543 -AWX to support object bypass/mute/stop without dependency on platform/BSP
  • COCINTC-5826 – Improvement for sending Master Control signal after EQ switch
  • COCINTC-8102 Very long project loading time of pipeline

xAF Known Issues

The table below outlines the xAF know issues.

Issues/ Limitations Description
VST only issues/Limitations The input and output sample rates of the VST must always be 48000 Hz so any audio core with inputs/outputs connected to the device input/output should also be connected to core objects at 48000 Hz.
IVP Using Block Length <1024 with MME driver in sound card settings will have dropouts. Use Asio or block length greater than or equal to 1024.