Wake word will not work

Isn’t this typical precise binary / model version mismatch behaviour ?

please elaborate on this

Precise-runner is the binary that is listening to the wake word. The code of it resides here;

The default branch is “dev” which is also at version number 0.3.0 if you compile it. The “master” branch which is already a bit older is version 0.2.0

The binaries of them can be downloaded from this repo;

The “dist” branch is where the binaries are being downloaded from.The armv7 CPU architecture is version 0.2.0 however if you look at the aarch64 CPU architecture it downloads actually a 0.3.0 version as aarch64 wasn’t available as of yet during that time.

The models used for version 0.2.0 are downloaded from the “models” branch. The models for the 0.3.0 version are actually downloaded from the “models-dev” branch.

There is some logic within mycroft-core that checks the CPU architecture and downloads the right binary and/or model. Precise-runner is I believe downloaded via PIP from PyPi which again is the stable 0.2.0 version.

Considering all the strange wake word is not working reports lately and the now widely available 64bit and therefor aarch64 architecture, I suspect that download logic within mycroft-core messes things up.

Perhaps mycroft downloaded the precise-runner 0.2.0 binary with a 0.3.0 model, or vice versa.

Just my thoughts on the matter…

Anyhow as @gez-mycroft is dancing with crocodiles perhaps @forslund can have a deeper look at the code and the logic behind it.

Would one be able to downgrade to a last known working version? Where can I get the images?

All linked in above post. See the different branches: dist, models and models-dev.

Precise will be downloaded to ~/.mycroft/precise

You can ceck the downloaded files there.

Of note is that models are not compatible. Models created by Precise 0.3 can not be used with Precise 0.2. I do believe older models like 0.2 can be used with 0.3, so if it is the case that 0.3 has somehow mistakenly been installed it should work, even with older models, however, if an 0.3 model is being installed because it thinks it is 0.3 due to the runner, but the runner is really using a 0.2 engine (perhaps because of a work-around) that could cause an issue.