Chrome enables noise suppression on getUserMedia when the constraints leave it alone. Next to the mic that default is reasonable. A voice across the table is quieter and less stable, and the browser suppressor treats a lot of it as noise, so far-field speech arrives at STT already damaged.

The mic stream goes to Solaria-1, which already handles noise. Putting the browser suppressor in front of that was what made distant speech unusable, so mic capture forces the three flags:

{ echoCancellation: true, noiseSuppression: false, autoGainControl: true, } 

Echo cancellation stays on because the mic and the speakers are the same laptop. Speaker bleed should still be stripped in the browser. Auto gain stays on so a quiet voice, far from the mic, gets a level lift before the chunks leave. Noise suppression is false on purpose, for Solaria-1.

These constraints are the microphone path only. Tab audio and a system loopback sit at a different level, and the same flags do not apply there. There is no measured A/B behind the choice.

LiveSuggest ships them on mic capture.