synesthesiam / rhasspy

Rhasspy voice assistant for offline home automation
https://rhasspy.readthedocs.io
MIT License
948 stars 101 forks source link

snowboy sensitivity #103

Closed KiboOst closed 4 years ago

KiboOst commented 4 years ago

Hi,

We can set sentivity of snowboy wakeword by 0.1 Dunno if it's limited by a lib or so, but in Snips there was big difference between 0.51 and 0.53 for example. I had fine tuned them a few times before getting a good parameter. It seems that regarding snowboy, I have a similar problem between 0.5 which get too many false positive, and 0.4 which isn't sensible enough.

synesthesiam commented 4 years ago

I'm passing the sensitivity directly into the snowboy Python code, so I'm not sure what happens after that. Does anyone else have any experience with this?

KiboOst commented 4 years ago

In C source it is a const string. Then in some python examples it is multiplied by model length sensitivity = [0.5]*len(models) So depending on model length I guess it isn't limited to 0.1 step, just a float.

In a java example there is:

snowboyDetector.SetSensitivity("0.45"); // Sensitivity for each hotword snowboyDetector.SetAudioGain(2.0); // Audio gain for detection

Also saw in python demo4.py example: detector = snowboydecoder.HotwordDetector(model, sensitivity=0.38)

I guess we could allow hundredth and run some test. Testing between 4.01 and 4.99 should be sensible. Doesn't seems to be rounded anyway.

synesthesiam commented 4 years ago

Oh, I think I understand the problem. If you installed with a virtual environment, you may not be seeing the latest web UI changes.

Grab the latest rhasspy-web-dist.tar.gz and extract it into your rhasspy folder. It should overwrite stuff in rhasspy/dist.

KiboOst commented 4 years ago

Ahah yes !! Ok snowboy sensitivity is now float. And, I now can see all sentences ini files ! Would it be possible to have this for slots files alos, instead of one merged files ? This make things lot more organized.

Thanks!

synesthesiam commented 4 years ago

Should be possible. Might be easier to use than having to type JSON in directly. The files are already actually split out in the slots directory.

KiboOst commented 4 years ago

Yes, all my slots are separate files into /slots folder.

Now I would really be able to use several /intents files to begin testing rhasspy with all my intents so I can really see how it works and if he handle the right intents regarding what I say.

I have updated the issue regarding this multiple intent handling bug, which is not related to having separated intent files as I tried to detail here: https://github.com/synesthesiam/rhasspy/issues/97

synesthesiam commented 4 years ago

Added to TODO list