No Voice Recognition


#1

I’ve just installed kde plasmoid debian, and it’s not recognizing my voice when I speak the waking phrase. if I type the command into the terminal it works fine, but I want to be able to go about my business and just speak what I need. Am I doing something wrong?

I installed the program with the autoinstall instructions:

  1. wget https://raw.githubusercontent.com/MycroftAI/installers/master/kde_plasmoid_debian/install.sh
  2. chmod +x install.sh
  3. ./install.sh

once installed, I ran dev_setup.sh, then did ./start-mycroft.sh debug. The debugger started and I let it run until it stopped giving me output (except for an error with an API that just stopped a few minutes ago). I’ve stopped and started the program a couple times and it is paired with my account, but it still doesn’t recognize my voice when I speak.

I’m using a decent headset and everything works on that part (I use it all the time when playing overwatch), but it doesn’t work for this.


#2

Might be looking at the wrong audio input.

Check the voice.log to see what indicates (/var/log/mycroft/), might need adjusting.


#3

I don’t see any reference to any microphone in the log:

ALSA lib pcm_dsnoop.c:618:(snd_pcm_dsnoop_open) unable to open slave
ALSA lib pcm_dmix.c:1052:(snd_pcm_dmix_open) unable to open slave
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib pcm_dmix.c:1052:(snd_pcm_dmix_open) unable to open slave
13:12:51.603 - mycroft.client.speech.listener:create_wake_word_recognizer:249 - INFO - creating wake word engine
13:12:51.604 - mycroft.client.speech.hotword_factory:load_module:277 - INFO - Loading “hey mycroft” wake word via precise
13:12:52.824 - mycroft.client.speech.hotword_factory:on_download:203 - INFO - Downloading Precise executable…
13:12:57.828 - mycroft.client.speech.hotword_factory:during_download:215 - INFO - Still downloading executable…
13:13:01.608 - mycroft.client.speech.hotword_factory:load_module:303 - INFO - precise is taking too long to load
13:13:01.610 - mycroft.client.speech.hotword_factory:load_module:277 - INFO - Loading “hey mycroft” wake word via pocketsphinx
13:13:01.991 - mycroft.client.speech.listener:create_wakeup_recognizer:269 - INFO - creating stand up word engine
13:13:01.992 - mycroft.client.speech.hotword_factory:load_module:277 - INFO - Loading “wake up” wake word via pocketsphinx
13:13:03.964 - mycroft.messagebus.client.ws:on_open:60 - INFO - Connected
13:13:07.415 - mycroft.client.speech.hotword_factory:on_complete:223 - INFO - Precise download complete!
13:13:08.151 - mycroft.client.speech.listener:create_wake_word_recognizer:249 - INFO - creating wake word engine
13:13:08.152 - mycroft.client.speech.hotword_factory:load_module:277 - INFO - Loading “hey mycroft” wake word via precise
13:13:09.615 - mycroft.client.speech.hotword_factory::187 - INFO - Updated precise model
13:13:09.874 - mycroft.client.speech.listener:create_wakeup_recognizer:269 - INFO - creating stand up word engine
13:13:09.876 - mycroft.client.speech.hotword_factory:load_module:277 - INFO - Loading “wake up” wake word via pocketsphinx
13:38:13.844 - mycroft.messagebus.client.ws:on_error:72 - WARNING - Could not send message because connection has closed
13:38:13.960 - mycroft.messagebus.client.ws:on_error:81 - ERROR - Exception closing websocket: WebSocketConnectionClosedException(‘Connection is already closed.’,)
13:38:14.018 - mycroft.messagebus.client.ws:on_error:83 - WARNING - WS Client will reconnect in 5 seconds.
13:38:19.024 - mycroft.messagebus.client.ws:on_error:74 - ERROR - === ConnectionRefusedError(111, ‘Connection refused’) ===
Traceback (most recent call last):
File “/home/gemivere/mycroft-core/mycroft/messagebus/client/ws.py”, line 77, in on_error
self.emitter.emit(‘error’, error)
File “/home/gemivere/mycroft-core/.venv/lib/python3.6/site-packages/pyee/init.py”, line 178, in emit
raise args[0]
File “/home/gemivere/mycroft-core/.venv/lib/python3.6/site-packages/websocket/_app.py”, line 305, in run_forever
dispatcher.read(self.sock.sock, read, check)
File “/home/gemivere/mycroft-core/.venv/lib/python3.6/site-packages/websocket/_app.py”, line 53, in read
if not read_callback():
File “/home/gemivere/mycroft-core/.venv/lib/python3.6/site-packages/websocket/_app.py”, line 271, in read
op_code, frame = self.sock.recv_data_frame(True)
File “/home/gemivere/mycroft-core/.venv/lib/python3.6/site-packages/websocket/_core.py”, line 340, in recv_data_frame
frame = self.recv_frame()
File “/home/gemivere/mycroft-core/.venv/lib/python3.6/site-packages/websocket/_core.py”, line 374, in recv_frame
return self.frame_buffer.recv_frame()
File “/home/gemivere/mycroft-core/.venv/lib/python3.6/site-packages/websocket/_abnf.py”, line 361, in recv_frame
self.recv_header()
File “/home/gemivere/mycroft-core/.venv/lib/python3.6/site-packages/websocket/_abnf.py”, line 309, in recv_header
header = self.recv_strict(2)
File "/home/gemivere/mycroft-core/.venv/lib/python3.6/site-packages/websocket/abnf.py", line 396, in recv_strict
bytes
= self.recv(min(16384, shortage))
File “/home/gemivere/mycroft-core/.venv/lib/python3.6/site-packages/websocket/_core.py”, line 449, in _recv
return recv(self.sock, bufsize)
File “/home/gemivere/mycroft-core/.venv/lib/python3.6/site-packages/websocket/_socket.py”, line 94, in recv
“Connection is already closed.”)
websocket._exceptions.WebSocketConnectionClosedException: Connection is already closed.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File “/home/gemivere/mycroft-core/.venv/lib/python3.6/site-packages/websocket/_app.py”, line 254, in run_forever
proxy_type=proxy_type)
File “/home/gemivere/mycroft-core/.venv/lib/python3.6/site-packages/websocket/_core.py”, line 220, in connect
options.pop(‘socket’, None))
File “/home/gemivere/mycroft-core/.venv/lib/python3.6/site-packages/websocket/_http.py”, line 120, in connect
sock = _open_socket(addrinfo_list, options.sockopt, options.timeout)
File “/home/gemivere/mycroft-core/.venv/lib/python3.6/site-packages/websocket/_http.py”, line 190, in _open_socket
raise err
File “/home/gemivere/mycroft-core/.venv/lib/python3.6/site-packages/websocket/_http.py”, line 170, in _open_socket
sock.connect(address)
ConnectionRefusedError: [Errno 111] Connection refused
13:38:19.027 - mycroft.messagebus.client.ws:on_error:81 - ERROR - Exception closing websocket: ConnectionRefusedError(111, ‘Connection refused’)
13:38:19.028 - mycroft.messagebus.client.ws:on_error:83 - WARNING - WS Client will reconnect in 10 seconds.
13:38:29.098 - mycroft.messagebus.client.ws:on_error:74 - ERROR - === ConnectionRefusedError(111, ‘Connection refused’) ===
Traceback (most recent call last):
File “/home/gemivere/mycroft-core/mycroft/messagebus/client/ws.py”, line 77, in on_error
self.emitter.emit(‘error’, error)
File “/home/gemivere/mycroft-core/.venv/lib/python3.6/site-packages/pyee/init.py”, line 178, in emit
raise args[0]
File “/home/gemivere/mycroft-core/.venv/lib/python3.6/site-packages/websocket/_app.py”, line 305, in run_forever
dispatcher.read(self.sock.sock, read, check)
File “/home/gemivere/mycroft-core/.venv/lib/python3.6/site-packages/websocket/_app.py”, line 53, in read
if not read_callback():
File “/home/gemivere/mycroft-core/.venv/lib/python3.6/site-packages/websocket/_app.py”, line 271, in read
op_code, frame = self.sock.recv_data_frame(True)
File “/home/gemivere/mycroft-core/.venv/lib/python3.6/site-packages/websocket/_core.py”, line 340, in recv_data_frame
frame = self.recv_frame()
File “/home/gemivere/mycroft-core/.venv/lib/python3.6/site-packages/websocket/_core.py”, line 374, in recv_frame
return self.frame_buffer.recv_frame()
File “/home/gemivere/mycroft-core/.venv/lib/python3.6/site-packages/websocket/_abnf.py”, line 361, in recv_frame
self.recv_header()
File “/home/gemivere/mycroft-core/.venv/lib/python3.6/site-packages/websocket/_abnf.py”, line 309, in recv_header
header = self.recv_strict(2)
File "/home/gemivere/mycroft-core/.venv/lib/python3.6/site-packages/websocket/abnf.py", line 396, in recv_strict
bytes
= self.recv(min(16384, shortage))
File “/home/gemivere/mycroft-core/.venv/lib/python3.6/site-packages/websocket/_core.py”, line 449, in _recv
return recv(self.sock, bufsize)
File “/home/gemivere/mycroft-core/.venv/lib/python3.6/site-packages/websocket/_socket.py”, line 94, in recv
“Connection is already closed.”)
websocket._exceptions.WebSocketConnectionClosedException: Connection is already closed.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File “/home/gemivere/mycroft-core/mycroft/messagebus/client/ws.py”, line 77, in on_error
self.emitter.emit(‘error’, error)
File “/home/gemivere/mycroft-core/.venv/lib/python3.6/site-packages/pyee/init.py”, line 178, in emit
raise args[0]
File “/home/gemivere/mycroft-core/.venv/lib/python3.6/site-packages/websocket/_app.py”, line 254, in run_forever
proxy_type=proxy_type)
File “/home/gemivere/mycroft-core/.venv/lib/python3.6/site-packages/websocket/_core.py”, line 220, in connect
options.pop(‘socket’, None))
File “/home/gemivere/mycroft-core/.venv/lib/python3.6/site-packages/websocket/_http.py”, line 120, in connect
sock = _open_socket(addrinfo_list, options.sockopt, options.timeout)
File “/home/gemivere/mycroft-core/.venv/lib/python3.6/site-packages/websocket/_http.py”, line 190, in _open_socket
raise err
File “/home/gemivere/mycroft-core/.venv/lib/python3.6/site-packages/websocket/_http.py”, line 170, in _open_socket
sock.connect(address)
ConnectionRefusedError: [Errno 111] Connection refused

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File “/home/gemivere/mycroft-core/.venv/lib/python3.6/site-packages/websocket/_app.py”, line 254, in run_forever
proxy_type=proxy_type)
File “/home/gemivere/mycroft-core/.venv/lib/python3.6/site-packages/websocket/_core.py”, line 220, in connect
options.pop(‘socket’, None))
File “/home/gemivere/mycroft-core/.venv/lib/python3.6/site-packages/websocket/_http.py”, line 120, in connect
sock = _open_socket(addrinfo_list, options.sockopt, options.timeout)
File “/home/gemivere/mycroft-core/.venv/lib/python3.6/site-packages/websocket/_http.py”, line 190, in _open_socket
raise err
File “/home/gemivere/mycroft-core/.venv/lib/python3.6/site-packages/websocket/_http.py”, line 170, in _open_socket
sock.connect(address)
ConnectionRefusedError: [Errno 111] Connection refused
13:38:29.159 - mycroft.messagebus.client.ws:on_error:81 - ERROR - Exception closing websocket: ConnectionRefusedError(111, ‘Connection refused’)
13:38:29.161 - mycroft.messagebus.client.ws:on_error:83 - WARNING - WS Client will reconnect in 20 seconds.
13:38:49.240 - mycroft.messagebus.client.ws:on_error:74 - ERROR - === ConnectionRefusedError(111, ‘Connection refused’) ===
Traceback (most recent call last):
File “/home/gemivere/mycroft-core/mycroft/messagebus/client/ws.py”, line 77, in on_error
self.emitter.emit(‘error’, error)
File “/home/gemivere/mycroft-core/.venv/lib/python3.6/site-packages/pyee/init.py”, line 178, in emit
raise args[0]
File “/home/gemivere/mycroft-core/.venv/lib/python3.6/site-packages/websocket/_app.py”, line 305, in run_forever
dispatcher.read(self.sock.sock, read, check)
File “/home/gemivere/mycroft-core/.venv/lib/python3.6/site-packages/websocket/_app.py”, line 53, in read
if not read_callback():
File “/home/gemivere/mycroft-core/.venv/lib/python3.6/site-packages/websocket/_app.py”, line 271, in read
op_code, frame = self.sock.recv_data_frame(True)
File “/home/gemivere/mycroft-core/.venv/lib/python3.6/site-packages/websocket/_core.py”, line 340, in recv_data_frame
frame = self.recv_frame()
File “/home/gemivere/mycroft-core/.venv/lib/python3.6/site-packages/websocket/_core.py”, line 374, in recv_frame
return self.frame_buffer.recv_frame()
File “/home/gemivere/mycroft-core/.venv/lib/python3.6/site-packages/websocket/_abnf.py”, line 361, in recv_frame
self.recv_header()
File “/home/gemivere/mycroft-core/.venv/lib/python3.6/site-packages/websocket/_abnf.py”, line 309, in recv_header
header = self.recv_strict(2)
File "/home/gemivere/mycroft-core/.venv/lib/python3.6/site-packages/websocket/abnf.py", line 396, in recv_strict
bytes
= self.recv(min(16384, shortage))
File “/home/gemivere/mycroft-core/.venv/lib/python3.6/site-packages/websocket/_core.py”, line 449, in _recv
return recv(self.sock, bufsize)
File “/home/gemivere/mycroft-core/.venv/lib/python3.6/site-packages/websocket/_socket.py”, line 94, in recv
“Connection is already closed.”)
websocket._exceptions.WebSocketConnectionClosedException: Connection is already closed.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File “/home/gemivere/mycroft-core/mycroft/messagebus/client/ws.py”, line 77, in on_error
self.emitter.emit(‘error’, error)
File “/home/gemivere/mycroft-core/.venv/lib/python3.6/site-packages/pyee/init.py”, line 178, in emit
raise args[0]
File “/home/gemivere/mycroft-core/.venv/lib/python3.6/site-packages/websocket/_app.py”, line 254, in run_forever
proxy_type=proxy_type)
File “/home/gemivere/mycroft-core/.venv/lib/python3.6/site-packages/websocket/_core.py”, line 220, in connect
options.pop(‘socket’, None))
File “/home/gemivere/mycroft-core/.venv/lib/python3.6/site-packages/websocket/_http.py”, line 120, in connect
sock = _open_socket(addrinfo_list, options.sockopt, options.timeout)
File “/home/gemivere/mycroft-core/.venv/lib/python3.6/site-packages/websocket/_http.py”, line 190, in _open_socket
raise err
File “/home/gemivere/mycroft-core/.venv/lib/python3.6/site-packages/websocket/_http.py”, line 170, in _open_socket
sock.connect(address)
ConnectionRefusedError: [Errno 111] Connection refused

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File “/home/gemivere/mycroft-core/mycroft/messagebus/client/ws.py”, line 77, in on_error
self.emitter.emit(‘error’, error)
File “/home/gemivere/mycroft-core/.venv/lib/python3.6/site-packages/pyee/init.py”, line 178, in emit
raise args[0]
File “/home/gemivere/mycroft-core/.venv/lib/python3.6/site-packages/websocket/_app.py”, line 254, in run_forever
proxy_type=proxy_type)
File “/home/gemivere/mycroft-core/.venv/lib/python3.6/site-packages/websocket/_core.py”, line 220, in connect
options.pop(‘socket’, None))
File “/home/gemivere/mycroft-core/.venv/lib/python3.6/site-packages/websocket/_http.py”, line 120, in connect
sock = _open_socket(addrinfo_list, options.sockopt, options.timeout)
File “/home/gemivere/mycroft-core/.venv/lib/python3.6/site-packages/websocket/_http.py”, line 190, in _open_socket
raise err
File “/home/gemivere/mycroft-core/.venv/lib/python3.6/site-packages/websocket/_http.py”, line 170, in _open_socket
sock.connect(address)
ConnectionRefusedError: [Errno 111] Connection refused

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File “/home/gemivere/mycroft-core/.venv/lib/python3.6/site-packages/websocket/_app.py”, line 254, in run_forever
proxy_type=proxy_type)
File “/home/gemivere/mycroft-core/.venv/lib/python3.6/site-packages/websocket/_core.py”, line 220, in connect
options.pop(‘socket’, None))
File “/home/gemivere/mycroft-core/.venv/lib/python3.6/site-packages/websocket/_http.py”, line 120, in connect
sock = _open_socket(addrinfo_list, options.sockopt, options.timeout)
File “/home/gemivere/mycroft-core/.venv/lib/python3.6/site-packages/websocket/_http.py”, line 190, in _open_socket
raise err
File “/home/gemivere/mycroft-core/.venv/lib/python3.6/site-packages/websocket/_http.py”, line 170, in _open_socket
sock.connect(address)
ConnectionRefusedError: [Errno 111] Connection refused
13:38:49.244 - mycroft.messagebus.client.ws:on_error:81 - ERROR - Exception closing websocket: ConnectionRefusedError(111, ‘Connection refused’)
13:38:49.246 - mycroft.messagebus.client.ws:on_error:83 - WARNING - WS Client will reconnect in 40 seconds.
13:39:29.312 - mycroft.messagebus.client.ws:on_open:60 - INFO - Connected


#4

to add to this, I’ve done mycroft-mic-test and it recognizes my voice, successfully recording me. But it still doesn’t recognize when I’m talking in the debug screen.


#5

Hi Gemivere,

In the debug screen, does the mic level in the bottom right corner jump as you speak?

This should tell us if the mic is not picking up audio within Mycroft, or if it’s the wake word engine not hearing “Hey Mycroft”


#6

it’s definitely that it’s not picking up the mic, it doesn’t even show a mic level. Also, I’ve tried another AI called Almond and had the same issue.

If it helps, I’m running Linux Mint 19 Mate.


#7

Generally if my mic stops working on linux, a simple one liner gets it going again:
mycroft-start debug restart

If that doesn’t work, try re-running setup with
./dev_setup.sh -sm
The -sm flag is to skip the mimic build

If neither of the above work we’d need to start looking at the general audio troubleshooting steps


#8

okay so restarting didn’t do anything but reinstalling did. It now recognizes that I’m speaking (the mic level goes up), but doesn’t respond. I ran through the audio troubleshooting but there wasn’t anything there I haven’t tried already.


#9

If the system is processing audio but not triggering on the wake word, there’s an immediate answer and a slightly longer-term answer.

In not very long we’re releasing an update to our wake word system that will significantly improve it’s ability to detect different voices. This doesn’t solve your problem right now and would require you to hit the button in the plasmoid so not the ideal scenario.

If you’re keen to try new things and get it working, you can head to your Advanced Settings in Home. I’d first try some of the other pre-configured wake words to see if they perform better with your voice. Or you can choose ‘Custom’, copy the “Hey Mycroft” values across, and slightly reduce the threshold for activation. This takes some trial and error to tweak and find an appropriate value.

There’s more on the available Advanced Settings in our documentation.