fix: disable mic AGC by default to stop Windows audio crackle - #933
fix: disable mic AGC by default to stop Windows audio crackle#933abdu11ahbaig wants to merge 1 commit into
Conversation
Chromium's realtime AGC crackles on some Realtek/headset mics, heard as repeated breaking and pitch warble. The no-agc fix existed but was hidden behind an env var shipped builds never set. Make it the default; volume is still restored offline via the existing speechnorm/alimiter chain.
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (3)
Included review availability: Your plan provides up to 10 included reviews per hour; 9 remain after this review. 📝 WalkthroughWalkthroughThe default browser microphone profile changes from ChangesBrowser microphone profile
Priority: ➖ Normal Estimated code review effort: 1 (Trivial) | ~5 minutes Change: Bug fix Suggested reviewers: Merge Risk: ⚪ Minimal · up to The updated default and tests consistently implement the intended no-AGC behavior, with no concrete merge-blocking issue identified. 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Description
Default microphone recording on Windows to the
no-agcbrowser voice-processing profile instead ofprocessed, so Chromium's real-time Automatic Gain Control is off by default for the built-in mic fallback path.Motivation
Users recording with the built-in mic on Windows reported audio breaking up repeatedly with a low-pitched, garbled/unclear voice (e.g. saying "hello" comes out warbled and stuttered). Investigation traced this to Chromium's real-time AGC, which the team had already identified in prior beta testing as causing short crackle/dropout bursts on some Realtek and headset mic paths (see the existing comment in
electron/ipc/recording/audioFilters.ts). Ano-agcmitigation already existed in the code, but it was only reachable via a hidden environment variable (RECORDLY_BROWSER_MIC_PROFILE) that a normal downloaded build never sets — so every real user still hit the buggyprocesseddefault. Echo cancellation and noise suppression remain enabled; volume is restored after the fact via the existing offlinespeechnorm/alimiterfilter chain instead of AGC's real-time loop.Type of Change
Related Issue(s)
#931
Screenshots / Video
N/A — audio-only backend behavior change, no UI change.
Testing Guide
Checklist
Summary by CodeRabbit