Chrome has the ability to subtract your audio output (speakers or headphones) from your audio input (microphone). This is helpful in some circumstances, like when taking a call without headphones - but can be annoying in many other cases where you want clean and crisp audio recording.
Here's what it sounds like when this happens:
You can test this easily by using one of the many "record audio online" sites, and playing a YouTube video in another tab. To aid with accurate replication, here's a tiny sandbox to reproduce it:
The following code snippet is supposed to prevent this issue, but doesn't:
const stream = await navigator.mediaDevices.getUserMedia({ audio: true, echoCancellation: false, noiseSuppression: false, autoGainControl: false, });
Go to chrome://flags and turn off these flags:
If you're also impacted by this Chrome Bug, go ahead and +1 it. This site is Open Source and very small, so feel free to double check my work.
If you're wondering why I care, it's because I'm working on LoopBox - a fun little tool to record layered audio loops in your browser... it is severely impacted by this bug.