Hardware setup
- QCS6490
- IQ-9075
- IQ-8275
- QCS615
Setup Flow
- Set up your infrastructure as described in the Qualcomm Linux Build Guide
- Flash the latest software release to the development board.
- Set up an SSH connection:
- Enable SSH in Permissive mode. For instructions, see Use SSH.
- Connect to the device by running the following command:
For example, if the IP address of the device is 10.92.160.222, run the following command:
- To activate the digital microphone interface (DMIC) on the board, use DIP Switch PIN 2 to the ON position.
Setup Flow
- Connect the speaker to the board as follows.
Setup Flow
Enable audio with GStreamer
To decode audio using GStreamer apps, see the following. To encode audio using GStreamer apps, use the following instructions.- Set the default input device for PipeWire.
Use the
wpctl statuscommand to list available nodes. Runwpctl set-defaultto set the source node to the handset mic. - Audio encode example
To check the GStreamer app for different chipsets, see Source information for multimedia sample applications.
GStreamer plug-ins
- GStreamer plug-ins for audio decoder and encoder are part of Qualcomm IM SDK. Download the entire Qualcomm IM SDK to use pulsesrc and pulsesink.
- The Qualcomm IM SDK Quick Start Guide describes how to download and build the Qualcomm IM SDK.
GStreamer sample apps
Sample GStreamer apps for audio use cases are part of the Qualcomm IM SDK. Before running sample apps, meet these prerequisites. Run audio use cases with either command line or the GST app.Play and record audio with the GStreamer app
Use the reference GST commands mentioned in audio playback/capture.Enable audio with PipeWire
PipeWire is a graph-based processing framework that handles multimedia data. Find the source code for PipeWire atbuild-qcom-wayland/workspace/sources/pipewire.
For more information, see the PipeWire open source documentation for detailed APIs available.
The
pw-play and pw-record utilities in this guide demonstrate .wav file usage. PipeWire as a framework supports additional formats depending on available codecs and plugins.PipeWire record
- Set up PipeWire recording:
Use the
wpctl statuscommand to list available nodes. Runwpctl set-defaultto set the source node to the handset mic.The command shell should resemble the following: - Select Ctrl + C to stop the recording. Supported formats are s16le, s24le, s32le, rate can be 8000, 16000, 22050, 24000, 32000, 44100, 48000, 88200, 96000, 176400, 192000, 352800, 384000, 705600, and 768000, and channels can range from 1 to a maximum of 8.
Volume settings for recording
- Start audio capture using the
pw-recordutility. - Open a new command prompt in parallel. Open
ssh root@ip-addrand run the following command to set the volume level:In the above command, a value of 0.8 represents 80% volume. Adjust this value according to the desired volume level.
PipeWire playback
- Push the .wav audio file to the device for playback:
- After pushing the test.wav file, enter the device shell using
ssh root@ip-addr. - Set the default sink mode for playback using the below command and choose between two sink modes: one for low latency (LL) and another for deep buffer (DB).
- Use the following command to start playback:
The command shell should resemble the following:
Volume settings for playback
- Start audio playback on the speakers using the
pw-playutility. - Open a new command prompt in parallel. Open
ssh root@ip-addrand run the following commands to set the volume level:In the above command, a value of 0.8 represents 80% volume. Adjust this value according to the desired volume level.
Next steps
- Customize audio graph — Customize audio use cases at the PAL level
- Advanced audio features — Enable echo cancellation, noise suppression, and multi-device playback
- Audio Addendum — Use QACT and QXDM for calibration and diagnostics
- Troubleshoot audio — Capture and analyze audio logs to resolve issues

