Skip to content

Audio Test ​

The Rhino Pi IQ9N (Rhino Pi IQ9N) provides speaker output and microphone array input interfaces, and has an onboard audio processing module supporting acoustic echo cancellation (AEC) and beamforming noise reduction.

Hardware Specifications ​

ItemParameter
Speaker2 x 5W Speaker
Microphone4Mic Array omnidirectional mic
Audio module capabilitySupports 4/6 MIC, wake-up, beamforming noise reduction, echo cancellation, directional pickup, VOIP call noise reduction (switchable via commands)
Pickup distanceSupports 5m long-distance pickup; recording distance adjustable from 1 ~ 5m
AECUsed with USB 2.0, supports AEC noise reduction and microphone array

Interface Definitions ​

For the positions of the SPK, AEC, and I2S interfaces on the board, see the interface layout diagram in Rhino Pi IQ9N Interface Description on the first page.

SPK Speaker Interface ​

There are 2 SPK interfaces in total, using WAFER-PH2.0-2PWB connectors (PH2.0, horizontal SMT, 2P):

PinSignalDescription
1SPK_PSpeaker positive
2SPK_MSpeaker negative

AEC Interface ​

The AEC interface uses a WAFER-GH1.25-4PLB connector (1.25mm pitch, vertical SMT, 4P):

PinSignalDescription
1LINE_LPLeft channel positive
2LINE_LMLeft channel negative
3LINE_RPRight channel positive
4LINE_RMRight channel negative

I2S Interface ​

The I2S interface uses a WAFER-GH1.25-4PLB connector:

PinSignalDescription
1DATAAudio data
2SCKBit clock
3WSFrame clock (channel select)
4GNDGround

Viewing Audio Devices ​

Use the following commands to view the audio devices recognized by the system:

bash
# ALSA-level device enumeration (the onboard sound card is card 0)
aplay -l
arecord -l

# Default input / output and volume at the PipeWire level
wpctl status

Audio on the IQ9N is managed uniformly by PipeWire. aplay -l / arecord -l list ALSA devices, while actual playback and recording go through the PipeWire default sink / source by default.

Playback Test ​

Use aplay to play a WAV audio file for testing (without -D it automatically uses the PipeWire default output):

bash
aplay test.wav

# Or use the PipeWire playback tool
pw-play test.wav

Recording Test ​

Use arecord to record audio (without -D it automatically uses the PipeWire default input):

bash
arecord -f S16_LE -c 1 -r 16000 -d 5 test.wav

# Or use the PipeWire recording tool (press Ctrl+C to stop)
pw-record --rate 16000 --channels 1 mic_test.wav

Here -d 5 means recording for 5 seconds and -c 1 means mono; the onboard microphone is mono, so -c 1 must be specified when recording.

Before recording, you can check the sample rates, formats, and channel counts supported by the default device:

bash
arecord --dump-hw-params

Note

When using aplay / arecord, do not use -D hw:x,y to take exclusive control of the hardware, as this conflicts with PipeWire and reports Device or resource busy; without -D, the command automatically uses the PipeWire default input and output.

The commands above must be run in a terminal of the AidLux desktop (user aidlux); in the root environment of adb shell PipeWire is not reachable, and aplay / arecord will report Host is down.

For volume adjustment, input / output device switching, and more usage, see Audio Development.