Minimize echo and noise
Echo and noise problems are common in VoIP systems. Speech comes from the far-end speaker and echoes back with a time delay, causing perception problems. Echo cancellation decreases the echo from the far-end speaker during communication. Noise suppression decreases the noise from the microphone channel. The SMECNS echo cancellation and noise suppression (ECNS) algorithm provides stationary and nonstationary noise suppression and echo cancellation. Acoustic echo is when echoes occur due to the acoustic path (acoustic coupling) between the loudspeaker and microphone of a device. It is important for hands-free and teleconferencing applications. The following figure shows the acoustic echo path and how acoustic echo occurs between loudspeakers and microphones.Noise and acoustic echo
- Echo Canceller – An adaptive filter that self-adjusts coefficients to cancel out echo. Every echo has an echo path, and is characterized by an impulse response. The echo canceller adapts to the network echo path such that it cancels out the echo.
- Noise Suppression – Single mic echo canceller and noise suppressor (SMECNS) helps to suppress the surrounding stationary noise when using devices in noisy locations.
Enable SMECNS for recording
When recording, SMECNS keeps speech quality in the recording path by suppressing background noise captured by the microphone. For single-microphone recordings, only stationary noise suppression is possible. Stationary noise is where the frequency does not change over time, for example, road noise or white noise. The following figure shows how gains, SMECNS, and postprocessing modules are used to remove outside noise and echo to output clean speech.SMECNS software block for recording
- Use the
wpctl statuscommand to list available nodes. - Run
wpctl set-defaultto set the source node to the handset mic. - Run
pw-recordto start recording. The following example runs in verbose mode and saves the recording to/opt/test.wav.
Simulate VoIP
To simulate VoIP using PipeWire:Be sure to push a PCM file (
<FileName>.wav) to the /opt/ folder.Enable single stream multiple device playback
Configure the platform to render a single audio stream simultaneously on multiple output devices, such as a built-in speaker and a wired headset. In this mode, the audio is duplicated and the same decoded audio stream is routed to multiple active output devices concurrently, ensuring synchronized playback across all selected endpoints.-
List available audio nodes.

wpctl status output showing available PAL sink and source nodes
-
Set the default node.
- For Low Latency, choose the node with
pal sink combined speaker and headset ll. - For Deep buffer, choose the node with
pal sink combined speaker and headset db.
- For Low Latency, choose the node with
-
Start playback.
Enable multiple stream multiple device playback
Configure the platform to render multiple independent audio streams simultaneously on different output devices, such as a built-in speaker and a wired headset. In this mode, each audio stream is managed and routed independently, allowing distinct streams to be delivered concurrently to separate output devices without interference. This enables use cases such as parallel media playback and notification routing across multiple endpoints.-
List available audio nodes.
-
Select the audio nodes where you want your multiple streams to play and specify those node names using the
--targetcommand-line option. -
Start low latency playback.
Dynamic device switch using PipeWire
Usewpctl to trigger a dynamic device switch while audio is active.
-
List all available audio nodes.
-
Start playback on the default device (for example, speaker).
-
While playback is active, switch to a different output device (for example, headset) by setting a new default sink.
WirePlumber re-routes the stream and PAL performs the device switch seamlessly.
Enable DP and HDMI audio
This section applies to QCS6490 (Kodiak) and IQ-9075 (Lemans) platforms (config1).Set up QCS6490 (rb3-gen2-core-kit)
-
Copy the topology binary to the firmware path.
-
Copy the HiFi configuration file.
-
Copy the HDMI format configuration file.
-
Reboot the device. On boot, ensure DP is connected (typeC to HDMI female + HDMI to HDMI cable).
Set up IQ-9075 (iq-9075-evk)
-
Copy the topology binary to the firmware path.
-
Copy the HiFi configuration file.
-
Reboot the device. On boot, ensure DP is connected (eDP to DP cable).
Next steps
- Audio Addendum — Use QACT and QXDM for calibration and diagnostics
- Troubleshoot audio — Capture and analyze audio logs to resolve issues
- Customize audio graph — Modify audio graphs and PAL configuration

