Audio & Voice

Far-field voice hardware: what to get right before the algorithms work

Voice algorithms have a reputation for being disappointing when the real problem is upstream of them. Beamforming, AEC and noise suppression all amplify what the hardware delivers — including its mistakes.

Bestom engineering note — written by our own design and BSP engineers from work on Rockchip platforms. Platform parameters quoted here are taken from our published datasheets; see Core Boards & SoM. For translated community notes, see the Tech Notes index.

First principle

The algorithms cannot repair the front end

Beamforming relies on consistent phase and amplitude relationships between channels. AEC relies on a clean, time-aligned reference of what the speaker played. When either input is wrong, every algorithm downstream inherits the error — and it shows up as "the voice algorithm is bad" rather than "the microphone front end is wrong".

1. Match the microphones, and verify it

Sensitivity spread between channels directly degrades beamforming. Specifying matched parts is not the same as receiving matched parts. Ask for sensitivity and phase binning, and verify the bins on incoming lots.

Check: the tolerance in dB that the array algorithm assumes, written next to the part's actual bin tolerance.

2. Fix the array geometry against the physical product

Spacing sets the frequency range over which the array can steer without spatial aliasing. The geometry also has to survive the enclosure: an array measured on a development board and then buried behind a grille and a logo is a different array.

Check: spacing, the usable frequency band, and the acoustic transparency of the actual front panel.

3. Get the acoustic path out of the way

Port size, port depth, cavity volume and sealing decide the low-frequency response and how much structure-borne noise reaches the capsule. This is a mechanical design problem with an audio consequence.

Check: the port is sized as an acoustic element, not as a mechanical hole.

4. Treat the AEC reference as a first-class signal

The reference must be the signal actually sent to the amplifier, time-aligned and gain-matched to what the speaker emits. A reference tapped before the amplifier, or delayed by a software buffer, is the classic cause of echo cancellation that "half works".

Check: where the reference is tapped, and the total delay from playback buffer to speaker.

Electrical

The parts that usually get under-designed

ItemWhy it mattersWhat to specify
PDM clock integrityPDM is a clock-driven interface; jitter and ringing translate directly into noise on the captured signalClock trace routing, termination, and separation from switching nodes — reviewed as a signal-integrity item, not an afterthought
Channel count and sample ratesChannel count is a hard platform constraint; it cannot be expanded later in softwareThe exact channel count the array and the algorithms need, matched to the platform's PDM capability before the platform is chosen
Power and clock noiseAudio rails next to switching regulators produce artefacts that present as algorithm failureDedicated low-noise regulation for the analogue domain, and a clock source that is not sharing a noisy net
Grounding and return pathsGround loops between the microphone board, the main board and the amplifier are a common noise sourceA single defined return strategy, agreed between the board and enclosure designs
Synchronisation across channelsChannels captured on different interfaces or at different instants destroy the phase relationships beamforming depends onAll array channels sampled by the same clock domain, with a documented sample alignment
Platform

Where the audio platform fits

Dedicated audio/voice SoM — M08D

  • RK2108D: HiFi3 DSP + Cortex-M4F
  • Stamp-hole 60 pad, 16×16 mm
  • RT-Thread
  • Purpose: keep the audio path off a general-purpose application processor

PDM microphone capture note →

Entry-level audio/HMI SoM — M506

  • RK3506G2: 3×Cortex-A7 + Cortex-M0 @1.5 GHz
  • 128 MB DDR3 SiP
  • 2D hardware engine offloads CPU from display work
  • Buildroot / Yocto

Platform matrix →

Voice as part of a richer product

When voice is one function among many, the array hangs off an application processor — RK3566 (M66) or higher. The hardware rules above do not change; only the host does.

The part we cannot skip

Every item on this page is measurable, and the measurement has to happen on the actual enclosure. An array tuned on an open bench and then installed in a sealed product is an untested array.

Talk to us about your voice product →

Continue

Related notes

Working on a Rockchip product right now?

Send us the product spec or the constraint list. We design and develop custom hardware on Rockchip platforms — and we will tell you if the platform you have in mind is the wrong one.

Start a project → All Tech Notes