A White Paper on a Selection of Intrinsyc’s Audio Technology Engineering Services
Introduction
Many of Intrinsyc’s computing solutions leverage Qualcomm’s high end SoC’s and audio codec chipsets, offering flexible and powerful audio input and output, including Hexagon DSP-based processing solutions.
This White Paper describes audio capabilities of Intrinsyc’s Open-Q™ family of Snapdragon-based System on Modules (SOMs) and platforms as well as related audio engineering services capabilities for design, development, optimization, and deployment by Intrinsyc Technologies
Basic Software Audio Bring up and Functionality
Speaker, Microphone, Headset
An embedded product’s Board Support Package (BSP) for a high-level operating system (HLOS) such as Android or Linux includes many drivers and subsystems. In the domain of software audio drivers, the most basic functionality includes support for speakers, microphones and headsets. In BSP parlance, “bring up” means establishing basic functionality of an embedded subsystem software. Audio bring up implementation of the basic functions of audio is comprised of hearing sound from a speaker, headset, and recording sound from a microphone. This includes ability to playback and capture audio. The following steps comprise a basic procedure to bring up audio software functionality on our typical SOMs or embedded products.
Verify if the audio DSP is initialized
Verify sound card registration
Verify the power up sequence for the external codec
Verify transmit / capture and receive /renderer audio endpoints for the hardware configuration
Verify audio-specific GPIO configuration for digital mic and external I2S device (if any)
If an external microphone input I2S (MI2S) device is being used, then
Integrate the external MI2S device and
Review audio MI2S GPIO configuration and
Audio routing should work! If you have any problems, double-check your software configurations and hardware (e.g. speaker) connections.
If an external MI2S device is not used, then audio routing should work! If you have any problems, double-check your software configurations and hardware (e.g. speaker) connections.
By following the above very high-level description of steps, audio can be configured to route one or more speakers’ and/or microphones’ audio paths for your embedded device. This only scratches the surface of audio functionalities and capabilities that are available! With the highly capable SoC subsystems including the Hexagon DSP, one can process the audio signal in a variety of means, as we’ll describe further.
Adaptive Input Gain (AIG)
AIG can help problems with the input audio signal being not too loud or too soft. AIG gradually changes signal gain to accomplish the required root mean squared (RMS) level to compensate for speech levels that are too loud or soft. This can be effective for a signal that shifts in level because of changes in distance from the microphone, for example, the transmission path of the hands-free telephone microphone.
Dynamic Range Control (DRC)
Dynamic Range Control usually helps us to tackle dynamic range compression which is an audio signal processing operation that reduces the volume of loud sounds or soft sounds thus reducing or compressing audio signals of the largest and smallest value signal ratio.
Typically, on Qualcomm snapdragon processors, there are four ways to control the DRC.
Downward compression – large signals compressed
Upward compression – soft signals boosted
Expander compression – low-level or noise-like attenuated.
No change
Feedback Speaker Protection (FBSP)
Recently, speaker sizes have been getting smaller and smaller because of limited space within products, but loud audio from their speaker is expected nevertheless. If one were to simply increase the power to a speaker, the speaker could be damaged if there is no accommodation for speaker protection. Qualcomm provides a high-performance audio IC with a voltage and current sensor to monitor the speaker transducer in real-time and feedback signals to the DSP in Qualcomm Snapdragon chipsets.
Multi-button Headset Control (MBHC)
Multi-button Headset Control (MBHC) can help detect standard audio jack plug in and pull out and control up to eight buttons via wired headset. Furthermore, dynamic insertion and removal detection capabilities and identification of what kind of accessory is inserted are supported, such as wired headset, headphone. Also, it can measure the impedance of plug (Left and right channel).
Snapdragon Voice+ (SV+)
SV+ includes a set of audio processing solutions as follows:
Dual-mic Echo Cancellation Noise Suppression (ECNS)
Echo and noise can be generated when people talk on the phone via handset or using hands-free calls. With Dual-mic ECNS, the noise can be suppressed significantly: Non-stationary noise can be suppressed, such as environmental (e.g. wind) noise without sacrificing voice quality. Even echo cancellation can be improved with robust dual-mic technology.
Single-mic Enhanced Echo Cancellation (EEC)
Single-mic Enhanced Echo Cancellation suppresses stationary and nonstationary noise using one microphone. It provides algorithm performance for both echo cancellation (EC) and noise suppression (NS).
Automatic Volume Control (AVC)
AVC can be applied to the background noise estimate before comparing against the thresholds. Increasing this parameter makes the AVC more sensitive to background noise.
Volume Boost
Volume can be adjusted by ADC volume and DAC volume. We can tune the volume of audio module via proprietary audio calibration tools described later in this document.
Fluence Noise Cancellation
Fluence Noise Cancellation includes a set of additional audio solutions as follows:
Far-End Noise Suppression (FENS)
In a scenario when a far-end user talks on the phone with noise, there is a possibility for the near-end listener to hear the voice with noise. Suppression of this noise is possible to prevent interrupted conversations due to the unclear voice.
Wind Noise Reduction (WNR)
Wind noise reduction focuses mainly on processing wind noise which causes energy primarily in low frequencies (<300Hz). When the near-end user talks in a wind-noisy environment, the noise will transmit to the far-end user, which will affect their conversation. Wind noise reduction can solve this problem by a series of analog settings including mic gain, ADC, filters, and digital settings in the audio path.
Adaptive Active Noise Cancellation (AANC)
AANC directly eliminates the background noise at the user’s ear by projecting anti-noise. For example, the reverse form of background noise, through a speaker or receiver can be introduced. The user can experience a quiet environment even in noisy locations, such as in a bar, near the airport, or near traffic.
Multi-mic ECNS
Multi-mic ECNS provides stronger noise suppression and echo cancellation, increasing the possibility of recognizing speech of interest from different voice paths. Multi-mic ECNS is divided into three main subunits: LEC (linear echo cancellation), Noise suppression and EC post processing and comfort noise injection. Different, higher sampling rates can be applied the microphone, splitting the signal into sub-bands.
Surround Sound Recording (SSR)
SSR can help our customers to add more audio channels in their devices. With properly staged microphones, SSR divides the input signal into multiple output channels according to the direction of arrival. Significant analysis can be performed on the received audio to derive spatial information.
Calibration/Tuning/Debug
Intrinsyc uses a number of audio tools to configure and tune audio settings for optimal functionality and performance:
Proprietary Audio Calibration Tool
As a Qualcomm licensee, Intrinsyc uses a proprietary audio calibration tool (QACT) to tune and calibrate audio parameters, which includes microphone gain, infinite impulse response, single microphone echo cancellation and noise suppression, DRC and AIG, and tune the audio path to pass our customers’ expectations.
Proprietary Log Analysis Tool
As a Qualcomm licensee, Intrinsyc uses a proprietary Log Analysis Tool (QCAT), diagnostic monitor (QXDM and DMD), and other tools to observe performance of audio and other various subsystems.
Audio Factory Test Mode
Audio FTM is a set of audio factory tests used by Intrinsyc. These tools can run on a production line to test the audio input and output points on devices such as a speaker, headset, handset mic, etc.
Android Debug Bridge (ADB)
ADB is an industry-standard tool for Android. Intrinsyc uses ADB for many purposes including inspecting framework and app layer logs to solve high-layer software problems. Also, ADB is helpful to pull and push files to target devices to verify specific functional and performance problems.
Tiny ALSA Utilities
Tiny ALSA utilities are also very useful audio tools for bring up. One can use tiny ALSA commands to verify audio paths to see if the audio is configured correctly. For example, the following commands as an example for one of our systems used to verify whether the audio recording route is working fine:
tinymix 'ADC1 Volume' 6
tinymix 'MultiMedia1 Mixer TERT_MI2S_TX' 1
tinymix 'DEC1 MUX' 'ADC2'
tinymix 'DEC1 MUX' 'ADC1'
tinymix 'ADC2 MUX' 'INP2'
tinymix 'MultiMedia1 Mixer TERT_MI2S_TX' 1
tinymix 'DEC1 MUX' 'ADC1'
tinycap /data/test.wav
Certification / External Labs
External Audio Lab for Tuning
Intrinsyc has the knowledge to tune audio features and has worked with customers to perform audio tuning. This typically occurs in an external audio lab.
Summary
Intrinsyc has capability to help our customers to develop an audio system and tune their audio modules with Intrinsyc’s Open-Q™ family of Snapdragon-based System on Modules (SOMs). Intrinsyc has experience with audio bring up and audio tuning, including use of onboard DSP processing. Intrinsyc has designed, built and tuned FENS, Dual-mic ECNS, and SSR modules for various customers to build well-performing audio systems.
Find out more on Audio Development: https://www.intrinsyc.com/audio-development/