Matrix Voice + Snips Sam working: No Wakeword detection

Hello Guys,

i followed the instructions on Snips.ai and other Sites to get the Matrix Voice running with Snips. (Raspberry Pi 3 + Matrix Voice)
Everything works fine.
-Microphone and Speaker are running.
-I hear my Voice after recording and now it is time to get this Assistant running.

But when i start “sam watch” and say the Workword “hey_snips”, nothing happen. I have searching the whole Internet and doesn´t find an answer.

Could someone help me?

Thank you very much!sam%20status

Today I installed the Snips-Demo. But same as Weeks before, no Wakeword will be detected. Is something wrong with the Matrix Voice? (It’s an EPS32) Hardware and Test still with function. Microphone records my Voice an the Speakers will repeat it.

But i became this Error while installing the Demo:

Running setup.sh & generating virtual environment for Snips-Wetter
:heavy_multiplication_x: Error setting up virtualenv, one or more actions might not be able to run. Reason :
DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 won’t be maintained after that date. A future version of pip will drop support for Python 2.7.

Hi @gigggo,

Welcome to the community!

Since microphone and speaker testing is working, your MATRIX Voice should be fine.

The first screenshot you provided indicates services on the Snips side are not running properly, specifically snips-analytics in that image.

Are all the services running now if you type sam service log into your computer’s terminal after connecting to the Raspberry Pi?

Regarding your second post, it seems the Snips weather demo is using Python 2.7 which will be deprecated soon, so the error is asking you to move away from Python 2.7. Here is a post on the Snips forum of someone trying to upgrade their Snips assistant to Python 3.

If you are just starting out with Snips, it might be easier to follow our examples to make an assistant and listen to the intents through JavaScript. You can find an example of how to do this from our iron man arc reactor guide on Hackster.

All that said, I have not received this error before, so I will try to replicate it and let you know if I can find out more.

Hope this helps!

Best,
Samreen

Hello Samreen, thank you very much for your Reply!
Sorry for my late Answer, im very busy this time, So i will test it soon and give you an Answer. :slight_smile:

Best,
Gigggo!

Hello Community,

some testing later the Snips-Audio-Server won´t working.

Last thing i have done is setting up the Solutions on Post: Tengus Issue

But still no Solution.

Here is my Service Log:

Jun 09 08:58:30 raspberrypi systemd[1]: Started Snips Audio Server.
Jun 09 08:58:30 raspberrypi snips-audio-server[1983]: INFO:snips_audio_server_cli: Starting audio server on mqtt for site default
Jun 09 08:58:30 raspberrypi snips-audio-server[1983]: INFO:snips_broadcast_mqtt_server: Starting broadcasting audio on hermes as site “default”
Jun 09 08:58:30 raspberrypi snips-audio-server[1983]: ALSA lib confmisc.c:1281:(snd_func_refer) Unable to find definition ‘defaults.bluealsa.device’
Jun 09 08:58:30 raspberrypi snips-audio-server[1983]: ALSA lib conf.c:4528:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
Jun 09 08:58:30 raspberrypi snips-audio-server[1983]: ALSA lib conf.c:4996:(snd_config_expand) Args evaluate error: No such file or directory
Jun 09 08:58:30 raspberrypi snips-audio-server[1983]: ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM bluealsa
Jun 09 08:58:30 raspberrypi snips-audio-server[1983]: ALSA lib confmisc.c:1281:(snd_func_refer) Unable to find definition ‘defaults.bluealsa.device’
Jun 09 08:58:30 raspberrypi snips-audio-server[1983]: ALSA lib conf.c:4528:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
Jun 09 08:58:30 raspberrypi snips-audio-server[1983]: ALSA lib conf.c:4996:(snd_config_expand) Args evaluate error: No such file or directory
Jun 09 08:58:30 raspberrypi snips-audio-server[1983]: ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM bluealsa
Jun 09 08:58:30 raspberrypi snips-audio-server[1983]: ALSA lib pcm_hw.c:1713:(_snd_pcm_hw_open) Invalid value for card
Jun 09 08:58:30 raspberrypi snips-audio-server[1983]: ALSA lib pcm_hw.c:1713:(_snd_pcm_hw_open) Invalid value for card
Jun 09 08:58:30 raspberrypi snips-audio-server[1983]: ALSA lib pcm_hw.c:1713:(_snd_pcm_hw_open) Invalid value for card
Jun 09 08:58:30 raspberrypi systemd[1]: snips-audio-server.service: Main process exited, code=exited, status=1/FAILURE
Jun 09 08:58:30 raspberrypi systemd[1]: snips-audio-server.service: Unit entered failed state.
Jun 09 08:58:30 raspberrypi systemd[1]: snips-audio-server.service: Failed with result ‘exit-code’.

Hi @gigggo,

Have you downgraded your Linux kernels to 4.14? You can check with uname -a, and if it’s not 4.14, please follow the instructions here to do so. We are working on a fix, but currently the MATRIX kernel modules are still having compatibility issues with ALSA on the latest Linux kernels.

Next thing to check is what hardware card & device number your MATRIX sound card is on & ensuring /etc/snips.toml & /etc/asound.conf are consistent with that. Type the following & let us know the output.

arecord -l

Generally, we find the MATRIXIO-SOUND card to be card 2, device 0. It may be different and whatever it is that you find from the above command, it has to be changed to that configuration in /etc/snips.toml & /etc/asound.conf. Also double check if the sound card name is MATRIXIO SOUND or MATRIXIO-SOUND (small difference with or without dash, but will not work if not consistent with snips.toml!)

Hi Samreen,

thank you so much for your support!

  1. Here is my kernel:

pi@raspberrypi:~ $ uname -a
Linux raspberrypi 4.14.98-v7+ #1200 SMP Tue Feb 12 20:27:48 GMT 2019 armv7l GNU/Linux

2./etc/snips.toml: (ignore “;”, it is just for blockquote)

[snips-audio-server]
;# frame = 256
;# bind = “default@mqtt”
mike = “MATRIXIO-SOUND: - (hw:2,0)”
;# disable_playback = false
;# disable_capture = false

  1. /etc/asound.conf

pcm.!default {
type asym
capture.pcm “mic”
playback.pcm “speaker”
}

pcm.mic {
type softvol
slave {
pcm “array”
}
control {
name “MicArray Master”
card 0
}
}

pcm.speaker {
type plug
slave {
pcm “hw:0,0”
}
}

pcm.array {
type plug
slave {
pcm “hw:2,0”
}
}

4.arecord -l

pi@raspberrypi:~ $ arecord -l
**** List of CAPTURE Hardware Devices ****
card 1: Dummy [Dummy], device 0: Dummy PCM [Dummy PCM]
Subdevices: 8/8
Subdevice #0: subdevice #0
Subdevice #1: subdevice #1
Subdevice #2: subdevice #2
Subdevice #3: subdevice #3
Subdevice #4: subdevice #4
Subdevice #5: subdevice #5
Subdevice #6: subdevice #6
Subdevice #7: subdevice #7
card 2: SOUND [MATRIXIO SOUND], device 0: matrixio.mic.0 snd-soc-dummy-dai-0 []
Subdevices: 1/1
Subdevice #0: subdevice #0

Thank you for your answer.

Gigggo

Ah, there’s the issue. In your /etc/snips.toml file, change this line

to match the name of your MATRIX sound card in arecord -l. It is this way since you are on MATRIX kernel module version 0.1.4.

mike = “MATRIXIO SOUND: - (hw:2,0)”

Then everything should work magically! Let me know.

Best,
Samreen

it-lives

Thank you very much!

2 Likes