# Advanced audio features ## 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 Fluence 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’s important for hands-free and teleconferencing applications. The following figure shows the acoustic echo path and how acoustic echo occurs between loudspeakers and microphones. VBackground-1 Solid Page-1 Sheet.70 Sheet.35 Sheet.36 Sheet.37 Sheet.38 Sheet.44 Sheet.47 Sheet.48 Sheet.50 Sheet.51 Sheet.53 Near-end speech signal Near-end speech signal Sheet.56 Far-end speech signal Far-end speech signal Sheet.61 Near-end speaker Near-end speaker Sheet.62 Environmental noise Environmental noise Sheet.63 Acoustic echo path Acoustic echo path Sheet.64 Acoustic echo Acoustic echo Sheet.65 Near-end speech Near-end speech Sheet.66 Far-end speech Far-end speech Sheet.69 Dynamic connector.15 Dynamic connector.52 Sheet.57 Sheet.58 Sheet.60 Dynamic connector.67 Dynamic connector.68 Sheet.71 Sheet.75 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, Fluence 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 doesn’t 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. VBackground-1 Solid Page-1 Sheet.18 Sheet.17 Sheet.2 Rectangle Gains Gains Rectangle.4 SMECNS SMECNS Rectangle.5 Postprocessing modules Postprocessing modules Sheet.6 Qualcomm LPAI Qualcomm LPAI Sheet.9 Speech + Noise + Echo input Speech + Noise + Echo input Circle Sheet.11 Sheet.12 Sheet.13 Sheet.14 Sheet.15 Sheet.16 Clean speech output Clean speech output SMECNS software block for recording To enable the SMECNS in the recording path: 1. Use the `wpctl status` command to list available nodes. wpctl status Copy to clipboard 2. Run `wpctl set-default` to set the source node to the handset mic. wpctl set-default Copy to clipboard 3. Run `pw-record` to start recording. The following example runs in verbose mode and saves the recording to `/opt/test.wav`. pw-record /opt/test.wav -v Copy to clipboard ### Enable SMECNS for VoIP Fluence reduces noise and eliminates echo in VoIP communication. It also suppresses noise and acoustic echo on the microphone signal. The SDK supports a PipeWire VoIP source and sink, which you can use when developing applications. The following figure shows the flow of input speech to output speech when gains, Fluence, and postprocessing modules are applied for VoIP communication. VBackground-1 Solid Page-1 Sheet.38 Sheet.1 Sheet.3 Gains Gains Sheet.4 Gains Gains Sheet.5 Postprocessing modules Postprocessing modules Sheet.6 Fluence Fluence Sheet.7 Gains Gains Sheet.8 Fluence Fluence Sheet.9 Postprocessing modules Postprocessing modules Sheet.12 Sheet.13 Sheet.15 Sheet.16 Dynamic connector Dynamic connector.18 Dynamic connector.20 Dynamic connector.21 Dynamic connector.22 Dynamic connector.23 Dynamic connector.24 Dynamic connector.25 Dynamic connector.26 Dynamic connector.27 Dynamic connector.31 Dynamic connector.32 Sheet.33 Speech output Speech output Sheet.35 Speech input Speech input Sheet.36 Speaker Speaker Sheet.37 Qualcomm LPAI Qualcomm LPAI Sheet.39 Transmission path Transmission path Sheet.40 Receiving path Receiving path Sheet.41 SMECNS software block for VoIP To enable the SMECNS in the VoIP path: | **Set record source** | pw-record /opt/record_voip.wav -v --target=voip-tx0
Copy to clipboard | | --- | --- | | **Set playback sink** | pw-play /opt/test.wav -v --target=voip-rx0
Copy to clipboard | Note Be sure to push a PCM file (`.wav`) to the `/opt/` folder. ### Enable compress offload playback Enable audio playback through a low-power offload path, where decoding and postprocessing are handled by the DSP. This approach reduces power consumption while improving performance compared to the standard playback path. 1. Push the MP3 file to the device. adb push /opt/ Copy to clipboard 2. List available audio nodes. wpctl status Copy to clipboard 3. Set the default compress node. wpctl set-default Copy to clipboard 4. Start playback. pw-encplay /opt/ Copy to clipboard Note Only MP3 is supported in the compress offload path. Last Published: Jun 17, 2026 [Previous Topic Troubleshoot audio](https://docs.qualcomm.com/bundle/publicresource/80-70030-16/topics/troubleshoot.md) [Next Topic References](https://docs.qualcomm.com/bundle/publicresource/80-70030-16/topics/references.md)