Mic works, wake word doesn't

Hi all, first post and I’m less than a week into Mycroft so bear with me if this is poorly formatted or phrased.

I’m running Picroft on a Raspberry Pi B3+ with a Matrix Voice Hat with audio output coming through the 3.5mm jack on the Pi. I flashed Picroft onto the SD card with an image from the Mycroft site on my PC.

As the title describes, I am able to get my microphone to pick up fine, tried setting timers and it can hear me decently, even without speaking loudly or directly next to it and always picks up what I’ve said nearly perfectly. However I have only managed to trigger the wake word twice in the last 8 or so hours of fiddling I’ve done, even speaking softly and directly into the microphone from 6 inches to a foot away.

I have attempted to change the volume via alsamixer and tested maybe 8-10 different input level combinations, as well as tried “Hey Mycroft” and “Hey Jarvis” as my wake words. I’ve tried changing from PocketSphinx to Precise, and I’ve tried programming in my own basic Sphinx wake word, with no luck. I’ve used ‘mycroft-config edit user’ though admittedly I don’t know what settings are optimal there. I’ve used arecord -d 10 test.wav and aplay test.wav to test, as well as the mycroft-mic-test and both indicated the microphone is recording, albiet somewhat quiet, even though the capture setting in alsamixer for my matrix voice is at 75% currently. I’ve checked to see if any skills are malfunctioning, and the only one that fails to load is the stock skill, so I don’t see how that could factor in. I have had some undervoltage warnings from the RPi, the new PSU is on the way, but I don’t think this should be causing any issues if the mic is still being picked up.

Does anyone have any advice for this? I’ve browsed the forum fairly extensively over the week and tried the various solutions listed above as recommended in various similar situations. I’d include logs but honestly I’m too new to mycroft to know which ones are important here, so let me know which logs could help.

Thanks in advance.

I had the same problem with the wake words. I am using a pi4. I ended up uninstalling and reinstalling. My device end up waking and working fine. It may have be something in software or I may have done something. I’m sure there is a way to fix the issue with coding,but I didn’t want to reinvent the wheel. It worked and I’m happy.

The Voice documentations’ trobleshooting section rerouting to HAL code examples.
https://matrix-io.github.io/matrix-documentation/matrix-hal/examples/microphone/

Maybe you find an answer with these. At least you can determine where the problem is coming from. mycroft or hardware.

What comes to my mind is the sensitivity (precise) resp. treshold (pocketsphinx) option in the conf.

"hey mycroft": {
        "module": "precise",
        "phonemes": "HH EY . M AY K R AO F T",
        "local_model_file": "~/.mycroft/precise/models/something.pb"
        "sensitivity": 0.5,  // Higher = more sensitive
        // "trigger_level": 3   // Higher = more delay & less sensitive

        //"lang": "en-us"
        //"threshold": 1e-90
        },

Sorry for late reply, first week back at class has me busy.

I tried fiddling with this setting a little but not knowing a great deal about what I was doing I only tried altering the threshold setting to: “1e-50” and “1e-30”, I believe that would be the proper adjustment but I did have difficulty understanding the guide on the topic that I read.

I’m going to try a fresh install today to see if that resolves the issue, and then if not I suppose I will try working with the threshold setting more and failing that, see if it’s a problem with the matrix voice itself, though I previously had it running flawlessly with a snips.ai installation previous to this, so I’m a little unsure why it would be having issues now.

Thanks again, I’ll report back whatever I find.

if you use the default (initial) settings, you should adjust first and foremost sensitivity, since pocketsphinx (which uses the Phonemes; with the tuning option “threshold”) is only the fallback option. Precise is way more acurate, hence the better wake word listener.

If sensitivity resembles the trained model sensitivity (i’m still waiting for a confirmation on that) then the default is “0.2”. Work your way up from there.

Never played around with trigger_level, but if sensitivity fails, you might want to give it a try

The threshold is for pocketsphinx.

After the fresh install, everything seems to be working, though I’ve had some weird occasional failures to connect to the internet. Seems to have fixed the problem.

1 Like