Zoom desktop audio share quality is very bad
I'm playing around with Pipewire and Zoom to try to enhance some kid's activities for my job. I've noticed that audio sharing comes out very poor quality on the other end; it sounds distorted and bitcrushed. I just tested reverting to Pulseaudio and it comes out fine, if a little bit digitally compressed.
Internally, Zoom seems to set up two clients. One is the "ZOOM VoiceEngine", which has a few inputs meant to take speech from a mic and a few outputs to handle all audio output from the application. The other is the "ZOOM VoiceEngine Loopback" that only appears when sharing audio, and it only has inputs. This second client automatically connects to the mic under pipewire (?), and anything you send to it gets crushed. I asked why the quality might be so bad on the Zoom subreddit, and in response I was told that shared sources through Zoom are frame rate restricted, which destroys audio.
But no matter how I link up the graph, the problem remains. Something about how Pipewire is compartmentalizing the two Zoom clients? On Pulseaudio, the application also creates a new pulse sink called "zoom_combine_device" and switches to it as default. Not sure if that's relevant, but it doesn't happen with pipewire-pulse.
I'm on an Arch system with KDE 5, pipewire 0.3.17