There are also now some sndio backends out there for applications not in the OpenBSD ports tree like Cava, shairport-sync, and Kodi.
I have a pretty slow CPU (NUC5PPYH) and Pulseaudio has been working fine for loads of years.
Wow, didn't know that. I'm a fan of all three but no time to muck around with distros. Might reconsider.
1. There was a learning curve. You put all your default configuration in the /etc/mixerctl.conf file. After boot you use the mixerctl command to change anything you need to change. In my case I never use the mixerctl command as everything just works by using the per application volume controls. I have the master volume mapped to some function keys but I never use them.
2. The Sndio drivers, at least for my hardware, simplify the interface. That had good and bad results over the previous ALSA interface. The bad was that there were missing features. The good is that it was possible to actually figure out how to use regular audio. I was never able to figure out how to configure 5.1 audio properly on ALSA due to the ridiculous complexity of the onboard HD audio exposed through ALSA. When I moved to OpenBSD I was able to get rid of the extra sound card (which OpenBSD did not support).
3. The addition of sndiod (the mixer daemon) is for all practical purposes transparent. You get a single volume control per app and that is that. The hardware mixer controls are effectively hidden in a useful way. There is nothing like the separate ALSA hardware controls you have to mess with when you use Pulseaudio.
4. Once you set up your audio inputs (which are also done in a transparent way through sndiod) you are done. So when I pick up the mic to talk on mumble I expect that I will be heard, even if I have rebooted. Compared to my experience on Linux, this feels like witchcraft.
5. Sndio through sndiod has network transparency that is done in a fairly transparent way. You just add on a server name when specifying the device name. I use this functionality for a whole house audio system where the target is a sndiod running on a Linux system using ALSA as the backend. Debian has a sndiod package now.
That said, JACK is much better for routing audio through applications. And jack-rack actually lets you change the parameters of LADSPA filters without reloading. And it is easy to get a graphical mixer up controlling individually the volume from all the sources.
I stacked a number of filters on a null-sink and then used the loop-back module to put the sound from the mic into the top filter. Then I redirected mumble to the null-sink’s monitor. The filters I used were the ones I found in the debian package repo.
In comparison, it was much easier to do in JACK, where I could create the filter stack in jack-rack, which has a GUI,
and do the plumbing in qjackctl.
Before PulseAudio came along, my "solution" to Linux desktop audio was to simply keep using an ancient sound card that still had a hardware mixer.