I cant get any audio out on my picroft

I built mycroft on an already setup raspberry pi on raspian buster. The microphone works correctly and I can see that it detects wake words in the CLI but I cannot get it to play anything over the speakers.

I have a default audio device set in ~/.asoundrc and in /etc/asound.conf and I can play audio over them using aplay but mycroft will not play sounds over it.

It does not give me any errors when I run mycroft normally or in the CLI but when I run the audiotest it gives me the error below. This seems odd to me since it crashes when starting the recording but says it has no default output device. Also I do have a default output device. If anyone could help me out I would really appreciate it, Thanks.

Already up to date.
Initializing…
Starting audiotest
========================== Info ===========================
Input device: Default device @ Sample rate: 16000 Hz
Playback commandline: aplay WAV_FILE

===========================================================
== STARTING TO RECORD, MAKE SOME NOISE! ==

Traceback (most recent call last):
File “/usr/lib/python3.7/runpy.py”, line 193, in _run_module_as_main
“main”, mod_spec)
File “/usr/lib/python3.7/runpy.py”, line 85, in _run_code
exec(code, run_globals)
File “/home/pi/mycroft-core/mycroft/util/audio_test.py”, line 132, in
main()
File “/home/pi/mycroft-core/mycroft/util/audio_test.py”, line 119, in main
record(args.filename, args.duration)
File “/home/pi/mycroft-core/mycroft/util/audio_test.py”, line 66, in record
with mic as source:
File “/home/pi/mycroft-core/mycroft/client/speech/mic.py”, line 134, in enter
input=True, # stream is an input stream
File “/home/pi/mycroft-core/.venv/lib/python3.7/site-packages/pyaudio.py”, line 750, in open
stream = Stream(self, *args, **kwargs)
File “/home/pi/mycroft-core/.venv/lib/python3.7/site-packages/pyaudio.py”, line 441, in init
self._stream = pa.open(**arguments)
OSError: [Errno -9996] Invalid input device (no default output device)

This error seems to appear when the mic device it’s trying to use is controlled by a different process.
Have you perused the audio troubleshooting document?

1 Like

Ah, I actually hadn’t seen that one yet, oops. It seems to be implying that I need to be using pulse audio. Pulse audio isn’t installed and it was never installed as a dependency when I set up mycroft and currently I have all my other programs using audio over blueasla. So am I correct in thinking that I need to transfer over to pulse audio and not alsa? If so it seems odd to me that the microphone is still working in mycroft normally.
Thank you for the help!