Wake word not working with any system

Hi all,

I’m new to Rhasspy and very happy about it because it looks just like the solution I was looking for.

I’ve searched the forum and found some similar threads, but none seems to fit, so here goes.

I’ve installed Rhasspy using Docker on a Rasperry Pi 4 running Ubuntu Server 20.04. It’s the current version 2.5.5, and everything seems to be working fine but the wake word system. I can’t figure out what the problem is.

I’ve tried more or less all the system available. If I manually trigger the “Wake Up” in the GUI, it’s listening to me and correctly detects the intent, even returns the correct values from my Home Assistant instance. So the audio recording works.

If I try porcupine, it does not load any Available keywords (the request times out after a while), and also the file porcupine.ppn seemingly cannot be loaded from the fs even if it is there (I looked it up in the running container).

[DEBUG:2020-08-25 09:24:41,332] rhasspywake_porcupine_hermes: Namespace(debug=True, host='localhost', keyword=['porcupine.ppn'], keyword_dir=['/profiles/en/porcupine'], library=None, log_format='[%(levelname)s:%(asctime)s] %(name)s: %(message)s', model=None, password=None, port=12183, sensitivity=['0.5'], site_id=['default'], stdin_audio=False, tls=False, tls_ca_certs=None, tls_cert_reqs='CERT_REQUIRED', tls_certfile=None, tls_ciphers=None, tls_keyfile=None, tls_version=None, udp_audio=None, username=None, wakeword_id=None)
[DEBUG:2020-08-25 09:24:41,333] rhasspywake_porcupine_hermes: Loading porcupine (kw=['/usr/lib/rhasspy/rhasspy-wake-porcupine-hermes/rhasspywake_porcupine_hermes/porcupine/resources/keyword_files/linux/porcupine.ppn'], kwdirs=['/profiles/en/porcupine', '/usr/lib/rhasspy/rhasspy-wake-porcupine-hermes/rhasspywake_porcupine_hermes/porcupine/resources/keyword_files/linux'], sensitivity=[0.5], library=/usr/lib/rhasspy/rhasspy-wake-porcupine-hermes/rhasspywake_porcupine_hermes/porcupine/lib/linux/x86_64/libpv_porcupine.so, model=/usr/lib/rhasspy/rhasspy-wake-porcupine-hermes/rhasspywake_porcupine_hermes/porcupine/lib/common/porcupine_params.pv)
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 "/usr/lib/rhasspy/rhasspy-wake-porcupine-hermes/rhasspywake_porcupine_hermes/__main__.py", line 274, in <module>
  File "/usr/lib/rhasspy/rhasspy-wake-porcupine-hermes/rhasspywake_porcupine_hermes/__main__.py", line 142, in main
  File "/usr/lib/rhasspy/rhasspy-wake-porcupine-hermes/rhasspywake_porcupine_hermes/porcupine.py", line 72, in __init__
    library = cdll.LoadLibrary(library_path)
  File "/usr/lib/python3.7/ctypes/__init__.py", line 442, in LoadLibrary
    return self._dlltype(name)
  File "/usr/lib/python3.7/ctypes/__init__.py", line 364, in __init__
    self._handle = _dlopen(self._name, mode)
OSError: /usr/lib/rhasspy/rhasspy-wake-porcupine-hermes/rhasspywake_porcupine_hermes/porcupine/lib/linux/x86_64/libpv_porcupine.so: cannot open shared object file: No such file or directory
2020-08-25 09:24:41,417 INFO exited: wake_word (exit status 1; not expected)

The only system that offers me Available keywords is MyCroft Precise, but it’s still not detecting wake words.

So my gut feeling is that

  • either there is sth. wrong with the wake word component
  • or with my audio setup

I’m a dev so I can look into stuff myself but since I don’t know much about Rhasspy yet, I’m at a loss where to look. I’d be happy to provide more info on request.


One which chipset are you running rhasspy?

Sorry, I don’t understand your question, @david1998

What chipset do you mean?

Which architecture does your CPU has? Because porcupine only runs on AMD64, armhf, armv6. And snowboy runs also only on some architectures.

Interesting, thanks for the info.
However, the Porcupine Readme states that all Raspberry Pi variants are supported. Mine has an ARM Cortex-A72 (aarch64), but I don’t know if there are any issues using the Docker image (or Ubuntu 20.04 as host OS).
In any case, wake words using Raven work sufficiently well for now, so I’m gonna stick with this for the time being.
But I will keep an eye on Porcupine and Snowboy, too.

Just a quick comment: picovoice works for Raspberry Pi but you need to pay for it in that case https://picovoice.ai/console/ and Snowboy will be removed at the end of this year: https://github.com/kitt-ai/snowboy

1 Like