QNX Technical Articles
QNX® Acoustics Management Platform 3.0: Release Notes
Date of this edition: August 13, 2019
To install this product, you must have installed QNX SDP 7.0 on one of the following development hosts:
- Microsoft Windows 10 Pro 64-bit, Windows 8.1 Pro 64-bit, or Windows 7 Professional 64-bit
- Linux Red Hat Enterprise Linux 7 64-bit, or Ubuntu Desktop 16.04 LTS 64-bit, on x86_64 processors
- macOS version 10.10, 10.11, 10.12
You must also have installed the update QNX SDP 7.0 Audio (Build 5269) and (on Windows hosts) Visual Studio 2010 C++ Redistributable.
![]() |
If you already have AMP 2.0 installed, you must either uninstall it before you install AMP 3.0, or install AMP 3.0 in a separate QNX SDP 7 installation. Make sure you install AMP 3.0 using QNX Acoustics Management Platform 3.0 - All, QNX Acoustics Management Platform 3.0 - All Documentation, and QNX Acoustics Management Platform 3.0 – LiveAMP on Windows hosts. AMP 3.0 modules are visible as individual items in the QNX Software Center to allow you to view their properties. For the most up-to-date version of these release notes, launch the QNX Software Center, right-click an QNX® Acoustics Management Platform 3.0 item, then select Properties. (The package appears on either the Available tab or the Installed tab.) |
Contents
- What's in this package?
- QNX Acoustics for Voice (QAV) 4.0 enhancements
- QNX In Car Communication (ICC) 2.1 enhancements
- QNX Active Sound Design (ASD) 2.1 enhancements
- QNX Software Audio Management (SAM) 1.0 features
- QNX Chimes and Safety Alerts (CSA) 1.0 features
- Acoustic Processing Extension libraries
- AFM enhancements
- LiveAMP enhancements
- Remote Control Server (RCS) 4.0 enhancements
- libasound changes
- Audio configuration file changes
- Binaries
- Fixed issues
- Known issues
- Installing QNX Acoustics Management Platform 3.0
- Documentation
- Technical support
Throughout this document, you may see reference numbers associated with particular issues, changes, etc. When corresponding with our Technical Support staff about a given issue, please quote the relevant reference number. You might also find the reference numbers useful for tracking issues as they become fixed.
What's in this package?
AMP 3.0 contains:
- QNX Acoustics for Voice (QAV) 4.0
- QNX In-Car Communication (ICC) 2.1
- QNX Active Sound Design (ASD) 2.1
- QNX Chimes and Safety Alerts Monitor (CSA) 1.0
- QNX Software Audio Management (SAM) 1.0
- Acoustics Control Server (ACS) 1.1.8
- Remote Control Server (RCS) 4.0
- LiveAMP 3.0
For the documentation it includes, see Documentation.
QNX Acoustics for Voice (QAV) 4.0 enhancements
In addition to general QAV audio quality and library performance improvements, the following new features have been added:
- You can now isolate speech from a target zone from speech in other zones and media playback using zone interference cancellation.
- You can now specify external media references to cancel media echo (for example, for wake-up word detection).
- If the external receive volume is provided to QAV, distortion on the receive playback path can now be reduced using adaptive multiband limiting on the receive output signals.
- QAV now supports multi-microphone fixed beamforming, with up to eight microphones per beam and up to eight beams in total.
- QAV now supports up to 32 microphone input signals.
The following function has been added:
- qwaAudioInEx()
The following parameters have been added:
- qwaMicOutCnt
- qwaBeamCnt
- qwaBFMicInfo
- qwaRefInCnt
- qwaRefMuteThreshold
- qwaRefInAvgAmp
- qwaExtRefInCnt
- qwaExtRefOnlyEnable
- qwaExtRefDelay
- qwaExtRefMaxDelay
- qwaExtRefInRMS
- qwaExtRefClipStats
- qwaExtRefClipStatsMode
- qwaExtRefResetClipStats
- qwaExtRefMuteThreshold
- qwaExtRefInAvgAmp
- qwaZICSwitch
- qwaZICTargetZoneCnt
- qwaZICSuppress
- qwaZICMicBeamMasks
- qwaRecvExtVolume
- qwaRecvExtVolumeTunePt
- qwaDiagLatencyTestExtRef
- qwaInitGuid
The following parameter has changed:
- qwaMEQEnableMask (now supports 32 channels)
The following parameters have limited handling in QAV 4.0 and should no longer be used:
- qwaSendParamEQNodes (replaced by qwaSendEQNodes)
- qwaSendParamEQ2Nodes (replaced by qwaSendEQHiNoiseNodes)
- qwaRecvParamEQNodes (replaced by qwaRecvEQNodes)
- qwaZICChannelMask (replaced by qwaZICMicBeamMasks)
- qwaMixFiltSwitch
- qwaMixFiltAtten
- qwaRecvDTFSwitch
- qwaRecvDTFMaxAtten
- qwaRecvDTFMaxEchoRatio
- qwaRecvDTFResponse
The following parameters are now deprecated:
- qwaFixBeamCnt (replaced by qwaBeamCnt)
- qwaFixBeamMicInfo (replaced by qwaBFMicInfo)
- qwaFixBeamLookAngle (replaced by qwaBFMicInfo)
QNX In Car Communication (ICC) 2.1 enhancements
In addition to general ICC audio quality and library performance improvements, the following new features have been added:
- ICC now supports latency tests to measure reference and external reference delays.
- You can now set a different EQ for each destination zone.
The following parameters have been added:
- qwaIccDiagLatencyTestExtRef
- qwaIccInitGuid
The following parameters are interpreted differently for ICC 2.1:
- qwaIccDstEQCoeff (now channelized per destination zone)
- qwaIccDstEQNodes (now channelized per destination zone)
- qwaIccDiagLatencyTest (values are now microphone and destination channel)
- qwaIccDiagLatencyTestRef (values are now microphone and reference channel)
QNX Active Sound Design (ASD) 2.1 enhancements
In addition to general ASD audio quality and library performance improvements, the following new features have been added:
- ASD now supports one-shot and looping playback of sample waveforms in ESE.
- You can now provide both a primary and secondary RPM for Engine Order Reduction (EOR), and control each Engine Sound Enhancement (ESE) source module with its own RPM.
- ASD now supports seamless switching of engine modes in real time, with individual sound profiles per engine mode in ESE.
- ASD supports microphone or sensor inputs into the ESE module graph.
- ASD now supports a random noise generation source module.
- ESE Processing now supports a 48kHz internal sample rate.
The ASD AFM now comes in three flavors:
- deva-afm-asd-ese.so – contains only the Engine Sound Enhancement (ESE) functionality of ASD.
- deva-afm-asd-eor.so – contains only the Engine Order Reduction (EOR) functionality of ASD.
- deva-afm-asd-eor-ese.so – contains all the functionality of ASD, both ESE and EOR.
Please refer to your license agreement to determine which module is applicable for use in your final target distribution.
The following parameters have been added to ASD 2.1:
- qwaAsdEorCaliPGMatrix
- qwaAsdEorCouplingMatrix
- qwaAsdEorMicChanMask
- qwaAsdEorOrdersSec
- qwaAsdEorSecRpm
- qwaAsdEorVinSecRpm
- qwaAsdEseEffTimeConst
- qwaAsdEseEngineModeMask
- qwaAsdEseInputSetup
- qwaAsdEseNoiseGenSetup
- qwaAsdEseNoiseGenType
- qwaAsdEseSampCfg
- qwaAsdEseSampLoopFlag
- qwaAsdEseSampPitchFixed
- qwaAsdEseSampPitchNodes
- qwaAsdEseSampPitchType
- qwaAsdEseSampSetup
- qwaAsdEseSampTriggerId
- qwaAsdEseSampXfadeTime
- qwaAsdEseVinRpm
- qwaAsdSampleRateInt
- qwaAsdVinTriggerThresh
The following parameters have been deprecated:
- qwaAsdEorCaliPredGain (replaced by qwaAsdEorCaliPGMatrix)
- qwaAsdEorCtrlCoupling (replaced by qwaAsdEorCouplingMatrix)
The following parameters are interpreted differently for ASD 2.1:
- qwaAsdEorCouplingBandFreqs (now has a fixed length of 1)
- qwaAsdEseEffBandwidthFact (extended range and now applies to band-pass and band-reject filters)
- qwaAsdEseEffFreqFixed (extended range)
- qwaAsdEseEffFreqNodes (now has a variable length)
- qwaAsdEseEffGainNodes (now has a variable length)
- qwaAsdEseGranExtendRange (default value changed to 0 or off)
- qwaAsdEseModSetup (new module types)
- qwaAsdVinSetup (new VIN type)
QNX Software Audio Management (SAM) 1.0 features
SAM is a new functional module for loudspeaker management and sound field optimization.
- You can specify crossovers and limiter settings, delays, and gains per loudspeaker.
- You can specify parameteric equalization (EQ) coefficients per speaker zone.
- SAM supports dynamic EQ for perceptual loudness compensation.
- SAM supports a speed dependent volume control.
- SAM supports user-controllable tone control and parametric EQ settings.
- You can specify delays and gains per speaker zone.
QNX Chimes and Safety Alerts (CSA) 1.0 features
CSA is a new functional module for detecting whether chimes and safety alerts played through io-audio are present and audible in the cabin using an in-cabin microphone.
Acoustic Processing Extensions (APXs)
SAM loudspeaker management (SPM) and sound field optimization (SFO) are implemented as acoustic processing extensions (APXs) to the PCM software mixer, where they expand and optimize the perceptual quality of an audio stream, as well as provide tap points for audio streaming and injection for analysis purposes.
In addition, there is a stand-alone audio tap APX that can be configured for the PCM input splitter and the PCM software mixer (when SFO, SPM, or both are not enabled) for audio streaming and injection.
AMP Function Module (AFM) enhancements
- You can now insert an asynchronous sample rate converter between hardware devices in different clock domains.
- Acoustic AFMs can now be used with hardware devices that are not operating at 48000 Hz, as long as the active sample rate is a simple multiple of 48000 (e.g., 96000).
- The Bridge AFM now supports 16-to-32 bit (and vice versa) format conversions between the devices that are being bridged.
- AFMs are now published with user-friendly symbolic links in the /dev/snd directory. The symbolic name can be used with the snd_afm_open_name() function to reference the AFM.
- Up to 32 voices can now be used to map AFM voices to library inputs and outputs using the map_*_X audio configuration file keys.
- The apx_ctl example control utility now supports set and get operations for 16-bit acoustic library parameters.
- The default volume ranges and startup volume level have been changed for the ICC and QAV AFMs when volume control is enabled. They now default to span the range from -20 dB to 20 dB and startup at 50 percent or 0 dB.
- The ACS link module no longer provides an audio tap for the PCM mixer output. Audio streaming and injection in the PCM mixer can now be achieved using the audio taps in the SFO and SPX APXs, or, alternatively, the stand-alone tap APX when SFO and SPX are not enabled.
- If you configure the ACS link module, it is now mounted before any [CTRL] devices. After it is mounted, it cannot be unmounted.
- The QAV AFM in PCM mode now supports a connection-specific audio_type if it is specified in the audio_type_name of the snd_pcm_channel_params_t argument to snd_pcm_plugin_params(). If used, it should be specified for both capture and playback.
LiveAMP 3.0 enhancements
- Support has been added for AMP 3.0's new signal processing modules, as well as the new features in existing AFMs.
- There is a new and redesigned start page and target connection experience.
- You can tune multiple instances of the same AFM or APX type on a single target hardware.
- The audio endpoint frequency spectrum monitoring graph now has a customizable window type and FFT length.
- Support has been added for playing audio on individual channels of a multi-channel audio endpoint.
- Audio being injected onto the target can now be mixed with the live channel audio.
- There is now the ability to select only a portion of an audio file for playback on the target.
- The level meter panel is now collapsible.
- More application settings have been added for greater user customization.
Remote Control Server (RCS) 4.0 enhancements
- RCS now supports up to 32 channels per audio path.
- RCS now supports requests from LiveAMP to mix the injected audio with the live channel audio.
libasound changes
The snd_afm_open_name() function now accepts an AFM's symbolic name as the filename argument.
The following functions have been added to support APX modules:
- snd_pcm_get_apx_data()
- snd_pcm_load_apx_dataset()
- snd_pcm_set_apx_data()
- snd_pcm_set_apx_external_volume()
- snd_pcm_set_apx_user_volume()
The following structure has been added to support snd_pcm_get_apx_data() and snd_pcm_set_apx_data():
- snd_pcm_apx_param_t
The utility apx_ctl, which makes use of these functions, is shipped with AMP 3.0. Its source is included as an appendix to the Utilities Reference.
Audio configuration file changes
Modified keys:
- In the [CTRL] section, the values for the sw_mixer_max_references and afm_mixer_max_references key no longer have to account for the number of AFM references required by ACS.
- In the [AFM] section:
- You can now use pcm_media_capture with QAV AFMs and map_media_ref_X applies to QAV AFMs.
- You can specify csa for name and the default ap_dlname for CSA is libqwa_csa.so. CSA AFMs require pcm_local_capture and the map_ref_X, ap_calib_default, and ap_calib_mode keys apply to CSA AFMs.
New keys:
- [CTRL] section
- input_splitter_tap
- sw_mixer_tap
- sw_mixer_spm
- sw_mixer_sfo
- spm_qcf
- sfo_qcf
- spm_dataset_qcf_name
- sfo_dataset_qcf_name
- sw_mixer_spm_chmap
- sfo_audio_type
- csa_audio_type
- clock_domain
- [AFM] section
- sym_name
- ap_samp_play_dir_default
- ap_samp_play_dir_mode
For more information about the new keys, see the io-audio section of the Utilities Reference.
Obsolete keys:
- [AFM] section
- cardname_override
- [ACS] section
- ms_frag_period
- tap_split_cap
- tap_media_ref
Binaries
The following binary has been removed:
- /lib/dll/deva-afm-asd.so
The following binaries have been added:
- /lib/libqwa_csa.so
- /lib/libqwa_csa.so.1
- /lib/libqwa_sfo.so
- /lib/libqwa_sfo.so.1
- /lib/libqwa_spm.so
- /lib/libqwa_spm.so.1
- /lib/dll/deva-afm-asd-ese.so
- /lib/dll/deva-afm-asd-eor.so
- /lib/dll/deva-afm-asd-eor-ese.so
- /lib/dll/deva-afm-csa.so
- /lib/dll/deva-apx-sfo.so
- /lib/dll/deva-apx-spm.so
- /lib/dll/deva-apx-tap.so
- /usr/bin/apx_ctl
The following LiveAMP library has been removed:
- audio_process.dll
The following LiveAMP libraries have been added:
- OxyPlot.Wpf.dll
- OxyPlot.dll
Fixed issues
- The audio configuration file keys afm_mixer_max_references is now used correctly when checking the PCM software reference capabilities. Previously sw_mixer_max_references had to be set non-zero when specifying pcm_ref_capture devices, even if there were no pcm_media_capture devices configured. (Ref# J2728735)
- The correct number of mixer controls is now being created for the ICC AFM when volume control is enabled. Previously, the number of voices was derived from the device specified for pcm_local_capture, instead of than pcm_local_playback. (Ref# J2726959)
- When snd_pcm_channel_info() is used with the QAV AFM in PCM mode, it now returns the sample rate (or rates) and number of voices that correspond to the current audio mode set with snd_afm_set_audio_mode(). (Ref# J2661579)
- QAV and ICC: Muting is now applied correctly at startup on the first audio buffer processed. (Ref# J2710779)
Known issues
- An AFM is unable to open a reference channel when the driver's minimum sample rate does not create a fragment size that aligns with the desired sample rate. (Ref# J2749989)
Workaround: Use sw_mixer_rate to lock the software mixer sample rate to the desired sample rate using the following format: sw_mixer_rate=Lrate.
- ICC: The SrcOut output from qwaIccAudioProcess is unavailable when running the library at 16kHz. (Ref# J2750510)
- QAV, ICC, and ASD: On armle-v7 and aarch64 platforms, the values returned for persistent RAM usage (qwaPersistSize, qwaIccPersistSize, and qwaAsdPersistSize) are lower than the actual RAM used (by approximately 2 KB for ICC, 8 KB for ASD with EOR, and up to 24 KB in QAV, depending on sample rate). Users writing custom applications using the standalone libraries and the qwaCreateExtMem(), qwaIccCreateExtMem(), or qwaAsdCreateExtMem() APIs should be aware that this small amount of memory is allocated outside of the buffer passed in. (Ref# J2753685)
Installing QNX Acoustics Management Platform 3.0
To install this platform onto your development host:
- Launch the QNX Software Center, then select the Available tab.
-
Under Addons, expand the Audio item.
The following items are available:
- QNX Acoustics Management Platform 3.0 - All
- QNX Acoustics Management Platform 3.0 - All Documentation
- QNX Acoustics Management Platform 3.0 - LiveAMP
- Right-click the appropriate AMP item and select Install. The Installing Packages window opens to display your selection.
- Click Next, then Finish to begin the installation.
- Repeat the installation process for any additional AMP items you want to install.
![]() |
If you can't find the platform items in the Available tab:
|
Documentation
The following documentation describes QNX Acoustics Management Platform 3.0:
- LiveAMP 3.0 User Guide
- QNX Acoustics for Voice 4.0 Developer's Guide
- QNX Acoustics for Voice 4.0 Functional Guide
- QNX Active Sound Design 2.1 Developer's Guide
- QNX Active Sound Design 2.1 Functional Guide
- QNX In-Car Communication 2.1 Developer's Guide
- QNX In-Car Communication 2.1 Functional Guide
- QNX Chimes and Safety Alerts 1.0 Developer's Guide
- QNX Chimes and Safety Alerts 1.0 Functional Guide
- QNX Software Audio Management 1.0 Developer's Guide
- QNX Software Audio Management 1.0 Functional Guide
- QNX Neutrino RTOS Audio Developer's Guide
The QNX Acoustics Management Platform 3.0 documentation is installed automatically when you install the add-on package, with the exception of the QNX Neutrino RTOS Audio Developer's Guide.
If you have not installed AMP 3.0 yet, you can install all documents (including the developer's guide) using the QNX Acoustics Management Platform 3.0 - All Documentation item you access using the Available tab. If you have already installed AMP 3.0, this item installs only the developer's guide.
Documentation is installed in the folder installation_directory/QNX_AMP-3.0, where installation_directory is the installation location you selected when you installed SDP 7.0.
Technical support
To obtain technical support for any QNX product, visit the Support area on our website (www.qnx.com). You'll find a wide range of support options, including community forums.
For questions about installing and using QNX SDP, see the Getting Started forum on our Foundry27 site, http://community.qnx.com. There are other forums for specific topics, including the QNX Neutrino RTOS, development tools, networking, Board Support Packages, and so on.