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.

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.

 

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