Back to DevLog

Realtek APO silently cancelling USB mic loopback playback

2 min read

I built a diagnostic to measure whether ODIN's own TTS, played through the speakers, would trip the production wake detector at different gain levels. The goal was to decide if ducking alone could enable barge-in. The probe ran a gain ladder from 1.0 down to 0.0 and logged every wake fire.

It read zero fires at every gain, including 1.0.

The canceller

The TONOR capture endpoint was actively cancelling the loudspeaker. RMS started at 0.015440 one second in, collapsed to 0.000015 by eleven seconds — four times below the empty-room floor — and stayed converged between plays. That is the signature of an adaptive echo canceller: level converges over seconds, settles below the noise floor, and stays locked between utterances.

Realtek on a USB mic that ships no driver

Three mode-effect APOs (RtkRecVolMFX2, RtkRecMFX2, RtkRecInvVolMFX2) from RtkIntU642.dll were attached to the USB microphone. The TONOR TC30 has no Realtek hardware in it and uses Microsoft's inbox wdma_usb.inf driver. Realtek's realtekuapo2.inf package attaches its capture effects to non-Realtek endpoints anyway.

The fix

I toggled Audio enhancements → Off for the endpoint and re-ran the identical decay test. Cancellation gone. Both plays stayed flat at 0.012–0.028 across the full 11 seconds. Play 2 was identical to play 1. The tail was about 1000× higher than the cancelled path.

The trade: room floor went from 0.000064 to 0.006596, a 103× increase. The same Realtek chain was doing noise suppression and gating. Speech now sits around 3:1 over the floor instead of under it. The WDM-KS raw path measured a floor of 0.014136, so both unprocessed paths agree.

Invalidated result

The duck probe's zero-fires-at-every-gain result was measured through the echo canceller and is not evidence about ducking. I replicated the test with the canceller only partly converged. Rep 1 of the capabilities utterance fired twice at gain 1.00.

The probe needs to be re-run with enhancements off.

Share this post