I just spent the last day configuring Jasper with ALSA. Jasper is a suite of Speech-To-Text and Text-To-Speech engines with a nice(ish) end interface. ALSA is the Advanced Linux Sound Architecture, a utility for playing and recording .WAV files.
I was having issues with Jasper – it was throwing an IOError -9997 in one of the core PyAudio (PortAudio binding for Python) files. I tried a number of fixes – at first, re-installing PyAudio from scratch seemed to fix it. However, I was tinkering with my ALSA config and the next time I tried to open Jasper, it threw a bunch of errors.
After a bit of poking through my reset-PyAudio script, I noticed that it removed PulseAudio – a sound mini-server that “serves as a proxy to using existing sound components like ALSA or OSS.” (ArchLinux Wiki) I tried re-installing it and next time I started up Jasper, it worked again!