Mycroft Community Forum

Error switching wake word

I tried to switch to a new wake word like hey jarvis.
However when I switch to it via the CLI I get this erro back:

2020-05-02 12:48:20.199 | INFO     |  3186 | mycroft.client.speech.listener:create_wake_word_recognizer:323 | Creating wake word engine
2020-05-02 12:48:20.199 | INFO     |  3186 | mycroft.client.speech.listener:create_wake_word_recognizer:346 | Using hotword entry for hey jarvis
2020-05-02 12:48:20.199 | WARNING  |  3186 | mycroft.client.speech.listener:create_wake_word_recognizer:348 | Phonemes are missing falling back to listeners configuration
2020-05-02 12:48:20.200 | WARNING  |  3186 | mycroft.client.speech.listener:create_wake_word_recognizer:352 | Threshold is missing falling back to listeners configuration
2020-05-02 12:48:20.200 | INFO     |  3186 | mycroft.client.speech.hotword_factory:load_module:386 | Loading "hey jarvis" wake word via precise
2020-05-02 12:48:22.024 | WARNING  |  3186 | mycroft.client.speech.hotword_factory:initialize:401 | Could not found find model for hey jarvis on precise.
2020-05-02 12:48:22.025 | INFO     |  3186 | mycroft.client.speech.hotword_factory:load_module:386 | Loading "hey jarvis" wake word via pocketsphinx
2020-05-02 12:48:22.026 | ERROR    |  3186 | mycroft.client.speech.hotword_factory:create_config:105 | PocketSphinx model not found at /opt/mycroft/mycroft/client/speech/recognizer/model/de-de/hmm
2020-05-02 12:48:22.030 | ERROR    |  3186 | mycroft.client.speech.hotword_factory:initialize:406 | Could not create hotword. Falling back to default.
Traceback (most recent call last):
  File "/opt/mycroft/mycroft/client/speech/hotword_factory.py", line 394, in initialize
    instance = clazz(hotword, config, lang=lang)
  File "/opt/mycroft/mycroft/client/speech/hotword_factory.py", line 91, in __init__
    self.decoder = Decoder(config)
  File "/opt/mycroft/.venv/lib/python3.6/site-packages/pocketsphinx/pocketsphinx.py", line 277, in __init__
    this = _pocketsphinx.new_Decoder(*args)
RuntimeError: new_Decoder returned -1

Here the entry in the config file:

"precise": {
    "dist_url": "https://github.com/MycroftAI/precise-data/raw/dist/{arch}/latest",
    "model_url": "https://raw.githubusercontent.com/MycroftAI/precise-data/models-dev/{wake_word}.tar.gz"
  },
  "hotwords": {
    "hey jarvis": {
      "module": "precise",
      "sensitivity": 0.5
    }
  }

Hi, I’ve seen that happening if you’re running a different language than en-us (the default). Is this the case for you?

jep thats the problem. So as a fix I did a copy of the en-us folder to the de-de folder and now it works… strange but seems to work wright now but this can’t be the solution?

We should probably add a fallback to the english version we ship if the language specific model doesn’t exist.

yes definitely, since like “hey jarvis” you can’t pronounce this in my case in German so I will still try to say it in “proper” english anyway

I created an issue for it in the mycroft-core repo

If you feel like tackling it you’re welcome to do so.

thx a lot for opening the issue

So is ‘Hey Jarvis’ in the Precise community database? I was PocketSphinx had to be used, and no Precise models have been created.

Not at this time, but feel free to send some samples and we can create a precise model for it.

1 Like

@baconator The reason I am asking is because of @gekoch original question. Look at his original question. He is using Hey Jarvis as his wake word in a Precise model. He is listing GitHub Precise locations for his model training. Am I missing something? Did he make his own wake word?

Based on the initial URL, if you have a look to the GitHub repository on the models-dev branch[1] you can see the list which doesn’t contain Hey Jarvis model.

Maybe it has been removed, the repository doesn’t seem to be up-to-date.

[1]https://github.com/MycroftAI/precise-data/tree/models-dev

1 Like

@goldyfruit , I appreciate the response. When I stumbled up on this thread I was confused that @gekoch was using Hey Jarvis in a Precise model, but I couldn’t find it in the repository.