Build an open future with us.

Invest in Mycroft and become a community partner.

Installing on OpenSUSE


#1

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.

https://antlarr.io/2018/03/how-to-install-the-mycroft-a-i-on-opensuse-tumbleweed/

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.

Any advice?

Thank you,
Rob


#2

There are some help in this doc.

It can be as simple as your mic is muted, or more complex as setting mycroft to use right device.


#3

Are there any error messages in your log files that could explain what the issue is? Your logs are located at;
/var/log/mycroft


#4

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…


#5

OK, a couple of things here;

  • There are some error messages in here about jackd - http://jackaudio.org/ - are you running jackd at all?
  • The error message at the bottom of the log indicates that a default playback device is not selected. What is the output of aplay -l?
  • Is pulseaudio installed?

#6

No - I’ve made no attempts at installing JACK on my system. I also haven’t seen this listed as a dependency in any of the requirements I’ve found.

I’m not sure why mycroft is complaining about an output device; it’s able to talk to me, but unable to pick up my microphone.

rob@EliteBook:~/mycroft-core> aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: CX8200 Analog [CX8200 Analog]
  Subdevices: 0/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 7: HDMI 1 [HDMI 1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 8: HDMI 2 [HDMI 2]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 9: HDMI 3 [HDMI 3]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 10: HDMI 4 [HDMI 4]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

Yes, pulseaudio was installed by default.
rob@EliteBook:~/mycroft-core> pactl info
Server String: /run/user/1000/pulse/native
Library Protocol Version: 32
Server Protocol Version: 32
Is Local: yes
Client Index: 71
Tile Size: 65472
User Name: rob
Host Name: EliteBook.hulljensen.net
Server Name: pulseaudio
Server Version: 12.2-rebootstrapped
Default Sample Specification: s16le 2ch 44100Hz
Default Channel Map: front-left,front-right
Default Sink: alsa_output.pci-0000_00_1f.3.analog-stereo
Default Source: alsa_input.pci-0000_00_1f.3.analog-stereo
Cookie: 2262:c27d

Additionally, I’m able to record audio with arecord -d 10 test.wav and play the file back with aplay test.wav


#7

I’m all out of ideas here @rjensen, sorry.

Are there any errors in the voice.log or audio.log that might give us more clues for troubleshooting?


#8

Hi,

I got the same issue using mycroft-precise on docker container.

The line which matters is:

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

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…