This problem was bugging me for quite a while and today I finally decided to address it. There are lot of advices online to try to run Firefox in safe mode and see if that fixes the problem, so I tried that first but it didn’t help. Safe mode actually just turns off extensions, but in my case it didn’t help.
I found out that the easiest way to reproduce the problem was to run YouTube video in one window and after that open another window with eBay. After few seconds crackling and popping always started. I run audio mainly via HDMI to my monitor, but as I have external DAC I decided to try that audio output and yes, it worked without problems. So, it seemed something was wrong with PulseAudio over HDMI.
After some investigation I found out that these two settings of Firefox may fix the problem:
Just type about:config in your Firefox URL line and set them to false. In my case just disabling media.webspeech.synth fixed the problem, but I still set both of these to false.
So, the main cause for the trouble was Firefox’s Web Speech API. If you wish, you can also completely uninstall this feature:
Finally restart your browser. This may help someone.