Friday, April 6, 2018

Audio on Linux is a Disaster, Debian Stretch Edition

I have recently learned more than I wanted to know about how Audio works in Debian Stretch Linux, and yet, not enough to solve the problems I have.

Generally I love Debian Stretch Linux,   the two big pain points are, Audio, and nVidia.  And nVidia is not Debian's fault, it's nVidia's fault. I hate you nVidia, did you know that I hate you? Anyways back to ranting about audio.


Here are my problems, stated in as transparent a way as I know how:

1. I need to use Skype for work, and a few other closed-source conferencing and remote desktop sharing apps, including join.me, and GoToMeeting.

2. Built in Linux desktop apps like Sound Recording apps all work fine. If they were not working I could investigate them down to the source code level to see why they don't work.

3. But commercial closed source audio-aware apps do not work in a consistent way. Skype for Linux these days is some heinous Electron app.  It probably talks to pulse-audio.  So does GoToMeeting, so does Join.me.

4. On Skype, people say I sound like a chipmunk. On Join.me I sound like a monster or a robot. Many issues like this have to do with sample rate configuration options.  How you can find a set of options that work for all the various apps you have, is an impossible problem.

If I could make an analogy, it's like going into a dark room, and there are an array of 100 or more light switches. One of those combinations of 100 switches, say, 36 of them on, and 64 of them off, in some combination, out of a possible of 2^100 combinations, will result in the lights going on. Another combination, also probably having to be found by trial and error will result in the lights going off. Other combinations will result in your hair catching on fire, your dog being decapitated, and your kids voice changing randomly from sounding like Obi Wan Kenobi, changing to R2-D2, and then to Chewbacca.

In between changing combinations of lightswitches, you should google a bunch of stuff, make notes, try things, and see if you can find the working combination.

I don't see a solution here, because I don't see that there's a standard way for Linux apps, either real native closed source ones that don't use electron, or for electron apps, to work on every Linux distro out there that has Pulseaudio as its audio subsystem.  Perhaps all these apps are tested, and developed, and work on Ubuntu, but not on Debian or any other Debian derivatives.

Who really knows?