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
| Item | Parameter |
|---|---|
| Speaker | 2 x 5W Speaker |
| Microphone | 4Mic Array omnidirectional mic |
| Audio module capability | Supports 4/6 MIC, wake-up, beamforming noise reduction, echo cancellation, directional pickup, VOIP call noise reduction (switchable via commands) |
| Pickup distance | Supports 5m long-distance pickup; recording distance adjustable from 1 ~ 5m |
| AEC | Used 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):
| Pin | Signal | Description |
|---|---|---|
| 1 | SPK_P | Speaker positive |
| 2 | SPK_M | Speaker negative |
AEC Interface
The AEC interface uses a WAFER-GH1.25-4PLB connector (1.25mm pitch, vertical SMT, 4P):
| Pin | Signal | Description |
|---|---|---|
| 1 | LINE_LP | Left channel positive |
| 2 | LINE_LM | Left channel negative |
| 3 | LINE_RP | Right channel positive |
| 4 | LINE_RM | Right channel negative |
I2S Interface
The I2S interface uses a WAFER-GH1.25-4PLB connector:
| Pin | Signal | Description |
|---|---|---|
| 1 | DATA | Audio data |
| 2 | SCK | Bit clock |
| 3 | WS | Frame clock (channel select) |
| 4 | GND | Ground |
Viewing Audio Devices
Use the following commands to view the audio devices recognized by the system:
# 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 statusAudio 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):
aplay test.wav
# Or use the PipeWire playback tool
pw-play test.wavRecording Test
Use arecord to record audio (without -D it automatically uses the PipeWire default input):
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.wavHere -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:
arecord --dump-hw-paramsNote
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.