I’m running a Centos 7 desktop with gnome, although similar issues regularly come up with Arch and other distros.
When I checked my cpu usage via top, pulseaudio was using nearly 20% cpu.
I hunted around for solutions and there were a lot of incorrect ones, so I’m posting here for karma points to help others.
3
Answers
The sd_espeak-ng (text to speech) got turned on somehow. To disable it, go into Settings > Universal Access > Screen Reader and turn it off.
The key insight here is that pulse's job is to route, mix and resample audio from apps to the correct device. Different apps/devices may have different samplerates (e.g.: 44.1khz to 48khz) so pulse is resampling which will typically require a lot of cpu resources. This may be silent to you which can be the source of confusion, but look at other applications that may be doing this in the background.
Note that there are also some known issues with certain versions of firefox that create a similar behavior. The solution should be an upgrade if you can or tweaks to your drivers, but the cause of cpu usage is likely the same.
May also be related to firefox. If it only happens with FF, you can try this
from https://bugzilla.redhat.com/show_bug.cgi?id=1925810
In Ubuntu 22.04, Chrome Browser. Disable "Live Caption". This solved my High CPU usage by pulse audio. If it is already disabled. Check if you have any extensions which has "speech to text" feature.