Does anyone have any guidance on successfully installing Mycroft on OpenSUSE (Tumbleweed)? I originally tried installing via the alarrosa overlay, but couldn’t get it to integrate well with Gnome Shell.
Then I removed the packages installed via overlay and tried installing per the GIT instructions. Now my problem is that Mycroft isn’t listening to my computer’s microphone.
The only notable things I’ve been able to notice are from voice.log:
14:58:38.678 - mycroft.configuration.config:load_local:114 - DEBUG - Configuration ‘/etc/mycroft/mycroft.conf’ not found
14:58:38.679 - mycroft.configuration.config:load_local:109 - DEBUG - Configuration /home/rob/.mycroft/mycroft.conf loaded
ALSA lib pcm_dsnoop.c:638:(snd_pcm_dsnoop_open) unable to open slave
ALSA lib pcm_dmix.c:1099:(snd_pcm_dmix_open) unable to open slave
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib pcm_dmix.c:1099:(snd_pcm_dmix_open) unable to open slave
Expression ‘alsa_snd_pcm_hw_params_set_period_size_near( pcm, hwParams, &alsaPeriodFrames, &dir )’ failed in ‘src/hostapi/alsa/pa_linux_alsa.c’, line: 923
Cannot connect to server socket err = No such file or directory
Cannot connect to server request channel
jack server is not running or cannot be started
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock
14:58:38.721 - mycroft.client.speech.listener:create_wake_word_recognizer:243 - INFO - creating wake word engine
14:58:38.723 - mycroft.client.speech.hotword_factory:load_module:261 - INFO - Loading “hey mycroft” wake word via pocketsphinx
and the following when attempting to run mycroft-mic-test:
Starting audiotest
===========================================================
== STARTING TO RECORD, MAKE SOME NOISE! ==
===========================================================
Traceback (most recent call last):
File “/usr/lib64/python3.6/runpy.py”, line 193, in _run_module_as_main
“main”, mod_spec)
File “/usr/lib64/python3.6/runpy.py”, line 85, in _run_code
exec(code, run_globals)
File “/home/rob/mycroft-core/mycroft/util/audio_test.py”, line 102, in
main()
File “/home/rob/mycroft-core/mycroft/util/audio_test.py”, line 89, in main
record(args.filename, args.duration)
File “/home/rob/mycroft-core/mycroft/util/audio_test.py”, line 64, in record
with mic as source:
File “/home/rob/mycroft-core/mycroft/client/speech/mic.py”, line 122, in enter
input=True, # stream is an input stream
File “/home/rob/mycroft-core/.venv/lib64/python3.6/site-packages/pyaudio.py”, line 750, in open
stream = Stream(self, *args, **kwargs)
File “/home/rob/mycroft-core/.venv/lib64/python3.6/site-packages/pyaudio.py”, line 441, in init
self._stream = pa.open(**arguments)
OSError: [Errno -9996] Invalid input device (no default output device)
I’m not having any issues with other applications, such as Skype, so I’m left thinking that it’s an idiosyncrasy with Mycroft…
Unfortunately, I still don’t have a solution yet.
It seems related to pyaudio which is not able to configure the mic but in my case aplay and arecord is working fine so from my point of view, pyaudio should too.
Hoping that someone will be able to understand this…
In Ubuntu I have found it helpful to use the pavucontrol GUI PulseAudio Volume Control which is available for openSUSE as well
It helped me sort out when my audio was going to my USB speakers or were using the onboard audio – graphically when I didn’t see it from the command line.
As I am using docker there I get the source of portaudio and recompile it trying some configuration for it.
It appears that by using --without-oss --without-jack --with-alsa
the error doesn’t appear anymore.
Here is the commands I use
wget http://portaudio.com/archives/pa_stable_v190600_20161030.tgz \
&& tar xvfz pa_stable_v190600_20161030.tgz \
&& cd portaudio \
&& ./configure --without-jack --without-oss --with-alsa \
&& make && make install \
&& cd ../ && rm -rf portaudio \
&& rm -rf pa_stable_v190600_20161030.tgz
and you will need
gcc g++ make alsa-lib-dev
to ensure the compilation
I think that’s all
The issue I have linked is still open and nobody has worked on it.
I am not sure my solution is enough as I don’t see the link with the issue I linked but at least it work for me.